Four Stages of a Software Engineer

When I was back at Microsoft on the Office 365 team, there was a legend of sorts, apparently first uttered by our then-director, passed down by mouth to new developers. Before I write it down, it’s worth noting the title progression at Microsoft: Software Engineer 1, Software Engineer 2, Senior Software Engineer, then Principal Software Engineer. It’s a catchy way to remind us that software engineering is not just about solving problems, but also doing it in a way that is as simple and maintainable as possible.

SDE 1’s — simple problems, complicated solutions.
SDE 2’s — complicated problems, complicated solutions.
Seniors — complicated problems, simple solutions.
Principals — removes the problem altogether.

Originally published at on April 1, 2017.