I so relate to this.
I was specifically poached from one department by another for a new position within my company. HR process requires internal transfers to apply for the posting on the company website. I did so overnight, and about 15 minutes after HR got in for the day the next morning, I got an email telling me thank you for the application but I would not be considered or interviewed for the position.
My new manager had to fight with HR to even get them to send the application she had requested from me on to her because I didn't precisely tick all the checkboxes on the posted job description. This despite the fact that A. she'd specifically gone after me because her people knew the work I was already doing and knew I'd be a good fit with them and B. the position had gone unfilled for months, was badly needed, and the apps HR had passed on were a far worse fit for the job.
I mean, I had the odds about as stacked in my favor as you can get and it was still an uphill battle to get me hired on. Makes me cringe to think how many solid people we have to have missed out on because HR rejected them out of hand.
Meanwhile, we were having to spend several multiples the cost of an employee on outside consultants just to keep daily operations going and had been doing so for months.
It probably doesn't help that tech isnt our core competency and we work in an industry that's occupational license heavy, so HR is probably used to being highly selective, but there comes a point where not just cross training somebody that's already been vetted by the hiring manager --and actively resisting it-- when having the position unfilled is costing the company serious money just gets absurd.
It is a board-level decision on salary ranges that prevents you from hiring "at market".
Clearly there will always be some excellent developers at any given moment, available to work sub-market for their own, irrelevant reasons - and these will be the "unicorns", and typically your dev team will be full of them (somewhat by definition because they have already been hired by the unicorn-finding process).
The question as to why many (most?) highly profitable companies refuse to "pay market" is very interesting and I do not have a good answer to.
The best I can come up with is that actually the company (i.e. the important people in the company: the board) explicitly doesn't want to pay for the best (or even above average) candidates, through some recognition/perception that they "do not need the best". But the development team does want to hire good guys, and so you have a kind of stand-off by proxy between the technical team and the board via HR.
The board may be focussed on a buy-out, or this year's figures or making some kind of an exit. I very much doubt the board for most companies sees developers as anything other than a fungible commodity.
Add in the fact that developers are seen as subordinates to management, and that many developers are already approaching or at their managers' (often low-ish) salaries(1), and I think advertised developer salaries will continue to be massively under-market (there are of course exceptions).
(1)Of course managers often get 100% bonuses while developers do not, so this is an untruth, but humans are emotion-driven and so this barrier remains. Realise that companies will happily pay way more than 2,000 USD per day for the very same resources they will not recruit for more than 75,000 per year, and the picture is complete.
The situation is exacerbated by our inability as a field to successfully discriminate between good and bad hires and our resultant desperate, near religious avoidance of false positives in the hiring process.
The job was for a devops type role with a very niche healthcare environment. Simple fact of the matter is that very few people that already met the requirements they were asking for exist and expect to be paid market rates as a result. That means most people have to train into the role.
The massive disconnect with HR was that they were totally unequipped to understand what skillsets would translate into the position they were seeking to fill. The massive problem with their process is they weren't involving the hiring manager in determining those skillsets and were actively resisting her input on the matter.
I don't doubt that their were probably candidates that would have been an even better fit than I was that were rejected out of hand because HR didn't know what they were looking at. The only reason my hiring manager knew I evn existed was because she had specifically asked me to apply for the job.
Before the MBA scourge hit the land, managers tended to hire the first B or C players that seemed to have the right aptitude and attitude. They would fire fast too, when they made mistakes. In the end they got long term productive employees and, I MUST point out, they did successfully build the modern world that we marvel at around us.
1. Finding good mentors is hard, because companies (even large ones as opposed to startups) have cut back and folded several positions into one, all while wages are flat. That means nobody has time to mentor. Everybody's working insane hours at their primary responsibilities. Only the most well-funded startups do mentoring well. Most startups are "all hands on deck" with developers doing a lot of other functions essential to business that wouldn't normally be part of their job description. But these functions are "tyranny of the urgent" life support and there's no time for training.
2. Everybody on both sides of the table knows that the only real way to get a raise or change direction is to leave and get a new job. That's good for the employee who wants to be mobile and transferable, and good for the company that needs warm bodies and is growing, but it's terrible for training/mentoring and the people who want to think long-term.
The problem then becomes that there isn't enough skilled talent. If companies aren't going to train developers, then who is? Computer science isn't software development. Someone or something other than a company has to fill the training vacuum, and that's why coding bootcamps are getting popular—even though a lot of people don't trust them yet since they are in their infancy and are a new paradigm.
I guess this is what pricey conference workshops are for...
Your interpretation of it being insulting doesn't preclude it from being true.
The majority of candidates have never used source control or haven't spent the time to brush up on basic data structures questions.
People list 100 technologies to get through the automated HR filters. If companies would just list the core skills required, instead of a unicorn wish list, people would put less keyword spam in their resumes.
Your adversarial approach to hiring doesn't help. You think of it as filtering out incompetents so you can concentrate on successful candidates. I think of it as shooting down candidates without giving them a chance to show what they can do.
I suspect that your job requirements may be a bit unrealistic. Expert at Objective C and Swift and design with apps in the App Store? Chances are that person already has a happy job, probably working for Apple.
I currently (somewhat) interact with people that have rejected me for jobs in the past (within the local tech scene). I find it difficult, but such is life. It is easier to handle when you're not still looking for work and interacting with the person that rejected you for what (to you) was a petty reason.
It is good to hire for attitude. You can always teach new team members new skills but it is next to impossible to change their attitudes.
> After harassing HR at my company,
Ah, yes. HR. Could they be part of the problem.
The majority, if not all, of the incoming (just of of college) class did not major or obtain a degree in anything sales related (business, management, accounting, marketing, etc.). Most of them graduated with mechanical engineering degrees. Why? Because it is easier to train and teach someone how to sell than it is to teach some the technical details (physics) of HVAC systems. It is also easier to sell when you know and understand the product you are selling. Most of the units sold are custom built for the particular building they are being used on/in.
Likewise, it is easier to train or teach someone a new programming language than it is to change or modify someone's attitude and personality.
We're now stuck with serious inefficiencies in the organisation and people that under local labor protection laws are hard to get rid of and replace holding key positions.
This may be easy to overcome in a larger organisation in which the underskilled enthusiasts are surrounded by more senior appropriately skilled coworkers, but in a smaller company it's a disaster.
Commonly referred to as the "secretary selection problem" https://en.wikipedia.org/wiki/Secretary_problem
> 5. Immediately after an interview, the interviewed applicant is either accepted or rejected, and the decision is irrevocable.
Many companies actually think this is the way things have to be done in the real world!
I once worked somewhere they were trying to hire a software engineer with a very particular technical skill. They interviewed a few people and then interviewed Candidate X. He was very good, but not a "unicorn A++++ hire" so the company decided to hold out for a better candidate. 6 months pass, and none of the subsequent applicants were better than Candidate X, so they finally swallowed their pride and called him back. Luckily, he was still looking to change jobs and we got him, but that was 6 months we could have had another person powering our (then) 3 person team.
With regard to internal hires, yes, the jobs are posted to meet some HR criteria and are merely a formality and thus get filled quickly.
But.... This is in tech which accounts for a minute part of all jobs opps, so what applies to tech may not necessarily apply to non tech jobs.
Well it is Vox.com
The skills requirements are absurd. And for me they are a bit like a red flag - every job that has 3 pages of technical abbreviations is not worth applying for. Good jobs are always by personal contacts first.
It mentions that wages have been stagnant as proof that it isn't that people aren't applying for jobs that have low pay, but only uses wage statistics as evidence for that, which doesn't really indicate one way or the other that such is the situation.
I think the thing it really misses is the increased conceptualization of open positions that makes it so about the only person in the entire world qualified for a job the way it is posted is either the person that had the job previously, or the exact skills of some other team member.
I assisted in hiring a technical person at a previous job over a decade ago, and after finding no one with the skills we wound up just hiring the most enthusiastic person, and they wound up over achieving.
After harassing HR at my company, I finally made a lateral move where my manager told me he thought at the time of hiring that they needed someone and they thought I might be able scrape by, but now they want me to find someone else just like me.
I've read other studies drawing parallels to online dating and in the face of abundance you keep holding out for something better.
Either people have to do the hard work to generalize the description of the kinds of skills they are looking for that doesn't wind up into yet another set of impossibilities, or the entire hiring process needs a complete reset in some other way. While we're at it we should probably throw degree requirements out the window, and the silly hiring puzzles everyone has been upset about.