Individual Contributor (IC) engineers are unique in that they are the majority of any cross-functional development team, often outnumbering PM and design by 7-to-1 or more. This scale leads many to start to think of engineers as a commodity. This is a mistake.
For example, agile team planning sometimes tries to make engineering resources seem interchangeable. This is wrong. People have different skills and abilities. You want me to score this ticket? OK, it’s a low effort if Alice does it because she’s an expert, and we’ll literally never get it done if anyone else does it. Which field in JIRA should I fill in to represent this?
This commoditization of engineering is most problematic in hiring, because it compounds with other hiring issues.
The first hiring issue is that recruiting is difficult and ongoing, and people aren’t good at consistency, even for easy things; e.g. if you ask someone to send you an update every week forever, about ½ the people will just stop doing it after a month. When a consistent requirement is also difficult, those numbers get even worse.
The second issue is that people don’t deeply understand that you need to always try to hire great to be great:
- If you’re a high growth company your best years are always ahead of you. Your high-performing ICs are constantly building the foundation for the much bigger company that you’ll be in the future, and stronger ICs are much better at building strong foundations than merely adequate ones.
- Not only do you need to hire great people for your current team, you need to be hiring the leaders of tomorrow, today. In a year, when you break one team into two, you need each team to have a critical mass of tenured, excellent engineers.
- Top ICs and managers are extremely discerning about who they work with. If you don’t have very strong ICs you won’t be able to hire other great ICs or great managers. Because people want to work with people about as good, or better, than they are, at any given time you’re either slightly upleveling your team or slightly down-leveling your team’s quality.
Other pressures to fill seats include:
- A lot of people have egos and think they’re smart enough to just command legions of mid-level engineers into building the next Microsoft. This has never happened.
- Recruiting is incentivized to fill roles, and will be pushing to close out roles.
- Many manager performance KPIs measure how many people you hired, not quality.
- There are 10x engineers and leaders. This is a controversial topic for many because they are rare and require special environments, but once you have seen one, you know that they exist. You will not find them by hiring a bunch of ok people. You find 10x people by trying to hire great people all the time, and once in a while a truly unbelievable talent comes out of that hiring pipeline. Satya Nadellas aren’t lurking around in hiring pipelines owned by managers that just want a 7th engineer on their team to pad out the on-call rotation.
- There’s a strong sentiment from your team that they want you to say “we’re as amazing as we need to be.” Saying we need better people might scare some people into thinking they’ll have less opportunities. You need to set an unemotional standard that your org will keep raising its bar to find better and better people over time, which doesn’t diminish the current team, many of whom will rise to that level.
So where does this all lead us? People holistically underestimate the need to hire great all the time, and you need to fight that bias constantly, especially in light of organizational pressure to just fill seats. If you fail in this endeavor, you fall deeper into the trapping of commoditizing engineers, doing simple algebra for project planning, thinking you just need to hire someone good enough to hit your numbers.
If you’re building a great team you have hire like it, every day, every month, every year. You can’t take a week off. You can’t delegate this stuff. You need to have quality control on the people you’re bringing into a growing org and you need to be demanding and consistent. You sprained your knee last week? Doesn’t matter, hire great people. Honeymoon planning is stressful? Doesn’t matter, hire great people. Whatever it is, it is not an excuse to have a mediocre hiring operation.
As you bring great engineers into your organization, avoid treating them like input into an assembly line. Acknowledge skill differences instead of trying to pretend they don’t exist.
The second you start thinking engineers are interchangeable and undifferentiated is the second you destine your product to become interchangeable and undifferentiated, another middling footnote wondering what could have been.