The Code Challenge - Interviewing Techniques
I just accepted a new job as a senior software developer, but I went through about 50 interviews to find this job.
Each job wanted to interview me 3 to 5 times! Which seemed like a lot to me.
Additionally, nearly every employer waited until the 3rd or 4th interview to drop a Code Challenge on me!
What is a Code Challenge?
The employer would give me a detailed set of requirements for a piece of software they want written. The project usually involved me setting up a trial account on Heroku, AWS, Azure, Twilio, and more. Using my credit card, of course.
The project needed to be done in anywhere from 3 to 14 days! It all depended on the group who was hiring.
After the app was written and published to the internet, they would look at the code and then decide if they wanted to hire me.
Is this a Game?
Who asks for days, or even weeks of work, for free, in order to attain a job? I had never heard of this before. I am not here to play games, I am looking for serious inquiries only. I am a senior level developer, I am 45 years old, I have decades of experience, 2 technical certifications, and a Master's Degree. Plus, I have been interviewing in this business for decades, and helping managers hire. In fact, I interviewed, and hired 2 people at my current job in the last year. One was more senior level than me, the other was much more junior level than me.
So the thought of anyone asking me to do a Code Challenge was pretty offensive.
Could you imagine doing a weeks worth of work, just for them to say, "No"?
Forget it. I told several potential employers that they do not need to do this in order to find out what they don't like about me. They just need to keep looking, and so did I.
How to Hire Software Developers
Any self-respecting senior developer can have a conversation with a potential hire, and that senior dev should be able to asses the maturity level quickly. It is easy to tell if the potential hire is technically more mature, or less.
This is where I recommend companies break down how they hire into 2 major groups. Senior Developers, and Junior Developers.
Furthermore, companies need to face the brutal facts about hiring.
Let's take Google for example...
If the company has thousands of applicants per year from many major universities in the region and/or world. Then I can totally understand a Code Challenge, just to see who stands out, and most importantly, who is really interested.
However, if the company is a Start-Up, or a moderately sized company trying to hire a Senior Developer, then things change a lot. In this case, companies will not get the best talent from the pool using a Code Challenge. Rather, companies will get talent from the pool that has, THE MOST TIME. Generally speaking, this is going to be someone who is un-employed, and really needs the job.
In my case, I already had a job, and I was doing 8 interviews a week. Sorry, but there is just no way I can give each of them a week's worth of free work, just so they can tell me No. I have too many other interviews to do, plus a full time-job, I must move on.
If a company talks to me for hours over 2 or 3 interviews and they cannot figure out why they won't hire me...
Then they need to KEEP LOOKING!
The result of a code challenge is not going to change anyone's mind about a senior dev like me. Just tell me No, and keep looking.
When the right person is found, the hiring team will be certain after a good interview. They will say, ** WE NEED THIS PERSON ON OUR TEAM!** When that happens, trust that instinct. Do not ruin it by giving them a Code Challenge.
Do you think anyone really WANTS to work at your company anyway?
The answer is No, people generally do not want to work for you or anyone else. This is why we need to pay them to show up, otherwise, they won't do it.
I have honestly found it hard to find anyone that has really strong interest in smaller companies, and start-ups. There is usually no excitement around going to work, it's just a job. So I never found that there was any sort of huge line of junior devs, or senior devs just waiting to get a job where I work. We usually have positions open for months before they are filled.
Don't Mimic, Be Yourself
Just because Google does it, does not mean it's right for your company, or for hiring senior developers. You know how to attract top talent, and this is not it.
I managed to convince my new employer a Code Challenge was not needed with me. They agreed, they had been struggling to hire and they were wondering if the Code Challenge was getting in the way. It most certainly was, I confirmed that for them. They dropped the Code Challenge for me and opted to do a Code Review of my existing work already posted to GitHub.
It worked out great! They liked me, needed me, and I accepted.
That is how this is supposed to work!