==============================================
The ideal candidate has the following qualifications:
Deep understanding of front-end JavaScript development using libraries such as React, Angular, etc. Basic understanding of AWS Services, such as Lambda, API Gateway, CodeCommit, CodeBuild, CodeDeploy, and CodePipline Expert in CSS/HTML5 Deep understanding of development using either Python, Node, or Ruby Comfortable and excited about interacting with clients and end users Expertise in developing under Linux or OS X Desire to pursue AWS Development Certifications toward expert-level achievement Familiarity with SQL and NOSQL databases Experience with orchestration tools such as Ansible, Salt, Chef, or Puppet Experience with Vagrant or Docker Familiarity with continuous integration systems such as Jenkins or Bamboo Familiarity with tracking systems such as JIRA Ability to work independently and collaboratively – self-motivated, accountable, and able to offer up new ideas Critical thinking, troubleshooting, and problem-solving talents A balance of technical, business, and social/emotional intelligence Passion about learning coupled with an ability to learn new skills quickly
==============================================
Oh really!?!? So, you're looking for a sysadmin, a backend developer, a front-end developer and you expect them to be socio/emotionally well balanced?!
Is this an exercise for the hiring manager to feel better about themselves? Face meet palm, they're trying to hire Superman.
Fuck the hell off.
I've used every one of those technologies with the exception of Salt (Nothing against it, just have not used it). I don't think I am that much of a rare breed. Some of the AWS technologies many would not be exposed too, but learning an AWS build pipeline is not difficult if you have used competitors.
I don't think that is that crazy of a job description. If someone has focused on breadth of skill over depth, you are going to run across most of those technologies (With the exception of some of the AWS services I don't see that much).
Ive mostly worked for startups and its not uncommon for me to write front end modern javascript, build backends, orchestrate deployment pipelines and be involved in a sales call all in a single day.
I am very far from superman. Its pretty easy to be "Ok" at many technologies. Its pretty hard to be truly great at a single technology. I admire those who truly master a specific technology but I learned that my strength is breadth over depth. I am sure if a truly seasoned JS developer saw some of my frontend code they would have lots of suggestions for improvement, but that is fine by me. I can build stuff which meets the intended goals and generally everyone is happy.
For example, this job post mentions nothing about monitoring solutions like Zabbix or centralized logging solutions like Graylog or message queues like RabbitMQ or any of the myriad specialized data stores, etc.
I think this job description just says, "we want to see if you can contribute in the front-end, back-end, database design, have some literacy in the Amazon services, use development tools like Jira, etc." This sounds daunting when you read it, but over a span of a few months with a company or with a project, you'll get to experience most of these anyway
Basically don't read too much into lists like this. As long as you've heard of everything on the list and are good at two of the most import ones you're probably good to go.
My personal red flag is the 'development certification'. Most of the certifications I have seen are more about the appearance of expertise than having actual expertise. This is something that you almost exclusively see in large bureaucracies, which leads me to believe that (1) -- they don't know who they want -- is the case and they are using a scatter-shot approach.
I don't see bullet-proof or laser vision on the list.
Besides, wouldn't you want to know all of this? The bigger your tool set, the better your development.
I've seen lots of companies throw a giant mess of libraries/frameworks/services at a problem, even though nobody working on it really understands any of them, so they resort to solving every problem by googling. If expertise is to be replaced by StackOverflow, what's the point of requiring it?
I don't think I could have a "deep understanding" of more than a handful of these, in a lifetime.
... Or they could have purchased 1000 bitcoins for $10. :-)
PHP, SQL, HTML, CSS and Linux haven't changed so significantly since 2008 that someone who was proficient in 2008 couldn't relatively easily pick it up again today.
There are certainly new expectations and applications which arise every 18 months, but anyone who stays fluent will have little difficulty in mastering all of these - and more.
They don't say how long they'll give you to make it but I'd bet they'll expect it ready to ship in a few weeks or a month at most :D
What I am more surprised by is the unwillingness by many - indicated in the comments - to explore things outside their domain.
=========================================================
* Deep understanding of front-end JavaScript development using libraries such as React, Angular, etc.
Deep understanding of means you know these frameworks and libraries well. If you know these libraries well, you're a front end developer. The title front end developer exists solely because people need to focus exclusively in this area because the job is both challenging and complex.
* Expert in CSS/HTML5
Ok, not too crazy. But I wouldn't expect the Bootstrap guys to know sysadmin tools.
* Deep understanding of development using either Python, Node, or Ruby
So in addition to deep understanding of the front end, we also want someone deeply skilled in a general purpose programming language. AFAIK you can't have a deep understanding without being deeply skilled.
* Desire to pursue AWS Development Certifications toward expert-level achievement
Ok, so sysadmin/devops guy.
* Experience with orchestration tools such as Ansible, Salt, Chef, or Puppet
Sysadmin/devops guy.
* A balance of technical, business, and social/emotional intelligence
Basically we want someone that can do it all. Don't let all those requirements break your confidence. Leave that imposter syndrome at home!
========================================================
I wouldn't say it's an unwillingness. It's just not realistic. There's a reason cardiology and neurology are separate fields.
This job description to me doesn't read as "we're looking for someone who's handy". They want three people for one job. To me it's a bit appalling.
I'd say the more problematic part of hiring is in the interview stage, where inevitably you'll be asked questions around binary search trees, merge sorts, and the like. (Admittedly, I am also guilty of using such interview questions myself in the past as an interviewer.) I find that it's actually more reasonable to expect knowledge and working experience with all the tech tools you listed, than actually asking about inverting a binary search tree. I don't have good answers for what one should ask instead.
So true re: binary search trees, merge sorts, and the like. I think web dev's need to realize their real world work has more to do with plumbing than it does dealing with programming puzzles.
Unless you're FB or operating at web scale.
When a company wants such a broad skillset/range of experience, how would they interview for it?
Unrelated edit: I looked up the job post, and one of the listed benefits is "2 weeks paid vacation". Personally I would need more time off to decompress from constantly being pulled in different directions.
But I agree that the job requirements you gave as an example are insane, you can't be an expert in every stack of a product. At least not with the current implicit age requirement of the industry.
"Has skills in a single area"?
To be honest, it's not that hard to gain a bit of familiarity with all this tech.
That's basically what full-stack means. I don't get what's your problem with this is.
More than likely someone with this sort of technical capacity doesn't score well in other areas.
But if this is built over 5+ years by reading, doing and learning from others and teaching others while understanding what level of abstraction/detail meets the current and future business requirements reasonably well, it's not that difficult or rare.