Let me make your roadmap discussions harder

If you're hiring engineers, you feel it.

While schools and bootcamps are pumping out a raging torrent of new engineers into the market, senior engineers are a small countryside stream trickling at it's own pace. Competent senior engineers have a buffet of companies (don't get me started on the smartest ones). Companies that have figured out how to extract maximum leverage from their developers pay top salaries and provide tell-your-mum-level opportunities for smart engineers to grow. This is a great feedback loop if it's yours, horrifying if it's your competitors'.

The tech you pick and how you care for it is part of your recruitment strategy whether you want it or not. I strongly support support choosing boring technology, but if you under-innovate; stoically pin yourself with some dusty old PHP framework, you're not going to attract smart people. On the other side, if you try to duct tape together a bunch of misshapen microservices you're (at best) not going to attract the right type of engineer. When you do finally find this poor soul, they're not going to be able to get anything done. You can - of course - find engineers who are happy to strap into whichever rollercoaster you've built, but not the ones that're going to help your business succeed.

I want to say the same thing for the quality of your code and the meta stuff around it: deployment, tooling, testing, ease of setup, etc. It might sound strange to some, but keeping your team happy and able to iterate quickly is part of your product strategy. If it takes multiple days to get tests running, and many months before more than 3-line pull requests can be produced, you're going to struggle.

Finally, your roadmap. Even with pristine code, intuitive and colour-coordinated tooling; if the team's roadmap is packed with impossible, boring, or too un-diverse work, it's un-motivating. If you're on a team who's product is in maintenance mode, I'm sorry, but this will not attract people who are interested in non-maintenance work. Having an ambitious roadmap with a mix of big and small bets is vital for keeping people engaged, performing well, and motivated. Have an ambitious, and generally interesting plan? It's going to attract ambitious and generally interesting people.

Others will not shout for this stuff for you. People outside of engineering don't have an intuitive feel for tech - old, new, high quality, low quality, good tooling, bad tooling. You need to make sure you have enough trust from the organisation where every decision is not questioned down to zero. Take this into account. Is your code quality up to scratch? Are you investing in good technology? If you were in each of your teams, would you be motivated?

© daniel everts, 2022