Preparing for a "Silicon Valley Style" coding interview.

By: Dan Bader -

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.

It's true—

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:

Step 1:

Buy the following two books: "Elements of Programming Interviews (Python Ed.)" and "Cracking the Coding Interview."

Step 2:

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.

Step 3:

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.

Happy Pythoning!

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. 


David Hitt

David is the Co-Founder of PythonTek. David earned his B.B.A from Loyola University Chicago and his MBA from Keller Graduate School of Management. David built a 14 year career focused on accounting and finance, with 10 of those years in public accounting as a consulting manager for one of the largest regional accounting firms in Chicago. He also spent 3 years as a controller in the commercial construction industry. Prior to his public accounting career, David was a trader and member of the Chicago Board of Options and the Midwest Stock Exchange. David left public accounting with the purpose of solving one of the main challenges that face business growth - finding and hiring great talent. Since David entered the staffing and consulting field, he has worked with many Fortune 500 and midmarket companies assisting them in recruiting the best talent, scoping and managing accounting and technology projects, and developing talent sourcing strategies to enable clients to build pipelines of candidates for multiple lines of business including, accounting, finance, technology, manufacturing, sales.