“Rethinking the Developer Career Path” is a great talk by Randall Koutnik. He asks what senior means, what it should mean, and suggests a different way of describing the career path of a software engineer:
- junior — solution implementer 🔨
- mid-level — problem solver ⚙️
- senior — problem finder 🔎
I absolutely loved this talk. It really resonated with me right now, and I actually see my role in a much clearer light after watching it. Now I know what to both ask for and expect:
- Don’t give me tasks, give me context and autonomy.
- I will discover the problems and prioritize.
- …and then I will break them down, solve and implement.
I have experience with differently shaped problems and that experience is best utilized if I can work on finding problems — not just implementing solutions. But sometimes this goes wrong in the field of user interfaces, and Randall so very eloquently describes this as…
The UI squeeze 😱
This is what happens when designers are expected to be the problem solvers — while developers come in at the end as solution implementers. And if this happens, regardless of the levels of experience, you get a high turnover rate among UI engineers and a lot of technical debt.