Josh Mobley

You Are Qualified

Intro

This blog was written back in March, but a recent conversation has pushed me to get it finished.

The current state of the technology space is really unique. The skills gap is large, talented people are few-and-far-between and plenty of organizations are scrambling to figure out how to make it work. If you've ever been on the hiring side of developers, designers, or technologists, you quickly realize how slim the choices are.

So let's flip that around. What about when you're on the hunt?

Be Authentic

Before we go on, I want to make it clear that I'm not suggesting anyone mis-represent their skills or knowledge, ever. As a matter of fact, if you're going into a room with people who do that thing everyday, they're going to smell-out your lies pretty quickly. If the folks don't understand the space, you're setting yourself up for a tumultous and painful process of discovery for everyone.

Be yourself. Be truthful. Be patient.

Requirements & Requests

Ok, now on to the point.

More often than not, job requirements—particularly those for developers—are a huge laundry list of "we wish you had"s. Redux, React, Angular2+, Vue.js, Laravel, Rails, MongoDB, Postgres, SQL, Wordpress, Craft, Jekyll...and the list goes on. Nearly every type of tool or framework has many flavors, and it's impossible for a developer to know them all well.

Well this requirements list says I need to know Vue.js, but I've only worked with Angular 1.x...

I don't know Craft...

I've never even looked at Postgres...

Of course you haven't. You've been busy being a productive resource on your own tech-stack, and looking into new technologies as they interest you. Here's an example of one I saw recently:

Strong knowledge of Ruby is required. Real world experience building and maintaining Ruby on Rails apps is a must - from UI to APIs. This project will involve being part of a team working on an application used by tens of thousands of customers every day.

Our typical project stack is Ruby, Rails, JavaScript and PostgreSQL. We prefer developers who are are language agnostic and embrace testing new approaches to solve problems.

An ideal candidate is autonomous, proactive, and has experience working in a variety of different languages. We admire developers who take initiative, make their own decisions and implement them clearly. Front end knowledge is also a bonus.

So I need to be "language agnostic" but also have a strong working knowledge of Ruby/Rails. You use javascript and postgres on the stack, how much of that is my responsibility? You're asking for proficiency from the UI to the API (everything)...how is front-end knowledge a bonus?

This is a silly requirements list, folks. And this is probably on the sensible side of the spectrum.

Read Between the Lines

Unfortunately, whoever puts these job descriptions together are generally not the folks in the trenches doing the work day-to-day. Otherwise that example might read something like this:

Strong knowledge of Ruby is required, we build everything in Rails. If you've been building production-ready Rails apps for a couple of years, you're a great fit already.

The stack is Rails/JavaScript/Postgres. The Rails devs are usually required to help implement parts of the UI, and if you have experience or interest in learning more JavaScript, that would be a plus.

If you've been doing Rails development for 3+ years, and you like to learn new things, we want to talk to you.

More often than not, these job postings are the pie-in-the-sky imaginings of a "perfect candidate". Well I've got news for you, the perfect candidate might be you, and you probably don't feel like you match up to 30-50% of the requirements listed.

There isn't a magic well of jobless senior-level developers just walking around without jobs, projects, and new opportunities at every turn. Most places are going to have to let their developers learn-up on the job, and I'd argue that if you want highly-engaged developers, that's exactly what you want.

Flags, Red and Otherwise

So I say all of this to encourage you. If you see a job posting that looks good, but you feel somewhat unqualified for, apply for it.

That being said, if its a posting that lists a bizarro amount of requirements, I'd approach with caution. That tells us that there's a disconnect from reality somewhere between their engineering team and whoever updated the website.

Is it just a description that's been on file for 5 years and no one has given it a second look?

Does an engineering lead really think that it's a reasonable list?

It's in your best interests to find out and assess whether or not it's indicitative of a larger cultural problem within the organization, and if it's something you can live with or if it's a deal breaker.

Conclusion

The state of web development is a splintered, specialized mess. There's no denying it.

Don't allow the disarray of our craft make you feel less-than. No one knows it all, and reasonable hiring managers don't expect that you do either. If you find an opening at an organization you admire, go ahead and apply—you might just be the "perfect" candidate.