A Programmer Explained to Me Why I’m an Idiot and a Moron in the Same Sentence
Tests rule out the people who think outside the box.

I was an idiot and a moron. A self-help junkie like me should have known better.
We met for the first time. He works client-side looking after teams of engineers. I work with clients like him to help them build engineering teams at scale and expand through mitosis (members of a successful engineering team branch off and create new teams).
I explained to him how his employer wanted me to code test any new engineers with HackerRank and I agreed with their decision. (This was ironic because I’m not a coder and can’t read code.) It was at this point where he got fired up. His face turned a little red.
“You are an idiot and a moron if you think you can code test engineers to try and find good ones.”
I was a little taken back. We weren’t even friends yet. Should I be offended? He continued:
“Code tests rule out the people who think outside the box.”
He started rattling off example after example of gun engineers who performed poorly on a HackerRank test. He showed me the work these engineers produced and then their poor HackerRank results. This next line got me:
“You hire engineers to think and solve problems. Being able to regurgitate code like you’re studying for a high school math test means you can follow orders. I don’t want engineers like that. I want the rebels who are brave enough to challenge the team, therefore helping to create life-changing software.”
I’d fallen into the trap of following orders. I took what his employer said about code testing too literally.
I got home from work that night and thought about what my new programmer customer friend had said. I thought about it for hours. Can you really box someone into a corner and test whether they think differently using standardized thinking? It hit me hard: no. A code test is a tool, yes. But a code test shouldn’t be the defining factor used to select engineers for a project.
Code tests can kill creativity.
You can block engineering talent from ever finding your project if you use a code test designed to embed bias in your hiring process.
Code tests, in a way, are like racism. They judge people on an arbitrary measure.
I went back and spoke to my lead engineer. I asked for his help.
“Could we be smarter about how we hire? What would it take to test the way a person thinks instead of just their engineering skills?”
The response was classic:
“Only a human can properly test how someone thinks.”
It’s not just their thinking either. The lead engineer also taught me that it’s how an engineer communicates their thinking that is key. You can think outside of the box and come up with life-changing code, but if you’re a nuff-nuff that can’t explain your code in English, then nobody is going to listen to you — and you probably can’t build an entire software platform on your own.
Now I’m no genius engineer thought leader. But I did radically change my approach to hiring engineers after the initial conversation that pointed out I was a moron and an idiot in the same sentence.
I made the call to focus on:
- A human conversation.
- A whiteboard test.
- A conversation about an engineer’s code that asks them to explain their thinking in a lot of detail.
- Finally, a code test.
The least important part of an engineer’s hiring process was their resume. I learned quickly that engineers were like chameleons: they could change color based on the role they were applying for.
Someone who was more front end than back end could quickly reshape their resume to sway their profile in either direction. I also learned that job titles were ridiculous. Many engineers attempted to call themselves “lead engineer” when they weren’t really.
When you overlay a global recession on top of this engineering picture, you realize why engineers decide to bend the truth a little. People need work so they can pay their bills. A few white lies for an engineer who needs to pay bills and get on an engineering project ASAP is expected. There’s no point being mad at them if you have at least a tiny bit of empathy left inside of you.
A code test isn’t the answer to the question “Can this engineer excel at their job?” A code test is one tool in the toolbox for hiring engineers.
The real secret to hiring amazing engineers is to have an already excellent engineer, who can think outside of the box, do the interview.
Talented engineers attract talented engineers. These engineers then breed while on a project together and allow the process of mitosis to occur and create new teams that spawn off the original project. A code test on its own is useless — and biased.
Put the human back in hiring engineers.






