Finding Software Developers
Finding Software Developers Lately, I’ve been on the hunt for great software developers. For me, finding someone to hire has traditionally been a multi-step process that goes something like this:
- Put together a job description that describes my company, the candidate’s skills, both hard and soft requirements, and expectations I have for that job candidate.
- Post the job on job boards or in programming communities (such as my local Ruby on Rails users group on meetup.com).
- Spread the job announcement to others I have worked with in the past and ask them if they know someone interested.
- Get momentarily overwhelmed with the influx of applicants that hit my inbox in first two days.
- Sort resumes and screen for fit and experience. Send them a background questionnaire that seeks to understand the candidate’s thinking and preferences and why he’s even programming in Ruby to begin with. This questionnaire is both for cultural fit and knowledge gauging.
- Start contacting for an initial interview on Skype.
- With each candidate, go over basics of the job and their history, experience and just grade and pass judgment on whether the candidate is a) likable b) knows his stuff c) in the right price range.
- After a round of first interviews, I short-list the candidates and decide who goes to the second round. To these candidates, I send a small technical challenge in Ruby language that is somewhat representative of the work they’ll be doing but is accomplished in 2 to 4 hours.
- When the results come back, I review their code and, if I like what they see, I schedule a 2nd Skype interview and basically grill them on their choices and approach to see how they handle pushing back.
- Finally, I pick the winner and hire them, and we get to work.
Theoretically.
This is the traditional hiring process. It’s similar to the way Google and other big names vet potential candidates and make a hiring decision.
It is also exhausting! Not to mention time-consuming. Even so, the reward is often worth it. Especially for your first full-time employee, who often can make or break a first-time entrepreneur’s business. But it’s also well worth it for growing the right culture within your company and having a great team with personalities that can work together effectively.
Then I realized something… I realized two things. First, I’m thinking the way big companies think when it comes to hiring. Which also happens to be the way business management school teaches you. One builds a company one sale and employee at a time. That’s just the way it’s done.
Secondly, I recognized rather backhandedly, that I’m not taking into consideration the wealth of talent the Internet can bring to my door in an instant. I didn’t quite recognize what I had just done in a blink of the eye. You see, I got on Upwork, a website full of virtual workers of all skill and range of talent. I took a quick look to see what Ruby on Rails developers existed on that site and to my surprise, I saw one guy that stood out from all the rest and endeavored to contact him to ask if he’d like to interview.
It was total accident what happened next. Upwork required me to define an actual job/proposal to send the guy to review, so I did that. But as I saved the changes to the job I was asked a very innocent question:
“Make this job public so others may apply to the job?”
I answered, “yes” and then started lining up the good ones for 30-minute interview session to walk through my very evolved hiring process as described above. Then something the fourth interviewee said completely pivoted my thinking: The developer I was interviewing simply said, “give me a shot at it. I’ll even do it for half my rate and show you.”
Damn! There’s a hungry one. That’s the kind of developer I need. Then it struck me further: I know the problem at hand. I need it solved fast. I need to find people that can not only solve, but solve it exactly the way I need it solved. I need people who just want to dive in and do it.
Does it matter when who they are and how long they will be around for the first effort?
Nope!
It flat out doesn’t matter that I go through this involved process. These people are working remotely. They’re self-managing. They want to do the job. The good ones are already thinking like entrepreneurs and have a passion for what they do. They’re also confident in their skills.
Ergo, I’m wasting a lot of time and effort to find “just the right guy.” I realized, if I tried five guys and they attempted the task for next to nothing, then I would have a far more efficient way of judging their capability, how they solve problems, their “can do” attitude and whether they understood me when I describe a problem.
I realized that if I just focused on getting the problem solved, the right resource is going to stand out from the rest of the pack. What I need instead of the long interview process is a way to snag the developers with all the right “can do” positive attitude. So after rethinking my approach, I tried the following:
- Schedule the promising developer for a 15 minute Skype interview.
- Give him the code to the project.
- Describe the problem, even showing him via screen share if necessary.
- Ask him to look things over and give me a fixed estimate to knock it out.
- Tell him upfront I have 3 or 4 other candidates doing the same.
- If he comes back with reasonable estimate, book him.
- Book 2 or 3 if necessary. May the best candidate win!
Wow, I just booked three guys in less than an hour and dismissed almost 12 serious contenders in that same timeframe as well. My selection came from a pool of more than 60 that I sorted by lowest rate to highest rate and cherry picked based on their introductory letter. And the best part, I made far more progress in about an hour than what I accomplished in first 2 hours on just four candidates.
Those that weren’t confident or would probably be challenging to work with either didn’t understand the problem as I described it, or became pushy that they should be the only one in the running, or were quite upset I was even looking at other candidates. All of these reactions sent them to the bit bucket of no return. After all, I don’t have time for those that would challenge my thinking and methodologies this early in the process.
In contrast, the developers I selected to take a shot at the solution had strong positive attitude, didn’t mind the competition and even thanked me for letting them know the ground rules up front.
May the best Candidate Win!