8 Tips On How To Hire Great Software Engineers
In my 20 years of experience in recruiting the best software engineers for companies like Google, Microsoft and HP I’ve learned a great deal about how to successfully engage the top developers and getting them to join and make the difference in your wonderful company and mission.
Understand the difference between Active and Passive
Great jobs find great engineers. Active candidates are those who are proactively looking for a job. Passive are those are currently employed but potentially could be open to changing companies. I hate to break this on you but it takes 20 active candidates to make one offer while 1 in 3 passive candidates gets one. While this does not mean you should completely ignore active candidates it does mean that finding the best developers goes beyond just creating a pretty careers page and waiting for them to come to you. You must go to them.
Sexy Products help a great deal
Top notch engineers want much more than just a great salary. They want purpose. They need to feel like what they are doing is making a difference. When talking to them always start by telling them about your mission and passion.
Depending on where you are, be open to remote working developers
More and more research is showing how developers that work remotely can be just as or more productive than on-site ones. While this may vary depending on your industry and product you should definitely be open to it especially if you are not in an attractive location.
Focus on the value, not the cost
This article is about hiring top engineers. If you were looking for engineers in a limited salary range you wouldn’t be reading it in the first place. Great engineers know their worth. Having said that focus your research on value. Try to have a conversation with the candidate on how they will make a difference. In what way will they contribute towards your product.
Be picky but flexible
Never compromise on quality. It’s important to set hiring standards and create an effective recruitment process. But don’t make it written in stone. See beyond the process and listen to the candidates. Great engineers differ in many ways and you don’t want to miss out on a 10x developer just because their interview didn’t tick every single box. Always keep in mind some of those boxes might not need to be there in the first place.
A good coder is a good coder
In my experience, I’ve seen countless companies miss out on what turned out to be top notch developers just because they didn’t have the required experience with a given framework or programming language. Great developers are software engineers. Meaning they understand the fundamental principles on writing great code. Programming and scripting languages are not much more than different syntax. When interviewing focus on the software fundamentals like Domain & Industry knowledge, software development approaches (DDD, BDD, TDD, etc) not the framework or programming language itself.
The best software engineers want to learn
If a developer tells me he knows it all then I immediately identify him as not a great developer. The best developers are hungry for knowledge, they want to learn about the latest and best technologies and approaches. Don’t underestimate the value of stimulating their curiosity by sponsoring tech-event participations and or allowing for hackathon time slots during their work hours.
Last but not least: no man is an island. I’m sure you’re proud of the team you have already onboard – let them introduce themselves and make sure both sides are excited about the prospect of working together in the future