Every article I’ve read about hiring the “right” developer has a different perfect solution. But to me, the best developers I’ve ever worked with have had the same quality.
You can write a perfect job description, requiring your complete engineering stack, and still fail to find the right fit. Learned frameworks and libraries are always appealing, especially when they meet your current needs, but there’s something that will always outweigh keywords thrown into a resume.
My ex-employer told me something I'll never forget, and have taken to heart.
“You can’t teach someone to give a shit”.
It’s something you can’t fake, but it’s a quality that’s hard to test for. How do you know someone cares deeply about the problems they’re solving? How can you screen potential employees to see if they care as much as you do about solving the companies problems? You don’t.
This trait isn’t something found in the interview process, or even in the first couple of months of work. It’s something determined over time, and it’s something you should reward.
I’m not talking about bonuses, ping pong tables or weird company retreats that HR always seems to shoehorn “team building” into.
Ask what you can help your star player improve their quality of life. Are they interested in a new technology? Maybe there’s something in the companies workflow that’s more work than it’s worth. Maybe they just don’t like the time of the weekly stand up.
By no means are you beholden to these asks, and some things developers want are completely ridiculous. I should know, I have strong opinions on things that don’t really matter. However, you’re finding the pain points of someone that you don’t want to lose.
You can’t teach someone to care. When you stumble upon employees that do, make sure to keep them around.