Managers and coding: “it depends”, but go for it anyway

🌶️ Hot-take: if you’re a manager and find you1 miss building…then build2!

  • On your time: mornings, weekends, national holidays.
  • Whatever you want: tools for yourself, something frivolous, something practical.
  • However you want: in an esoteric technology, in a boring technology, in a domain you’ve always wanted to explore, with LLM copilots, building every piece from scratch, without using conditionals, whatever!

Avoid:

  • Swooping into your team’s current projects3.
  • Imposing your discoveries/ideas on unrelated code reviews.
  • Inventing projects and putting yourself on the critical path.
  • Building and handing off a proof-of-concept to an unsuspecting teammate to finish.
  • Thinking the grass is greener on the hands-on/IC side.

Don’t react to the bad parts of your previous role. It’s increasingly tricky to ride the pendulum between IC and leadership roles. You may only get to pull that lever once. Maybe building something for yourself will temper the temptation to go back to an IC role.

Instead, see if you can scratch whatever hands-on building/coding/designing itch you have in your time. You’ll necessarily have to scale it down. Honestly, that’s a great constraint! If you tried to build something big, you’d have to lead and manage it and, if you recall, that’s what we’re taking time away from in the first place here.

Follow your curiosity. The very best part about building on your time as a manager is you don’t have to make great decisions. Whatever is of interest, go with it.

Want to build a compiler, but you work in web apps? Go for it. Want to build a game, but you work in compilers? Go for it. Want to build an asset tracking web app in a really particular way, but you work in games? Go for it. Want to write in Haskell, but you work in Ruby? Go for it.4

Go for it.


  1. As always, when I say “you”, I mean “you, the reader”, which is often “my previous or future self”. 🙃 ↩︎

  2. Previously:  Managers can code on whatever keeps them off the critical path ↩︎

  3. Don’t get yourself back on the critical path of projects. Your time and energy operate within different constraints now, and they’re largely incompatible with being deep and hands-on with the code. ↩︎

  4. Caveat: you are about to have a lot of arguments with a new nemesis, the compiler. ↩︎

Adam Keys @therealadam