Your coding challenge is costing you good developers

3 years ago, I left my job as a .NET developer to start my own company.

It was successful (e.g. I maintained a 6-figure income). Then COVID hit. 😬 Now, I’m back on the market…

So, today I fired up HackerRank to study for interviews like a high school junior taking the SATs…

This is NOT a compliment of the state of software hiring in tech.

This is madness.

What happened while I was gone…? Why are we now studying for job interviews as if we’re about to complete a computer science problem set?

In all my years in the tech industry (MIT & Harvard startup 2002–2003, Microsoft 2004–2007. .NET freelancing 2008–2011. .NET full-time developer & lead at pure software companies 2012–2017), the ability to code or employ a novel algorithm in 30 minutes was never our urgent problem….

When did companies start to treat algorithms as THE make or break factor for software developers?

I get it. Algorithms are important. But, the industry seems to have become obsessed.

For context, my last time in the job market was 6 years ago

Before my last 3 years self-employed, I was at my previous job for 3 years. So altogether, it’s been 6 years since I last went through developer interviews.

Between 9 years ago and 6 years ago — the 2 times I’ve been on the job market in the last 10 years — little changed

I send my resume to recruiters. They have me take developer aptitude tests to make sure I’m not a fraud.

Then, the recruiter does the legwork of finding openings.

Hiring managers review resumes sent over from the recruiter.

If the hiring manager and recruiter think it’s a mutual fit, they setup a phone screening.

Most important, that phone screening was WITH MEMBERS OF THE ACTUAL TEAM! And it was the FIRST step.

Now, before I even sniff a member of the team, companies want me to take their battery of developer tests!

Ok… So… I have no idea if I even want to be on your team yet… Why am I taking a one or two-hour test?

I understand why companies are doing this. They want to save their own team’s time.

But I’m not sure they realize that this filter is costing them a lot of the best programming talent.

Let me explain why these algorithms tests are COSTING teams high-quality talent!

#1: Great developers don’t want to waste time taking your test until they have a feel for your team culture

In general, GREAT developers are less desperate for a job.

They want to land at a place where they can thrive. And THRIVING is all about company culture, development approach, and tools.

If these quality developers don’t know your culture, they won’t make time to take your tests

The early 15–30 minute phone screening was an efficient 2-way interview.

The candidate determined if he liked your culture and the project. And a team member determined if the candidate fit the culture.

After mutually assessing the fit, the candidate takes the tests knowing it isn’t a waste of time

Even if the candidate fails the screening, he knows it was worth it. Because he did want to join your team.

But today, companies are asking us to take lengthy tests before we even know if we want to join the team… (And some of these without even giving a salary range!!! Lol. Yeah… sure.. First, take the test and then we’ll show you what’s behind door #2.)

So sure, your team is saving some time… But at what cost?

1) Unless the candidate is desperate for a job, top talent will move on and never even take your test. (Especially if you can’t even provide a salary range.)

Only the desperate are going to stay around taking these same tests over and over and over again. (Btw, nothing wrong with being desperate. We all have different circumstances. I’m just saying that the best developers are less likely to be desperate.)

So your team SAVES TIME, but you LOSE consideration of top talent.

2) If you’re working with a good recruiter, he or she shouldn’t send you unqualified candidates.

The recruiter should be screening candidates with HackerRank-like tests ONCE. That way you’re not getting candidates with dubious technical skills.

But…

If your recruiter is sending you un-screened candidates, fire that recruiter

That’s the better way to ensure your team is NOT wasting time with unqualified talent.

Finding a skilled recruiter is BETTER FOR YOUR COMPANY than erecting barriers against talent

Those barriers are keeping out good talent, because many won’t even bother to complete your time-consuming Step #1.

#2: This test-first meet-later culture is so algorithms driven it’s nuts.. You’re losing developers strong in other critical areas of problem-solving

Look… I went to MIT and got a degree in Computer Science. So I’m no stranger to algorithms.

I LOVE algorithms and data structures.

But, wow…

Over the last 6-years, teams have become OBSESSED with testing for algorithms

Maybe because it’s easy to setup these testing tools.. Perhaps teams are doing it so they can feel that they have a “sophisticated” hiring process.

But…

These hiring flows treat algorithms as if the entire company is going to rise or fall based on them.

Which is so strange because…

In my 17+ years developing software and studying business, I’ve noticed two things

Most software companies rise or fall based on…

(1) How easy to use, logical and well thought out their technologies are for the HUMANS that use them. And…

(2) How fast the company gets product iterations to market.

Except for specific niches like search, algorithms are a smaller factor for success

Apple’s software is easy to use. It’s products cross-integrate well.

Algorithms, not the primary factor for success.

Microsoft iterates as fast as anybody (especially in the past) and provides legendary backward compatibility for enterprises.

Algorithms, not the primary factor for success.

Facebook had a clean design for its time, started at the ideal school, had a viral feature set, and forced you to use your real name (maybe the #1 factor that made it accessible to older users).

Algorithms, not the primary factor for success.

PayPal required only an email address to transfer money. They made digital payments possible without a credit card merchant account.

Algorithms, not the primary factor for success.

Dropbox wrangled OS APIs and made UI decisions to hide UI complexity. They weren’t the first. But they were the easiest.

Algorithms, not the primary factor for success.

Today, Stripe’s API is clean. It has decimated companies with complicated payment flows and complex APIs.

Algorithms, not the primary factor for success.

I could go on…

In each example above, algorithms are at best a 2nd or 3rd most important success factor

Give me a developer who can design a CLEAN API or a clean process flow over a master of algorithms ANY day.

Why? Because…

With good abstraction, I can refactor your algorithm if we spot a performance bottleneck… But a poor underlying architecture can cause years of pain across an ENTIRE ecosystem!

Still, today’s hiring managers seem fixated on how many minutes it takes the candidate to write an algorithm to search a graph in nlogn time.

Those kinds of optimizations are neat and have value. But they are rarely the reason for a developer or company’s success or failure.

Of course, algorithms are part of success; software should be performant

But…

When a developer has to take a 1-hour test, just to meet a member of your team…something is wrong

And…

When experienced developers are studying for your test to refresh on topics rarely needed since college… Your team’s barriers are now unhinged from reality

And your team is the loser.

About Me: Hi, my name is Ayo Ijidakinro. I’m a software engineer & .NET developer turned entrepreneur. Technology, SEO, and Marketing are my passions. In the last 3 years, I’ve generated $1.36+ million in sales, almost entirely running on software I developed.

If you have an easy-going but hard-working team looking for a .NET developer, I’d love to hear more. Contact me via LinkedIn.

Written by

I’m a software engineer turned entrepreneur. Technology, SEO, and Marketing are my passions. Over the last 36-months my ads have made $1.36+ million in sales.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store