We all hate it or at least dread the idea of going to tech interview to be grilled about what we know. Who wants to show up for an interview and be grilled on programming questions or even worse, be asked to solve tough problems on a whiteboard.
As much as we hate the process, the reality of it is that your employer needs to know that you can program. They want to know what your level of development skills is. Hiring is an expensive process. Hiring the wrong person is even more expensive.
Sure your resume says it all. You have 10 years experience in X language. The problem with that is that experience is as good as measuring productivity by counting lines of code. If the employer has nothing else to vet you as a developer, then they must make sure that your skills can back up your resume.
After all, what does experience really tell? Does experience mean you were part of a team where everyone else did the hard stuff and all you did was easy stuff? Does it mean that your experience consists of nothing more than taking up space in that environment? Does it mean that you actually learned and grew each day year in your expertise in that language? Did you get into the advanced topics related to that languages ecosystem?
I’ve been on teams were every developer could potentially count their time as experience but the variation in skills growth during that time between one developer and the next is worlds apart.
See, experience doesn’t really tell much. The only thing that tells are the skills you have. Therefore a good employer, one that is diligent, must ensure that you have the skills your resume says you have.
I’ve worked with developers that turned out to be really good highly skilled developers and some that couldn’t code their way out a basic programming 101 assignment. Some of that had to with the contracting and subcontracting arrangement we had and there was a poor vetting process in place.
We can all debate on what the best approach is. Is it whiteboard coding or design? Is it live coding onsite or via teleconference? Is it by completing a coding challenge? Is it just a series of questions? That debate has much to debate but one thing that we can all agree is that we must have something in place to check the skill level of the applicant.
Do you want to know what the best way to audition is? It is to do great work with your current employer and make sure others see it. Your coworkers will one day move on and they will bring you along if they think you are good and good fit, that is.
If you don’t have that luxury make sure to prepare and study for a technical interview. You’d be surprised how many things you know but may be rusty on.
In my past experience and role as tech lead and lead developer I have interviewed dozens of developers and have gotten pretty good results without having them write a single line of code.
My approach has been mostly through conversations and asking questions related to programming topics. Some questions are tied to specifics about a language on the applicant’s resume.
You may argue that some people just do badly in interviews. I tend to disagree. I think they may do poorly if the interviewer is bad or do poorly if they are not skilled as they say they are. But I think that if the interviewer is qualified, nervous or not she will bring out the best in you.
So what must you do? First, don’t let the tech interview catch you by surprise.
Accept that it comes with the territory, prepare for it, and always keep doing great work. Your experience is your best preparation to build up your skills. Your skills will come through when challenged by the right interviewer.