Don’t Ask Your Programmer Candidates to Write Code (the Programmer’s Perspective)

A common idea I’ve read from other bloggers — like real bigwigs — is the notion one should ask programmers to write some code during an interview. I’d say it’s even become conventional wisdom at this point.  Well.  They are completely wrong and here is why. OK. Honestly wrong is subjective here. But I want to argue the other perspective: the programmer’s perspective.

So here we go geeks … the conventional wisdom view that it’s a smart thing to do is predicated on the idea that you’re part of a factory.  To them, you’re a programming cog or geek part in the software industrial complex, not a programming professional — a true programming artist. OK, the manager might not think exactly like that but subconsciously that’s what’s going on. They care about themselves and not you. They think you are just, well, a geek.

They don’t respect you or your calling as a programmer. They respect finding worker drones whom they can bully and do their sh*t work. Geeks who won’t talk back or have a mind of their own. Oh sure, they think the rationale is finding the best talent who can really write code.  Baloney. They are power-hungry, soul-killing mangers.  They don’t love code.  They love money, power and control.

They don’t want to change the world; they want to fatten their wallets.  Have they cried when they saw a lecture from Professor Knuth — a performance of one of his beautiful proofs?  Or have they got goose bumps from the excitement of learning a new algorithm.  The manager is of the Earth.

They’re of the flesh and are carnal beings.  We are of the heavens.  We’re answering our calling.  We could’ve chose Wall Street, but we chose a higher purpose: to code and leave our mark.  We aren’t just in love with code.  We are devoted to it.  If you’re like me, you would probably give your life for the cause.

Say you’re at a conference and a wild gunman comes out of nowhere.  Dr. Knuth (father of the analysis of algorithms if not the modern father of computer science, etc.), Linus Torvalds (father of Linux/Git, etc.), Guido van Rossum (father of Python, etc.) and Joel Spolsky (software industry thought leader, industry expert on software management, and inventor of Stack Overflow, etc.) are doing a round table — discussing what the hell we’d do if Donald Trump becomes prez.

So the madman starts shooting because that’s what they do.  I think most of us would take a bullet to protect these amazing people if we were there and given the chance.  That’s devotion!

Need a prison analogy to clear it up?  If asked, we’d shank the guard for the prison gang leaders … and do it with delight as we would be devoted to the gang — the cause.

They, the manager weenie, would lie and tell the gang leaders they will shank the guard, but, instead, he would go to the commissary to get a pack of cigarettes and some Nerds candy or head back to his cell to take a nap — or watch an erotic thriller on TV.  (Can you tell I used to watch Lockup on MSNBC?)  In reality, the manager is the guard, and we’re the inmates.

But, what does a shop or floor manager at a factory often have candidates for an assembly line position do?  Well, they often will have them assemble some parts and see how well they do. Right? That’s what’s happening when you are asked to write code during an interview.

If you have this happen to you, I would end the interview because they’ve proven they are looking for a programming factory worker, not a creative and innovative programmer who views his or her code as art — your expression of your genius.  You shouldn’t want to work for such an organization.  Ever!

Nope.  What people should be asking the candidates are questions that elucidate how they think.  Ask them questions to see how well their values, interests and passion align with the mission of the company and team.  Find out if they have passion.  Passion is the secret sauce of great programmers.

Even if you truly believe in the concept of having devs write code during an interview, do you really want to allow for performance anxiety to enter the mix and de-select because of this?   This is such an unnatural experience.  This is not how the programmer will write code on the job, so why test him or her during the actual interview using this tactic.

Are you too lazy to vet them better during the pre-screening phase?  Besides there are more important things to ask which get into their soul.  Forget languages and features of the programmer and focus on their heart, passion and vision.

What’s their purpose? Were they called to be a programmer or did daddy recommend it for them?  What gets them up in the morning and excites them?  Would they be able to find passion at your company, or on your team and for your product/service?

Why did you call them to come in for an interview if you don’t think they can even write code and must be tested on the spot?  If you want to get more technical, a better approach is to use the Socratic method.  Lead them into a complex discussion related to algorithms or something directly related to the position.

Using the Socratic method, you can get deep inside their head and figure out where they are technically without the need to have them go to the whiteboard and write code.

Having them go up to the whiteboard to write code is just too unnatural.  I highly would advise you resist the urge to do this and instead get into their head, heart and soul and employ the Socratic method.

So don’t ask the candidate to write code.  If they’re smart, you will see them walk out on you for a better company that values their true genius.  Don’t attempt to get them into your software industrial complex. That sh*t kills souls. Don’t kill them. Please.

Imagine interviewing a writer, artist or interior decorator, and you tell them to go to the whiteboard to write or design something on the spot. How rude! They’re artists. They need to get into the zone. To feel inspired. To hear the backstory of what you want or need in order to get inspiration.

They need to feel, not just think. Well, programmers aren’t that different. We need to have a muse as well. We need to be motivated by the mission of your company. Is your product sustainable and fair to the world’s people? Does your CEO make like a 1000 times more than the programmers? If so, how can you sleep at night AND I’m telling Bernie Sanders about your company! He’s going to come down on you like a ton of bricks — this expression was pilfered courtesy of Ted Cruz.

We also need a quiet space to work. Programming requires deep levels of concentration, not having a pushy/sleazy manager looking over our shoulder as we try to create our genius. Besides, don’t they often ask the most stupid questions: like, why didn’t you just use a struct and put that big array of data inside and then pass it by value on the stack.

Your answer is because then you would have to pass several megabytes of data on the stack and that’s just plain stupid. Yet you have to say something like, “Good idea Mr. Manager. Thank you. Would you like your car washed later?” Asshat!

(Surprising he didn’t recommend the whole thing be made a global, too. Gads.)

Hire genius programmers, not factory clock-watching employees.   If you have them write code, you may just be getting a mediocre programmer.  Because only a mediocre programmer wouldn’t have the confidence to walk out of such an interview.  To you I say, congrats, you have no clue what you’re doing, and your organization will likely fail.

I hope you enjoyed this manager weenie hit piece!

Read more related: How to Hire Developers Who Don’t Suck Using this Crappy List.

Advertisements