At Apprenda, the interviewing process isn’t only a search for programmers with skills to advance the development team; large blocks of time are allotted in the hunt for the people best matched to Apprenda’s culture, and we go to great lengths to find them.
It is no secret to anyone with experience in team building that the inclusion of someone who is not a correct fit for the team will have huge effects on morale and, as a result, product quality. This does not include the drain on energy and costs resulting from training someone, only to let them go shortly thereafter. This is why, in essence, I spend a lot of time recruiting.
The Screening Call: This call is normally fielded by a manager, most often myself, who is attempting to fill a role. We act, in a way, as the first level of defense. Our goal is to assist in measuring a candidate’s qualification level and create an assessment of his commitment to the required position. In all honesty, however, the number of candidates that call and are unaware of what we do or why they may be a qualified candidate for the position we need to fill never ceases to amaze us. Needless to say, they don’t make it very far in our screening process.
A word of advice: if you are trying to make an impression, it helps to be familiar with the organization you’re contacting and the product or service they provide! We are not interested in people that just stumble into an open position; good candidates care about where they work, and we expect our employees to have enthusiasm in their work for company. A modicum of research will help an applicant to conclude whether or not Apprenda may be the best place for them. We will spend time explaining why working at Apprenda is beneficial, but this should just confirm your reasoning, not establish it.
The Dev Exercise: This progression only occurs when the applicant performs admirably in the step above. From here we involve several people within the development team to further evaluate a candidate; the goal is to minimize the impact on the rest of the team, unless a lot of potential is demonstrated.
The reason development exercises are performed is because there is managerial interest in seeing what candidates consider a full deliverable, and establishing whether or not they can actually code. In theory, the dev exercise can be completed in a couple of hours, but we give candidates two full days. In part this is done because the organization’s desire is not to raise false expectations that you have nothing else to do with your time, but mainly because we don’t want you to send your work the moment it is concluded; instead, the candidate is granted an opportunity to “WOW” us and present proof of the quality he or she is capable of producing.
The criteria evaluated includes exercises for completeness, correctness, code quality, documentation, testability, error handling, usability and a few others, perhaps less obvious. These are meant to give us concrete take-aways on the quality of the developer applying, and more importantly if it is in Apprenda’s best interest to have him or her on the team, as it means that eventually somebody else will have to look at, and maintain, the code that the said applicant wrote.
The In-Person: The final leg of the process involves an in-person interview. If the process has proceeded this far, there is genuine interest in the applicant on Apprenda’s behalf and a desire also exists for the applicant to spend some quality time with the team and inspect our offices. Transportation is compensated for (either by plane, train, bus, car or implied combination) as well as a nice hotel if needed; our interviews aren’t limited to local candidates only.
This provides an opportunity to definitively establish whether or not a good cultural fit exists and also allows us a chance to get to know an applicant on a personal level, and vice-versa. Candidates have to prove that the ability to walk-the-walk exists, as well as a desire to go deeper into technical evaluations.
If you have been keeping tabs, it is apparent that we don’t take hiring lightly, and spend as much time and money as necessary to find, and evaluate, the right candidates. In the end, we feel it is worth every effort regardless of how difficult, tiring or costly it might be. The frustration felt searching pays dividends when customers are working with our product, and the right person is part of a team that’s changing the world of software development.
If pride is taken in the quality of the software produced, and you feel a desire to participate in shaping the cloud computing revolution, we are always looking for capable developers. Send us a note, because we want to talk to you! You can also read about our development process here or check any opened positions here, and if you happen to know a bright developer that would be a great fit, we will pay you a sweet $1000 referral fee if your recommendation works out.