I normally have an even keel in life. And that’s not just me talking, it’s what people say about me. I have been through my share of stress and emergencies. I have come out the other side enough times to know that any given situation is usually not as dire as it appears. But a job search is one of the few things that can shake my even keel.

The reason for this is not my lack of skill. My former supervisors and employers have great things to say about me. I know my job and do it well. I finish what I start and I’m conscientious about how I do it.

And then I look at the job descriptions and requirements in job postings. The list of skills tends to look something like this:

  • Bachelor’s degree in computer science or equivalent experience
  • 7+ years of software development experience
  • 3+ years experience in a PHP framework like Laravel, Yii, CodeIgniter
  • Ability to solve complex problems
  • Expert level MySQL, Redis and GraphQL skills
  • Strong Linux server administration skills
  • Experience with Docker, Kubernetes, AWS or GCP
  • Experience with JavaScript and TypeScript using React, Vue or Angular
  • Experience with Node.js-based microservices
  • Experience with RESTful API design and implementation
  • Unit and Integration Testing, TDD
  • Clean coding practices, DRY, SOLID
  • MSA (My Stupid Acronym), MOSA (My Other Stupid Acronym)
  • Ability to cook a perfect soft-boiled egg
  • Outstanding dental hygiene
  • Ability to converse with clients in 3 languages and make them believe anything
  • Experience with rose hybridization
  • PHD in Psychology
  • Strong experience editing binary files
  • Fluency in Klingon
  • Past success running a Ponzi scheme and getting away with it

Okay, maybe I exaggerated a slight bit ….

But still, the amount of specialization in the software industry makes it really difficult to match developers to open roles. Everyone uses a different set of deployment tools, coding standards and local development environments. There are hundreds of combinations of languages, frameworks, databases, ORMs and other bits and pieces that combine to make up any company’s overall setup.

It’s not enough to know several languages and their associated frameworks. A developer needs to be well-versed in front-end and back-end technologies, various pieces of connective tissue, devops systems and environments, and a bunch of other randomly associated bits and pieces.

The bottom line is I rarely feel like I check all the boxes for any given job, even after over 20 years of software development experience. (This was quite a bit different 10 years ago.)

The point of this post is to encourage other software developers looking for a job. The job listings may seem overwhelming, but you are not inadequate. The vast majority of developers cannot check all those boxes. It’s not a quality problem; it’s a matching problem. Keep searching. Keep applying, even if you only check 50% of the boxes. You will find your match.

Sounds like dating advice, huh?