I'm back in the blogging game! I was recently inspired by people like [Simon WIllison's reflection on blogging regularly and a link blog](https://simonwillison.net/2024/Dec/22/link-blog/), particularly his emphasis on sharing thoughts, even something that feels imperfect. I've had a few stops and starts in the past few years in blogging and this one feels different. The most important change for me is seeing the benefit of writing regularly for myself; helping to straighten out ideas circulating through my mind and as a creative outlet. I'm not going to make any commitments around cadence or topics, but I hope to contribute here at least weekly.
## Career Changes
In the latter half of 2024, I changed organizations at Microsoft, moving from the Healthcare and Life Sciences group (as a part of the Nuance acquisition) to the AI Platform organization, joining a newly formed AI Platform analytics team. Our charter is supporting data-driven decision making for the AI Platform products.
I started in 2019 at Nuance and it was both my first industry and data science job (I had previously worked in education research). I learned so much in this position and met some great people - I supported a site reliability engineering (SRE) team, working on topics such as capacity planning, root cause analysis, A/B testing, and anomaly detection for alerting. I enjoyed going deeper in the devops/SRE domain and picked up some knowledge and skills around CI/CD, infrastructure as code, and networking, to name a few areas.
Joining this new team in the AI Platform (AIP) organization has been an incredibly exciting change in my career. Over the past few years on my previous team, I became especially interested in causal inference (in both the observational and experimental contexts) and joining a team with such a wealth of knowledge in experimentation across many products at Microsoft has been a dream come true.
## Slowing Down and Going Deeper
If I had to summarize my current state of mind and direction in a couple of words, it would definitely be ''slowing down'. I'm also going deeper. My deep, I don't mean to imply better or higher quality. I'm talking about learning topics closer to the root of the domain knowledge tree, marching towards the concepts that underlie the fields of data and computer science.
### Why Slower?
I realized over the past couple of years that I waste a lot of time jumping into the data too quickly (a sentiment echoed by [Frank Corrigan in one of his recent substack posts](https://frankcorrigan.substack.com/p/think-first-data-second)). It is really easy to respond to a request, new question or hypothesis by opening up a notebook or script, running some queries and iteratively explore and model the data, generally in the direction of the problem you are pursuing. This works fine for simple or well-understood requests. However, once you get into more complex, fuzzier problems, it fails in a pernicious kind of way. You *feel* like you are being productive and working towards a solution, but often this is an illusion. It is *really really* hard to resist this temptation. Exploratory analysis becomes a way to procrastinate away the time you should be spending thinking about the core purpose and questions you are pursuing. We have been taught to engage in this sort of [pseudo productivity (ala Cal Newport) ](https://calnewport.com/my-new-book-slow-productivity/)as knowledge workers and feel guilty when your work doesn't involve writing code or producing a deliverable.
Recently, I've done a slightly better job of recognizing these kinds of situations and taking a step back to think. What does this mean practically in terms of how I'm spending my time? I write down everything I know and mindmap in a tool like [Mural](https://mural.co/?utm_medium=paid-search&utm_source=adwords&utm_campaign=11265145092&utm_term=mural&utm_adgroup=109231331743&utm_mt=e&gad_source=1&gclid=Cj0KCQiAv628BhC2ARIsAIJIiK8EsMJnxLAAQuA6MzDyfdWQhrhmETcfbmHIZuyOo17vKrq6023fl7oaAgYvEALw_wcB) and move nodes and edges around until my mind feels more settled. So far I've found that moving from frenetic attempts to appear productive to identifying what kind of work leads to much more business impact and work that I'll remember 6 months from now.
### Why Deeper?
Part of the reason for my focus on depth is I find my work is more satisfying when I have a better understanding of the underlying principles, mechanics, and mathematics beneath the methods I'm using. I'm also navigating what learning and progression looks like in the age of LLM-assisted programming and I'm forming a few hypotheses: first, abstractions are becoming less important because LLMs have good knowledge of the common components that make up software, for instance REST APIs and HTTP protocols ([similar to this point from Simon Willison](https://bsky.app/profile/simonwillison.net/post/3ldysepcaqs2s)). I find myself getting frustrated when a library that wraps an API doesn't support an argument in the latest API version or something is unclear from the library's documentation that is well-documented at the API layer. It's now much easier for me to load up the API docs and construct an HTTP request python's requests or R's httr2. Second, knowing the underlying principles makes getting help from LLMs much more productive, starting the response from the right area of the semantic space. I think they will continue to be tools that greatly reward domain expertise, serving as a productivity multiplier, while misleading those who are novices in the area they are seeking help. I could be wrong, but these are the bets I'm making today!