By: Dan Bader – http://bit.ly/2xbr0oE
Participating in a “Silicon Valley style” coding interview can feel scary as heck.n
Unlike other professionals, it seems to be okay for software developers to expect to get humiliated at a job interview.
“What, you can’t code up a recursive descent parser on a whiteboard in 7.5 minutes? How DARE YOU even apply for this job!”
Yeah, it’s one of the things that sucks about our industry—
Personally, I believe that 80-90% of the questions that you get asked during the typical coding interview have nothing to do with your real performance on the job.
But unfortunately, these interviews aren’t going to go away over night.
If you want a well-paid job as a software developer, you’re likely going to encounter some coding quiz as part of your interviewing experience.
For the foreseeable future, interviewers are going to keep squeezing you through the same processes and will keep asking you those same questions…
And if you’re like me, there’s a pretty slim chance you’ll pass an interview like that without some serious prep work—either to learn the right skills or to refresh your memory.
Alright, that all sounds pretty glum, no?
But here’s what you need to realize, interviewing is a skill you can learn like any other.
It’s something you get better at with practice.
Just remember that all that prep work needs time. So be sure to plan ahead with ample of time to get enough study days in before your “big day.”
If I had a coding interview coming up in 1-2 months, here’s a rough outline of what I’d do to prepare:
Buy the following two books: “Elements of Programming Interviews (Python Ed.)” and “Cracking the Coding Interview.”
Buy a whiteboard and some markers. Put the whiteboard on an actual wall, and make sure you get a board with a decent size. This is where 90% of your prep work will happen over the next few weeks.
Every day, stand in front of your whiteboard and work on at least one problem from the books listed in Step 1. Talk out loud about what you’re doing, and snap a photo of the board when you’re done. Set a 30-minute timer for each problem to put some pressure on yourself. If you can’t solve a problem, pick up the book and go through all the motions with the solution in front of you. Rinse and repeat.
The closer you get to your interview date the more you want to practice—ramp it up to around 5 problems per day in the last two weeks before your interview.
Just repeat after me: “Interviewing is a learned skill.”
The more “reps” you can get on each problem, the better your chances of getting a job offer will be.
Dan Bader is a self-professed Python “Nut” and is passionate about helping Python developers take their coding skills to the next level. His articles, videos, and tutorials have reached over half a million developers around the world.