So, you are looking to expand your existing development team or stand up a new one? No problem, right? You’ve done it before, so just fire up the job postings, let the resumes flow in, and pick the best candidates, right?
Well, the times may have changed since your last hiring spree, and even if they haven’t, when was the last time you examined how successful your process really is for identifying the right kind of developer while weeding out the wrong kind?
When was the last time that you missed out on a great candidate because you just needed to have him or her interview with the international team before you got your offer out? Did you make any updates to your process then? If any of this resonates with you, keep reading – we hope to lend some of our experience in these matters to help you get the right folks hired for your team.
Understand Your Needs
We’ve written before about our process and why we think it works, but we know that what works for our specific needs could be a total waste of time for another enterprise.
When we bring our consultants onsite for an engagement, we give our clients the opportunity to meet and run them through their interview process. Now, we take pride in being able to listen to what our client needs are and have the right consultant lined up for this process, but what sometimes happens is that what our client asked for and what they need are two different things altogether. It’s great to want a strong hands-on cloud architect that can build out foundational software infrastructure that handles a number of cross cutting demands, but if you really need a strong heads-down developer that simply needs to execute on a plan that is already in place, you’re doing yourself a huge disservice for asking for the former. The architect is going to feel hamstrung and underutilized in the role, and while he or she may be able to do the work quickly, efficiently, and creatively, someone more suited to the role is going to be more excited and passionate and appreciative of it and your enterprise is going to benefit from that goodwill.
Now, beyond understanding what your technical needs are versus your wants, you need to also consider your team dynamics and your corporate culture. A technical wizard that can code circles around your existing team sounds interesting but how will his standoffish or demeaning attitude effect the rest of the team?
One place I worked, we used to ask candidates tell us their favorite joke. We would tell them that we like to like the people we work with and that the joke was a way for us to get just a glimpse into part of their persona. Technical things aside, that proved to be a really good litmus test as to whether the candidate was going to thrive in our environment.
Streamline Your Process
Because our consultants have been through our clients’ interview processes, we’ve done a lot of interviewing. The point of interviewing is simply to determine if a candidate fits your needs, and in this market, you want to do that as quickly and efficiently as possible. How do you do that?
Tech Them Out
A resume tells a nice story of someone’s career, but it can sometimes be just that – a story, so you have to spend some time on technical questions. We recommend asking questions that allow you to quickly and easily identify if someone can do the job. That might start with some simple technical questions and work into more advanced concepts.
Starting with the basics provides the benefit of allowing you to assess whether a candidate really understands the underlying implications of a higher-level call. If a candidate doesn’t understand the basics, they won’t understand the more complex stuff.
The more advanced concepts should include questions pertaining to the day to day needs at your company. We like to screen for aptitude versus skill, but your needs may be different. You need someone to stand up a bunch of APIs with Node.js? You might want to ask the candidate about their experience with that – or have them show it to you on a whiteboard.
Don’t Ask For Definitions
What rarely ever helps is asking definition type questions. What is polymorphism? What is third normal form? Those types of questions are easy to prepare for and don’t offer any real insight as to whether someone really can do the job.
Don’t Ask Trivia Questions
There is a category of questions that we really dislike and they fall into what we call “trivia questions”. Sometimes people ask these times of questions that seem to masquerade as “problem solving” questions or questions that they’ll ask you in a Google interview and take the form of a farmer needing to cross a river with broccoli, a wolf, a bunny, etc., or determining the number of gas stations in the DFW metroplex, or things of that nature. We find that rather than getting an assessment of whether someone is good at problem solving that these questions are really good indicators of whether someone is good at trivia. If you need a ringer for your trivia team go right ahead, otherwise, maybe ask something about programming.
Don’t Tech Them Out
Part of the interview process should be non-technical, too. You want to be able to assess fit with your existing team. You have a surly DBA on the project that is great but has been known to ruffle some feathers? If you want your team to be successful, you’ll want that DBA in on these conversations.
They Are Interviewing You, Too
In this market, technical candidates have options, so you’ve got to put your best foot forward. You’ll want to wow candidates with the technology that they’ll be able to use and the other opportunities that are unique to your company. Have a work-from-home Fridays policy? Yeah, you should mention that early. Working on cloud initiatives with .NET Core? Definitely worth mentioning. Remember, they are interviewing you, too, and you’ve got to do as good a job as your competition is doing in this area, but instead of your competition being limited to the folks that compete with you in your industry, you are competing with every other technology company that is hiring.
They Are Interviewing Somewhere Else, Too
Hurry up! When you and your team know you’ve found the person you want to hire, don’t dawdle. Remember, in this market, you are competing with every other company out there for technical talent, so you better believe that this candidate is interviewing somewhere else, and if that other company has fewer hoops to jump through, and has a quicker process, you might not even be seeing the best candidates – they are going to be off the market before they are done filling out your applications and getting rescheduled for the fifth time to phone screen with the senior dev on your team that keeps missing it because of that critical feature that needs to get in this sprint.
Hired! Now You’re Done, Right?
You got the offer out and it’s time to celebrate, right? Well, there are still a few more hurdles to overcome – counter or other offers or just a change of mind — but you are almost there. Assuming that everything goes well, you still need to be on top of things as far as onboarding goes. You’ll want to have your hardware and licenses ready to go, user accounts created, and please make sure your folks have local admin rights on their own machines. You want to have things squared away so that this person can begin contributing immediately, rather than hanging around on his or her first three or four days waiting for a laptop. Not only is that a waste of time and money, consider the impression that it leaves!
If this sounds daunting, you can always look us up and we’ll help you every step of the way, or, if you prefer, partner with us on your custom development needs and let our existing staff of technology professionals take care of those technology challenges for you.