I don't mean to call anyone out, but I want to talk about programming tests in hiring and contracting.

Stop doing them. 1/7+
I understand that people want to assess whether or not someone is capable of doing the job at hand. The problem is that every engineer, no matter how senior, is learning on the job, EVERY DAY. All of us lookup solutions on the internet, all the time. 2/7+
Your assumption of what should be "baseline knowledge" for one person is based on your own experience. If you learned programming in college, a bubble sort algorithm is probably just muscle-memory by now; for the rest of us, it's completely irrelevant knowledge. 3/7+
It also has nothing to do with 99.9999% of jobs. Unless you're working on some bleeding-edge optimization for a major, that sort of fiddly info is way less relevant that principles and practices. It's just a great way of showing your biases towards "traditional" candidates. 4/7+
The worst interview a company ever gave me was to implement a hashing algorithm. I've been writing code for 35 years, I've never had to do this manually. I failed. It also told me the company didn't know what to ask me, I immediately withdrew my application. 5/7+
Tech isn't about algo knowledge. Bad news to my younger-self: it's also not about passion.

It's about knowing how to solve problems. Instead of coding exercises here are a few ways to figure out if someone will be a match for the job you've got:

PLEASE ADD YOUR OWN BELOW! 6/7+
In short: don't ask questions that have a single, expected answer. If you know what the answer is, you've created a knowledge-based test - and just like with authentication, you've created a bad one. 7/7+
Ask them about a problem they've solved recently, have them outline the steps they went through.

Ask them about a piece of technology that has made their life easier in some way. Whether it's a build tool or kitchen gadget, how does this relate to what we do?
Ask them what new tools they are excited about, and what makes their life as a developer better?

(I specifically avoid saying "fun" here, because working for a paycheck not passion is a perfectly valid reason to be a technologist.)
If you want to hire senior developers:

Ask them about building for audiences that are not like them? How do we create solutions for inclusion?

Ask them about why they chose to *not* use a piece of technology. How did they evaluate it? Cost, maturity, stability, community?
Senior cont'd:

Ask them what makes a good culture for a team. What makes a team productive and empowered?

h/t @justgrimes: Ask them to explain how the internet works. Details don't matter, you want to see if they can read a room and communicate to the level of their audience.
My favorite EQ question is "what's the last good thing you've read." Book/blog/T&Cs/etc. I always add the answers to my reading list - but also high EQ people will usually reflect the question and ask you back. (Unless they're nervous, so DON'T go on this alone!)
You can follow @krusynth.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.