The making of a beast
This article is for the software development audience, but I'm sure it applies to other industries as well.
I've talked to many aspiring, and junior, developers over the years and one of the most popular questions I get asked is...
"Why are there so many requirements on a job posting? Do they really expect everyone to be an expert in the 12 things they list?" - Susie Q. Student
The answer to the first question is complicated, but the answer to the second question is a solid no. Having seen this process unfold many times over the years, let me describe for you the process on how that list gets created.
Someone in the organization states that a new software developer is needed. Either the current team is too overloaded to handle current, or future, work, or the skill set of the current team is too limited and someone else has to be brought in to fill the gap.
Someone fulfilling the human resources capacity of the organization is contacted to put out a new entry to their careers page on the web site.
Human resources representative sends an email to the person leading the technical team in order to gain an accurate understanding of what the team's current skills are so that they put the right information on the job description.
A meeting is scheduled with human resources representative and the technical leader, and even sometimes the entire technical team.
Meeting takes places when technical representatives, who rarely get a chance to really think about all the things they do on a day to day basis, have a field day and talk ad nauseum about all the skills they employ to get their job done.
The human resources representative, not knowing how to distinguish between what are core skills and what are not, writes everything the technical team says down on a legal pad.
Human resources representative compiles a beautiful job requirements document with all 12 items that were documented during the discussion, and sends it off to the hiring manager.
Hiring manager reads it quickly and thinks to themselves, "Hell yeah, we definitely need a person who knows all this. Go get 'em!" The hiring manager sends an enthusiastic email stating that the description looks great, and walks away feeling pumped that the team is going to get a new superstar.
Your company doesn't do this
Yes, I know. Your company doesn't do this, right? I get it. There are exemptions to everything, but by and large this is the general process and why there are so many ridiculous job postings that looks like this.
Come work for Acme, Inc! We're a team a hip, young people working on disrupting the X industry! We need you to help us grow and take our product to the next level!
Here's what you need to know.
- Ruby on Rails and Java for our microservices architecture
- Modern front end frameworks like Angular, React, Backbone, jQuery, Sencha and Webpack
- Able to deal with browser compatibility issues
- Web accessibility
- REST API development and maintenance
- Mongoose and Redis
- Experience writing Express applications in Node
- A master of Git
- Experienced in test driven development
- Knowledge of Erlang (because we love it, but don't really use it in production yet)
- You should know how slice and dice your way in Photoshop
- Have worked on the AWS platform
What the HR rep and the technical leader should do is really take a critical look at the core skills that a candidate must have to become productive in a week or two. All the other technologies that are used occasionally, or rarely, or that can be easily taught on the job should be left off of the job description.