Rants and Raves

Thanks for visiting my blog!

What's Up with Tech's Job Crunch?
What's Up with Tech's Job Crunch?
February 9, 2025

In the past couple of years, I’ve been looking at my career and my impending future. As many of you might know, I was contemplating moving from independent to employee. I’ve been independent since about 2007 (and this is my 40th year in software). It was a big question I had to ask for myself. It was a matter of trading flexibility for security and healthcare. But that is just the background.

I hadn’t interviewed or performed a job search in many years. I thought I could just jump in like I did when I was younger. I couldn’t. Everything seemed to have changed.

A combination of mass layoffs in tech and the irrational thought that AI was going to replace many of us (see my Coding Short)- and the job market was far tighter than I’d ever seen it before. Where was I to fit in. Ultimately, I decided to make a big life change and start a new company in the Netherlands. But that did not leave me with some observations about the job crunch. Let’s talk about it.

How Did It Used to Work?

We used to view resumes and use the interviews to work out whether people were a good match. Recruiters have always used achronym-based bias when matching people and companies, but ultimately that also missed lots of great candidates.

But even these interviews were rife with bad ideas. Coding on whiteboards; abstract thinking tests (e.g. “How many manhole covers are in the US?”); and gotcha questions, were all bad ideas.

Ultimately, hiring someone was a risk but we tried to mitigate that risk by looking for people who fit the ‘culture’. That’s actually why I used to get jobs easily, I look the part. I look like someone out of central casting for the “Comic Book Guy”. I fit the impression of a good developer.

It wasn’t perfect, but I feel like it relied less on the perfect resume. How does it work now?

What’s Changed?

I think the industry has changed completely how we evaluate possible employees. Using Robot Automation Processing (RPA) and Application Tracking Systems (ATS). Essentially, this jargon for using machine learning to filter out resumes that do not fit into a narrow focus.

This has led an industry of ATS-beating tools (e.g. JobScan) that represent an “arms race” as the ATS improves to counter-act the ATS-Beating software. Both sides of this battle seem to do little to help companies find the right people. But, it means that most resumes submitted electronically (directly to a company’s website or through LinkedIn), are outright rejected almost immediately.

What frustrates me about this is that these technologies force potential employees to be good at creating resumes with far too many buzz words instead of their actual experience. Great people are falling through the cracks.

It also encourages people to write/modify their resume for each and every position. For many of us, that means have two base resumes (one that is scanned easily by ATS systems) and a good looking resume (which usually rejected by ATS systems). Then, to require us to add/remove items to match some magical set of skills is a waste of everyone’s time.

Some companies are also trying to test developers in other ways:

  • GitHub Contributions: This only will highlight public development. Most developers work on private software - not all on GitHub. This is leaving so many people off the rolls.
  • Coding Tests: I usually call this “Free Work”. The idea of sending a developer away to write some piece of code to evaluate them is not only somewhat unethical (in my opinion), but doesn’t really evaluate the way they think.

This doesn’t seem better and is leaving wide swaths of great developers looking for jobs for months/years.

Some of this may be attributed to the Bootcamp-ification of the workforce. By adding a lot of entry-level developers while promising them that jobs are easy to get, we’ve accidently excluded good developers and lied to newly trained developers about the state of our industry.

What Do I Think?

I do not have a magic bullet. But I do have some opinions:

Stop hiring people for skills: You’re hiring for the ability to learn and adapt. The tech industry is too volitile to think that today’s skills are going to be what you need in 1, 2, or 5 years.

Stop Testing Syntax: Interview people for how they think instead of how to solve a task. Remembering syntax is unimportant in today’s development environment.

Find People Who Are Adaptable: The worst thing that happens in an interview these days is when a developer refuses to admit they do not know something. This is a result of the 10x developer, super start developer, or even everyone is a senior software dev. The ability to find the answer is so much more important than knowing the answer. If our software processes are iterative, I expect developers to be good at the "fail->learn from failure->try again" workflow. If they can’t admit they are wrong, there is no room for trial and error.

Do we need resumes? Of course. But I think resumes should represent the person not an application for the job. If we’re going to use resume evaluation software, making them smarter and with a lower bar of entry is important. I know that hiring managers want to wittle down 1,000 resumes to three people to interview. But this incredibly short-sighted.

Will it get better? I have my doubts.

What do you think?