DEV Community

Discussion on: Tech Screenings: Why The Interview Process Fails Candidates

Collapse
 
davenicolette profile image
Dave Nicolette ن ✡ ☽ • Edited

It's true that programming is teachable, but not every organization is in a position to hire only junior programmers. The methods of screening may vary according to the needs of the organization.

Example 1: I was working with an XP team in a small company. The way they hired developers was that the team with the opening had the final word. They screened candidates by bringing them in, having the sign an NDA, paying them for their time, and having them pair in with two or three team members during a regular work day. If they meshed well with the team and had the requisite skills, the team would accept them. Managers and HR did not impose anyone on the teams.

Example 2: I'm working for a consultancy now that offers technical coaching as part of agile transformation assistance. When we're hiring, we have to have people who are simultaneously (a) multi-skilled, (b) high skilled in one or two areas such as programming, testing, or devops, and (c) experienced with coaching, which is an entirely different skillset from programming. We use challenge exercises that are agreed upon in advance by the candidates, and there's no time limit. We aren't so interested in their end result as in their thought process and approach. Whether they have the same approach as we do or not, it's important that they can explain and defend their rationale. Depending on that result, we'll have a live pairing/mobbing session with them. This company has no work for a junior person who is "teachable." It isn't because we wouldn't like to be in a position where we had lots of that sort of work, but at the moment we just don't.

Example 3: I applied for a contracting position with a large-ish company, and they asked me to do a coding exercise. (It was actually Dave Thomas' kata #14 about trigrams; a nice one!) The screener went into great depth with me and wanted to explore alternative solutions and extend the parameters of the exercise. He was very enthusiastic. When I got on the ground there, I learned that none of their development teams ever, ever, ever did anything remotely as interesting or challenging as the screening exercise. I think sometimes people get a bit carried away with these exercises, and they aren't aligned with the realities of the workplace.

I'd like to comment on the question of time and respect. In a normal work week, a normal person will put in a normal level of effort on their day job and devote a reasonable amount of time to family, friends, hobbies, and probably spend at least a couple of hours on professional development. When the same person is looking for a new job, I think it's fair to expect them to set priorities and manage their time accordingly. I see it not only as professionalism, but basic adulting as well.

I will disagree that a person who "has time" to do a coding exercise must be happy where they are and have plenty of time to spare. If they're so happy, why are they looking for a new job? And if they're serious about finding a new job, why can't they delay gratification long enough to invest some time and effort in the job search?

Something I've noticed for many years, unfortunately, is that many people in our industry significantly exaggerate their skills and experience on their resume and in verbal interviews. That's the main reason why so many companies that are looking for people have to ask candidates to show what they can do, and not just talk about it. You can learn more in five minutes of pairing with someone than you could learn by spending two hours trying to parse their well-rehearsed buzzword-laden speeches. Talk about respecting people's time...how about the team members who have to take time out from their work to meet with the candidate? Isn't their time worth something, too?

That said, some of the methods people use to screen candidates are pretty much a waste of time, IMO. One of them is the in-depth technical phone interview. If you try to design a complicated system verbally over the phone, what are the chances everyone will even keep track of what's been said? Another is the coding challenge that's the same for every candidate regardless of their skillsets and interests. In our company we tailor that to each candidate. There's no time limit. They can ask all the clarifying questions they want. We want to see their strengths, and we aren't interested in tripping them up. Of course we want to know where their strengths trail off, too, but that isn't for purposes of rejecting them; it's for purposes of understanding which client engagements they're likely to thrive in.