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.