Research vs Product Software: Key Differences Explored

When I talk to engineers about the differences between building research software and commercial products, I often get a knowing nod. But when I press them on specifics, the conversation gets murky. “research software is messier,” they’ll say. Or “product software has to scale.” These are true, but they miss the deeper structural differences that shape how we build, maintain, …

Working at Big (FAANG) vs Small Tech Companies

What are the pros and cons of working at big vs small tech companies? Around mid-2020 I was back at Microsoft after leaving Facebook and taking a break. I was leading the applied science team for Machine Teaching, working with a great group of people. But suddenly there was a big re-org. Teams were split, projects canceled, and I found …

priority list

Prioritization: Rank, don’t bucket

It’s the start of the sprint or milestone and everyone has come up with plenty of things to work on. The task list is long and as usual, resources are limited. So what we do? Let’s have a meeting to prioritize all the work items! I’ve attended my fair share of these meetings and they typically take one of two …

The Research Software Design Engineer – there and back

At Microsoft Research (MSR) there’s a not-so-well-known role: the RSDE (Research Software Design Engineer). In this post I cover my experience going from SDE to RSDE and back to SDE, as well as the pros and cons. My path to RSDE Even before I joined Microsoft I was fascinated by a lot of the work being done at MSR. As …