“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.