I’ve been thinking a lot about tech hiring and why it’s a crap-show for so many. I’ve posted my thoughts on staffing software engineers but I have some musing on the way hiring is done today.
Unfortunately, I know a lot of people who have been laid off from their tech jobs. The industry is going through another round of cutting costs to increase valuation (in my opinion). Few of these companies are in distress, but it seems that occasionally cutting a bunch of costs makes stock prices increase. It’s the game, I guess. But it’s made me reflect on the state of hiring Engineering talent right now.
I’ve been hiring a lot of folks. Some upskilling, some increases in staff, and also some replacement of people that have retired. I like to recruit, and I think I’m pretty good at it. I have a solid track record.
So… what do I do that I think makes me successful at this? I think it’s because I take the approach that it’s a two-way street.
Why Tech Hiring is Broken
I think that a lot of companies are operating from a mindset of “we have the job, the candidates want the job, they will come to us.” The whole “post a job listing and have folks apply” reflects that. There is an implicit power dynamic shifted strongly to the employer. And I think a lot of recruiting efforts reflect that mindset.
The extreme cases are like what Meta does: you apply for a job with the company without even knowing what team you may go to. Really? You may end up on a team with a manager and others who you really don’t jive with. It’s a reflection of the idea that Engineers are somewhat fungible (or business wants them to be). This is consistent with the entire Industrial Revolution. And it underscores that the power dynamic is with the larger company. But why? They pay high comp packages.
I do sometimes wonder if the large high-end tech company strategy is to hire a lot of who they think are good, even if the only reason is to deprive the competition of them. Vacuum them up in droves and then every few years lay off - often just as indiscriminately - in the hope of keeping the better and losing the weaker. Maybe it’s just a seive?
Things Are Changing
Increasingly AI will be building a lot of the software that today’s rank and file large teams build. Folks coding to a spec, especially offshore teams, will see that most of that kind of coding will be done with AI.
I won’t belabor with examples, but there’s a million times where you DON’T know how to solve the problem and/or you can’t just make a “prompt” that asks for the answer, or even worse there isn’t anything that could have trained an AI model with because you are doing something very new. The Software Engineers you want to be hiring are the ones that thrive doing those things. And they are not average. They are special.
So. You want to hire the special ones, but you think you will attract them by just posting jobs and then weeding out the avalanche of applications to find the gem in the pile? How’s that working for you?
My Approach
I’ve been hiring that kind of Engineer for decades. I have always believed that a small team of experts will dance circles around a large team of average developers. I talk about this in my thoughts on staffing software engineers..
I believe that hiring is a two-way street. I want candidates to know who they would be working with. I encourage them to ask a lot of questions in the interview process. I personally meet with the senior folks and spend a lot of time with them. I try very hard to meet for coffee, lunch, dinner, or a pint and get to know them. I want them to know my management style (discussed in my own README). I want to know them as a human and as an Engineer. I’ve had 40 people give me strong recommendations on LinkedIn, and I want candidates to read those.
The good Engineers want to work on a great team with great people. They want to know who the leaders of those teams are. They want to BELIEVE in the mission of that group and company.
You don’t get that by basically line fishing for Engineers with postings. I suppose it’s worked “well enough” for most though. Through trial and error.
I believe you need to seek out the Engineers you want. This sometimes means working with recruiters. These last few years I have had fabulous success working with SoCode - who are now also in the US. Richard Mould has built an excellent team that actually listen and adapt to my needs. Our de-facto account lead Charles Swift and his colleagues go the extra mile to really understand our business, our goals, our team, and the style of organization I am striving to build. We meet regularly, sometimes for pint (or two). They live and breathe the philosophies I am describing here. I highly recommend them.
I do my own searches too, and I try to attend conferences and trade shows and meet new people and talk to folks recommended to me. I’m constantly recruiting, even if I don’t have any openings. And I tend to have Engineers follow me to wherever I move on to.
It’s a high touch, high effort game, but I like my results. Every team I have built I would work with again in a heartbeat. They all make great product, they work together well, and often they stay close long after they are all at the same company. Those are the teams that companies really need. That is what companies should be hiring for.
In short, it’s understanding that it’s a two-way street. The Engineers you want and need really need to want to work for you. They need to know you, and what you want to do, what your values are. The power dynamic is more balanced. Things need to work for both parties. Yes, it is often hard to compete with huge comp packages. But many of those really good Engineers care just as much about the environment they will work in. And who they work for. And that’s incredibly hard to evaluate at the huge companies. And that’s assuming they don’t re-org and move around all the chairs.
Hiring takes many hours. And real effort. And honesty. And transparency. You have to be a real person, talking to Engineers like they are real people and not just a replacable gear in a system of gears making up a giant clock. You have to be able to explain your business and especially how the work the candidate would do helps that mission.
You have to communicate. Not just harvest applications and sift through a pile and hope you get a good set to then interview. It takes way more work than that.
The good Engineers are not fungible. And they are hard to replace. Companies should invest appropriately.
And in a future post: how to translate this to large companies!