The point of the blog post is that employers need to learn how to do hiring and not expect to outsource hiring to companies that get rich off of productive companies being clueless about hiring. That sounds like good advice. As a data point, one of my all-time most-liked comments here on HN[1] is my FAQ about company hiring procedures. Yes, people who run companies that innovate and make new products and services still have to learn the timeless facts about how to hire good workers. There is no substitute for the head of the company having a firm, reality-based idea about how to add workers to the team.
Successful hiring is an outgrowth of successful management. Know what you are looking for in new workers--not just what they should be able to do the day they are hired, but what they will grow into as your company grows. Be clear about the difference between hiring clones of yourself whom you'd like to have as friends and a diverse workforce full of smart people who get things done.
As my FAQ says, use work-sample tests for all your hiring. Don't trust educational credentials, but rather verify. Use legally safe means to find out who is smart and can learn more on the job. (References and expanded details on these points are available at the link.)
The saddest thing I've seen in my career is that most managers don't realize that hiring is a huge part of their job if their team contributes materially to the bottom line (directly or indirectly) and can grow that contribution by hiring people.
The people the hire managers and promote people to managers rarely stop to ask:
(1) Can this person keep the people underneath them happy and productive and make them happier and more productive?
and
(2) Can this person actively seek out other people to work under them that are productive?
Hiring in too many businesses is outsourced to HR. i.e. A department manager goes to HR and says "give me someone who can do X, Y and Z". HR is then left with only keywords and has little knowledge of whether or not a candidate with a differing skill set could also perform the job well or better with a little training. Only the department manager has enough knowledge to hire correctly for the needs of their team. Why we ever let them get away with outsourcing this core responsibility to HR is beyond me.
I'll tell you what's going on. It's a nightmare to hire someone. All the reporting requirements, all the paperwork involved, all the taxes and insurance requirements.
I certainly don't want to actually hire anyone unless I absolutely have to, and even then I will get "independent contractors" or use temps if i can first.
This sounds like a political statement. Obviously those sorts of requirements do exist, but they exist for everyone and in most cases scale as O(1) and not with employee count. They might plausibly be a barrier to hiring a first employee. They certainly aren't causing unemployment. As an existence proof, virtually none of those factors changed across 2008-2009, when we saw the biggest swing in employment rate since 1928.
> in most cases scale as O(1) and not with employee count
I've read in many places that startups and small businesses are a very important engine of economic growth in the US. Since that O(1) obstacle disproportionately hurts small businesses, it could serve as a long-term brake on growth.
But almost all "small" business are hobby ones that dont generate any large scale employment ie grow to several hundred employees.
In the UK the government pushes people to become "self employed" as it flatters the unemployment stats before that it was encouraging doctors to sign people of as disabled and on to a different benefit.
It's a political statement, though not obviously wrong.
For example, the US employer-provided-healthcare thing is an absurd burden on small businesses (and medium business, large business, and for that matter, the entire concept of labor mobility) that absolutely needs to go.
Of course, the better question to ask is more simple: how much is your time worth when it comes to hiring?
Because hiring takes time amount X, which presumably has value to you. But an employee will cost Y - somewhere on the order of say, let's say $50,000 - per year, in outgoing salary to them. So the question is, how large is X? How much money are you willing to spend hiring someone, considering that an employee, even if you had to do nothing, costs you $50,000 a year.
How much extra is it though? If there was a monetary cost to the extra paperwork, like paying someone else to handle it or accounting for the value of your own time. Would that be a significant fraction of the total cost of hiring someone?
So much of modern hiring seems like C. S. Lewis's comments about searching for your keys under the street lamp. There's a talent shortage, since everyone in the light has been hired. There's massive under underemployment, since everyone in the shadows can't get hired.
There's a few dozen billions to be made by the person that fixes the problem. I wish I could comprehend the scale of the problem - it'd be nice to be that person.
Unemployment is basically caused by fiscal policy. (Which is to say, it's political, since economics is political.) Unemployment is actually rather absurd when you think about it: people can't get jobs, even though by definition they want to; and there's lots to do. Not only do we have an economic system which has such a weird wasteful phenomenon, but we also pursue policies to ensure this phenomenon occurs.
This is true but I take it in a different direction than you probably do.
Most of the help we give to the unemployed is contingent on two things:
1. They don't have income and
2. They are looking for a job.
That seems like a great way to test for unemployment benefits but what it fundamentally does is ensure that if you are unemployed and need the help you can't try to supplement through self-employment. Thus our current unemployment assistance largely works to discourage new businesses from starting.
A better system would be a mandatory severance system where if you find yourself unemployed, you get a lump sum. You can look for a job, become self-employed, try to start a business with it, or any combination of these. But when it is gone, it is gone.
In fact basic income would provide both better incentives for those without a job and increase liquidity in the employment market since people would no longer have to suffer a crappy boss or work place out of fear.
Unemployment is primarily caused by monetary policy and secondarily by fiscal. And due to structural issues of an economy, there is a natural rate of unemployment.
Lending is the lifeblood of any economy. If you play around with the rates, significant outcomes can happen. And the Federal Reserve, through the FOMC, has been influencing the interest actively since 1979.
There is a reason the term is "talent shortage", not "labor shortage". Yes, there are tons of unemployed people. A vanishingly small proportion of those people can actually fill the jobs that people are hiring for. Hence: talent shortage.
Yes, hiring unexperienced people and training them is an option, but you can't do that for your entire engineering team. Hiring new grads isn't a problem, hiring people senior enough to make those new grads productive is.
In short, not only is this post an advertisement, it's not even an accurate one. The talent gap is a significant problem, and it's only going to get worse if we don't acknowledge it.
Well, it is not a "talent shortage" except in HR. It is a "credentials shortage."
Here's the thing. I don't have a CS degree. I can program financial systems pretty well, but I am not a CPA either. I know enough about these things to have intelligent discussions with accountants and CS experts.
However I engineer frameworks for building accounting systems. I can do this self-employed. Nobody asks me for credentials. People find the software and they come to me for services. I also provide database consulting.
However from time to time I get job offers. During tough times I have inquired about them only to find out that I am "not qualified."
So I am "not qualified" to do a job for which they will pay me less than what folks pay me otherwise, largely because I do not have a piece of paper saying that someone else says I passed some classes. So I don't care, get back to running my own business, and work on growing that.
Excessive credentialism is a problem here. Companies don't know how to recruit, and they expect HR to do the wrong things. Resume-screening by HR is the single biggest problem in employment in the US today.
This is true for some companies, sure. It doesn't tell the whole story, though. As a counter-anecdote, I've had no trouble being hired in engineering roles with no CS degree, and nor have several acquaintances of mine.
In my experience it is the general rule (there may be exceptions) for companies which have HR do resume screening unless you have an in with the employer or manager.
"unless you have an in with the employer or manager."
That's usually the key point. I have a number of friends without college degrees that do just fine. Their usual modus operandi is to meet someone from the company at a conference, consult for them for a while, and then get hired once the company sees how awesome their work is.
I wish this weren't needed, but hiring managers function under conditions of very low information, and they wade through too many resumes of low quality to avoid filtering it on some criteria. Degrees and GPA are the most easily quantifiable filtering criteria, and so that's what makes it into the filtering software.
The problem is that "competent staff" are still under conditions of low information, deluged with resumes from unsuitable candidates, and lacking suitable discriminating power between the resumes they do see. I'd encourage you to look through 100 random resumes online and try to decide who you'd hire; most likely, you will pick someone like yourself, not someone who's best for the job. In other words, don't hate the player, hate the game, because otherwise you will end up hating yourself.
I think what's ultimately needed is a way to reveal more information about a candidates' abilities in a very short amount of time. Contract-to-hire works for this, but has the problem that many candidates (and in particular, good candidates) don't have time to devote to a project that may lead to a job. So does tokenadult's persistent suggestion of a work-sample test (and HireArt's implementation), but these both have the problem of being able to cut down an employee's daily duties into a small problem that can be given as a short task. Many of the skills that a really experienced employee brings to the table are only evident on long, hard, extremely challenging problems.
What is ultimately needed is a renewed understanding that personal contacts are what are important and for both hiring managers and potential employees to seek out these kinds of connections.
I just wonder how much of this talent gap is real. For example, if I am looking for Ruby on Rails experience and I have candidates with strong python and Django experience are they off the list? Or how about someone that has done PHP for a long time and you are looking for RoR.
Or let's say someone with Java experience is available but you are looking for Scala. I just use these as the initial comparisons but I'm sure there are more. Can you not let the python person train up on Ruby on Rails and have a strong candidate?
I understand its best to match one to one what is being looked for, but I wonder how many good candidates are being passed by because they don't fit the perfect stack but are likely able to perfectly adapt.
"For example, if I am looking for Ruby on Rails experience and I have candidates with strong python and Django experience are they off the list?"
I think in most companies yes, they're off the list. Bottom line-ism is king these days. Companies see bringing someone in and up as a cost, not an investment. All they want to do is pull from the well, but not put anything in. They want perfect fits, and they want other companies to make them. It sounds like a frighteningly random and risky policy.
Would it be possible to sign employees to a contract then? Flip this on it's head. i.e. we're happy to take you on board, but you have to work here for 2 years at X rate.
In the US (I know, this is a global community) we are largely 'at will' employment (a quick google suggests that only Montana is an exception). Such a contract is not enforceable. To lock people in we use things like vesting - you get stock grants, bonuses, or what have you, but only vest into them over time.
I don't think the experience requirements are exactly where you're imagining, but I think it's still there. I've been doing database backed web development for quite a while now, and I've had jobs doing that in C, TCL, perl, java, C#, python, Delphi and ruby. But they were all chiefly database backed web development, so basically the same thing, despite being completely different languages.
I expect I would have significant trouble getting hired to do a different specialization, like parts of a videogame engine (say c or C++ or python or lua). So as long as database backed websites are in demand I'm probably ok, but if those disappeared tomorrow I could become a statistic - if everything becomes apps, I'll manage, but that round of interviewing won't be as easy as the last few rounds of interviewing were and I'll probably have to take some personal time developing a demo to talk about.
I've seen two friends with mainframe experience end up having lots of trouble finding new jobs - they could certainly program, but had nothing they could point to that seemed relevant to the web dev jobs. And a friend who works on videogame engines is trying to make a switch to websites and it's looking hard to make that switch.
So, I don't think it's strictly along language lines, but I do think employers are hesitant to sub in one type of programmer for another. I'm not convinced they are wrong - there's lots of specialized knowledge to pick up along the way that mostly seems to be taught by screwing up a project at some point, and it's safer to hire somebody who has already screwed it up elsewhere once.
Speaking for myself on the specific points you've raised: We're a django shop, but being a rails dev doesn't rule anyone out. A demonstrated record of shipping product and solving hard problems, regardless of language, is generally better than a lot of buzzwords that happen to be on point with the tech I'm working with to day. That candidate will probably get a phone screen, at least. A list of job responsibilities or technologies on a resume won't get you an interview if that tech isn't a good match for what I care about today.
But that's rails... ruby is a pretty strong language, and it's a much closer map to python than other options. As for your other languages...
Someone who's spent their life in PHP with no experience outside that language? At this point, I'd probably pass on that resume. The problems I deal with require a breadth of experience in deeper software engineering-y topics: networking, storage, maintainability... my assumption would be that you haven't been given hard enough problems that require you to get outside of the PHP box, if that's all you've ever done.
Similarly Java vs. Scala. I see a lots of J2EE resumes, and my experience with interviewing those folks is they may understand the J2EE/Hibernate/SOA/webapp stack, but when it comes to non-webapp problems, they're lost. I'd be more likely to talk to someone who has Java, C and Python experience, but no Scala, than someone who's got a broad Java base but has never branched out of that particular language. Scala experience, whether or not immediately relevant, is more likely to be correlated to be harder problems, self-development and exploration -- at the very least, that someone is trying to keep up with industry trends.
Maybe my J2EE and PHP judgments aren't fair; but they're heuristics developed over some time.
It seems like the requirements for jobs continue to increase. Not too long ago, you could get a job just having experience in one/a few language(s) with a few things in a portfolio.
As a guy who's always looking for advice on getting an entry-level position, I've been told to learn a dozen or so technologies before applying for a junior position: HTML, CSS, JS, Python/Django||Ruby/Rails||PHP, Linux, Data Structures and Algorithms, Photoshop, Design Principles. I also need to have some good quality projects and approach hard problems, which can be time-consuming and difficult on your own. Even then, some places filter out candidates who don't have a CompSci degree.
To me, this seems a little high for a junior position (Any company, not Google) and sounds more like a full-stack web developer (I'm just shooting for a Front End spot). With no professional experience, there's no way I'm going to be proficient in all of those domains unless I spend a long time learning on my own and that doesn't exactly pay the bills.
As the problems get harder and more people drift towards CompSci, the requirements for even a minimum-level position will continue to increase, while the time to learn all of the requirements remains the same. This will hurt the talent pool in the long run, although people that have been riding the wave will command very large salaries if the talent gap continues to widen.
The problem is that even at the junior dev level, you're delivering solutions, not skills. And you really do need all those skills to build a useful frontend webapp. The only two that you could possibly cut out are Data Structures and Algorithms & Photoshop, and both of those definitely help.
The way I would approach it if I were gunning for an entry-level frontend dev position would be to just start building webpages. Start with HTML, and layer on CSS. Make it interactive with Javascript. Now serve it up from the backend with Django/RoR/PHP, which will also teach you Linux. Work with it for a while and you'll see the reason to learn Design Principles. You don't have to learn everything about those topics at once, but as you face new problems with your webapp, you layer on new skills.
Having some experience in one of those frameworks is certainly useful but it's not really a requirement of being a front-end dev.
As long as you're intelligent and can use Google you'll pickup working knowledge of a language or framework quickly. This is why the best companies hire people based on who are they are, not what they know.
There is also the semantic issue of how deep one must understand a language or framework. For example; I build custom WordPress themes and have a general knowledge of PHP but I'd never put on my resume that I know PHP. Not because I don't want to work with it, but because working knowledge doesn't constitute extensive knowledge.
A junior level position for a skilled worker usually requires at least an undergraduate degree, which is four years of training. If you aren't getting a CS degree, you're still perfectly eligible to get a position, but that doesn't mean you get to skip the training. The tech you need to learn for a junior position can easily be learned in an equivalent four years, and if you're committed you can probably learn it in a year or less. That's a hell of a lot better than the situation for other skilled workers.
If you want real advice for getting an entry-level position, it's actually quite simple. Step one: build things. This will help you develop the necessary skills to contribute to a team. Step two: tell people about them. The majority of job openings are filled through referrals and networking; sending in resumes to job postings online is a very inefficient use of your time.
Go based on the job description and if you find a company you want to work for, figure out what technologies they use internally via open source or LinkedIn profile skill sets and job ads. Write on your resume specifically what the job ad asks for, practically repeating what it said, and mean every keyword. If you don't have the skills listed, don't apply for that specific position. Full stack or not, if you want front-end, learn front-end technologies. Starts with the browser, might end at the backend, but honestly? People will love you if you simply don't mess up existing code and can learn on the job from more experienced devs. I don't think that will ever change, it's just getting your foot in the door that's more interesting. As much as possible, try to gain the interest of your prospective manager and ... sometimes it just takes luck for both you and your prospective employer to agree you're a good fit long enough to sign the paperwork and deliver during the first few months. It's okay if the job's not what you expected, as that's happened to me for pretty much every job I've had. Thankfully, for most employers, "just doing your best," is enough. Mostly.
This idea is missed by a lot of candidates "Write on your resume specifically what the job ad asks". When I am navigating the online job posting jungle there is one thing I try to remember, you are being judged by the paper you present. Your goal is moving to the next step (interview)so you can dazzle them with your skills/personality. Spending some time learning about the tech the company uses, and from the JD, how they use that tech instead of rushing as quickly as one can to the submit button can make a huge difference. Give some consideration to who is on the other side of that submit button. In most cases the person reviewing your resume is not technical and could really use your help discovering why you are a fit for the job. At some point the non-A playing Ninja Rock Starey regular folks (myself included) are playing a numbers game and tailoring your resume to speak to the specific position/company can help shorten the odds. That being said, networking is by far the best way to find a gig but can take time, and always works best when you have a job.
They're both generally used to solve one problem and, while they both may be really great at it, don't have a lot of applicability to other things. It isn't a bad filter - don't bother with someone who only has experience and interest in one of the tech stacks that's a total institution.
Nope, people with Django experience are definitely not off the list. PHP isn't off the list either, though the signal-to-noise in that community does seem (anecdotally) to be a lot lower. In my experience people cast a wide net for senior candidates in terms of what they've worked on, the important thing is how they've worked, what roles they've taken, what teams and projects they've led and shipped. Basically, people that can be trusted to build a solid foundation for the more junior candidates to build on top of. Even with a wide net on the specifics of their experience, candidates like that are still not easy to find.
Is this specified in your position description? Because that's anything but standard.
I feel a lot of employers are exceptionally bad at communicating their actual requirement. Ironically, one of the sure sighs that your job description is bullshit is having a line that says "excellent communication skills". Anything about "fast-paced environment" too.
Well, at risk of going on a bit of a tangent here, realistically my experience in every field is that a distinct minority of jobs ever get filled through formal job advertisements. The vast majority of hiring happens through referrals and networking.
Bringing it back to tech specifically, in my (anecdotal) experience people are rarely bothered by lack of knowledge of a specific framework assuming that the candidate has experience in something similar, or more generally if it is safe to believe that the candidate can get up to speed and contribute in a reasonable amount of time.
At this point we are of course just comparing anecdotes. I will also note, though, that there are a lot of very different subsectors within tech, and hiring practices vary widely between them. In accordance with the venue I am here mostly referring to startups (including late-stage startups).
With all the articles about how terrible just about every company is with hiring, do you think maybe the "talent shortage" is a misnomer and side-effect of companies being outright terrible at judging "talent"?
I think that both phenomena exist and that both contribute to the problem. Which is more significant is hard to tell. In my experience, the talent gap is a bigger problem, but I'm sure there are plenty of people with the opposite experience.
Well based on what you said, the claim that there is a "talent shortage" seems baseless, given that companies are unable to judge talent.
I suppose the salaries of engineers are evidence enough that there is a talent shortage. Though, I've been perusing for a job and would not respond to maybe 85% of job postings because companies can't clearly articulate what they do and what the position they're offering is. I've been to plenty of interviews where they clearly haven't looked at my github, and then ask me odd, incredibly domain specific algorithm questions, and then turn me down as untalented. I've been to plenty of interviews where they think I'm talent, but in all their bragging about how talented their team is, I see signs of lazy engineers.
I think your judgement of how small the hiring problem is is way off. Coupled with companies' unwillingness to hire and train mid-level engineers to senior level (which really only takes a few months with an interested candidate) is the bigger problem.
Some companies are unable to judge talent. Others are able to judge talent quite well, and those companies still have difficulty hiring (mainly at the mid to senior level). That is my argument for there being a talent shortage.
Re job postings, most jobs are not filled through job postings. If you want to find a job at a company that knows how to hire, you will have much better luck if you find the opening through networking or a referral. I have literally never got an engineering job through any other channel. (Note that this does not serve as evidence toward your indictment of HR, most networking/referral hires still go through HR to at least some extent).
It's not a language talent gap, as learning the ins and outs of a new similar language is not a big deal. It is the talent gap of all the other related tasks that go into engineering and development.
Yes these can be learnt by a motivated junior developer reading books and the like, but they can be taught and explained better and faster by a senior developer.
Case in point when I started at a real programming job, I already knew how to program pretty well, but it was the other organisational and system design concepts that I needed help with.
The Pragmatic Programmer, Code Complete, and others in that sort of vein come to mind. Though some of those can be a bit language (and version thereof) specific.
It comes down to living in the trenches yourself or learning from someone that has already done so.
I think you nailed it. Employers today have been taught by database/algorithm-drive search that they can get the perfect candidate if they just keep polling the database. In many, if not most, cases, I think they're far better off hiring a smart person who can ride a fast learning curve without falling off. They also get the high motivation that comes with a new hire who is pumped to be doing/learning something new. But, how many managers are really good at picking out people who can learn quickly and come up to speed?
Talk to your developers. Unless they are quite inexperienced they should have a personal appreciation for why language and platform experience are not the most important things to look for...
I think he means put more money on the table, ie include the salary in the job advert. I personally am not interested in talking to anyone that doesn't put that information up front. Maybe it's a Euro thing on my part.
I enjoy Nick's work, but I am not sure how applicable it is to many software jobs:
People must stop begging for jobs
It’s time for people to stop thinking about jobs, and high time
to start thinking about how — and where — they can create profit.
If I run a company, I’ll hire you to do work that pays off more
than what I pay you to do it. Today, virtually no employer knows
whether hiring a person will pay off. That’s why you need to know
how to walk into a manager’s office and demonstrate, hands down,
how you will contribute profit to the manager’s business. That’s
right: Be smarter than the manager about his own business. Stop
begging for jobs. Start offering profit.
Because if you can’t do that, you have no business applying for
any job, in any company.
I haven't seen too many software development positions in large companies where you can walk into a manager's office and demonstrate you are smarter about the manager's own business than he is.
I know more about your specialized domain than you?
I know more about design for your specialized domain
than you or your designers?
I know more about the algorithms developed in your
specialized industry than your engineers?
I know more about database design used in your
proprietary application?
I know more about the customers for your specialized
domain and their needs than you do?
And I'm supposed to be able to claim that for any software development company I interview with regardless of industry?
I enjoy working in software, and I think I am pretty good at it, but one aspect I enjoy is that moving from company to company I learn about new domains, new industries, new algorithms, etc.
Pretty much every job offer I've gotten has involved walking into a manager or interviewer's office and pointing out things he can do better with his business. It's often not core stuff, but I'll frequently point out UI improvements they could make, or new technologies they may want to take a look at, or new algorithms & data structures that can solve their interview questions. And on the flip side, I enjoy learning about new businesses and new techniques they're using to the greatest extent that they'll share them with me.
A-players are not threatened by this. B-players are. I've found that it is generally good for your career to try to work with A-players whenever possible and avoid B/C/D/F-players.
I've had a similar experience. I've found out, though, it isn't really what you say, it is how you say it. Be assertive without sounding arrogant and pushy. If you go in to an interview and pretend you are a consultant selling your services, and not someone who is desperate for a job, then chances are better you will get an offer. Now part of this is reading body language, to see if what you are saying is triggering a happy emotion in the person interviewing you. For example, in my current position, it was apparent that things were in chaos. I started mentioning some automation tricks, and that lead into a strong emphasis on repeatable processes. Turns out, that was the key phrase that got me hired -- I found a dozen ways of giving the same message of automation, repeatability, and trackability. In a previous position, I had sold the hiring manager on a design for a web based user account automation system (kind of accidentally). Turns out that was their biggest pain point at the moment, handling a huge stack of account request forms. So either I was very insightful during the interview process, or extremely lucky. Or, I happened to take my vitamins that morning.
Also knowing what you can contribute to their business is much easier than knowing what you can contribute that they don't already get from one of their current employees.
I'd seen that before. Leads to the embarrassment of interviewing "Javascript Engineers" for a Java position and having to inform the applicant that your HR department is full of fools.
That is hilarious. Really though, most people in our industry are constantly being recruited for jobs we don't want or aren't vaguely qualified for. But, hey, it keeps LinkedIn in business!
"Employers don’t do their own hiring, and that’s the #1 problem. Employers have outsourced their competitive edge — recruiting and hiring — to third parties whose heads are so far up The Database Butt that this little consortium should be investigated by Congress."
This. Personally, I completely and absolutely blame the employers for this mess that they have "talent shortage". I am amazed with the whole recruiting ecosystem if there is such thing here. People are the most important assets of a company and giving this responsibility to a third party (read vendors/recruiters/agencies) just does not work. But again, most companies do not really bother about this. Until we stop calling people as "resources" and "head counts", this broken recruiting model will never change.
These "vendor databases" that he is talking about is a major irritation. I still get emails from some random recruiting firm where I might have sent my Resume as a fresh desperate undergrad 10+ years ago. This needs to stop.
IMO many companies do not hire "underqualified" people (ie people who do not exactly match the job description) because they're afraid to hire, train and lose employees. They fail to account for the opportunity cost of lost profits due to "waiting longer" for the right hire. I'd rather have a profitable employee after 1-3 months of training than to search for 6 months .
You pay them lower but fair salary while you are training them and then pay them a fair salary when they are trained. If you train them, you've increased their value and you're expected to pay for that additional value even if you are the one that did the training. Training an employee is a capital investment with a much greater cost of maintenance, you just need to factor that in when hiring.
Just because you paid for the training, does not entitle you to keep paying someone in perpetuity at their salary before being trained.
Basically the thinking is this: Cost of training * expected return on equity = Amount I should be able to extract out of the trained employee forever.
Selecting arbitrary numbers to keep things simple, if it costs $1000 to train the employee, and you want a 10% ROE then you expect to earn $100 per year more on that employee, forever. If the employee leaves they take that $100 per month potential away.
This leaves a few paths for employers: 1) Pay less until you have a return of capital, 2) Dont up the salary after the "asset" is upgraded, allowing you to get a much ROE as possible. 3) Dont hire untrained people, so you can capture ROI from others' training.
All of the above ignores the opportunity cost of not hiring. I presume for most profitable and busy companies, the lost opportunity is greater than the cost of training.
A lot of this rhymes with online dating, and for similar reasons. Asymmetric information, skewed ratios, the paradox of choice ... very similar dynamics.
"Job descriptions heavily larded with keywords make it virtually impossible to find good candidates. But every day that an impossible job requisition remains unfilled, the employment system vendors make more money while companies keep advertising for the perfect hires."
... I'm a big believer that the market will shift to "pay for results", not "pay for subscription access to an aggregated database that you have to hire 4 people full-time just to sift through".
"...employers believe they save money when they leave jobs vacant, because their accounting systems track the cost of having workers on the payroll — but cannot track the cost of leaving work undone."
There is no business plan in any applicant tracking system, no profit in a job posting, no future in federal employment metrics, no solution in HR departments, and no answers in databases or algorithms.
Meh, not really the problem. Every company realizes there is a buyers market (sans Technical) for every position, and can interview 20+ people for a help desk role.
No training is available because, what is the ROI? I know several companies (this is SLC) who don't train even for automated testing. After the testing, the employees find a better job.
Symptom or syndrome? Symptom is employee skills > company re: new job, vs higher position in company (or, in better English, training leads to employees finding better companies, vs staying with a current company and building that company.)
There is no loyalty amongst most companies for training or career development, as the ROI is not there (under utilization, a fallacy of implementation).
Should your company be based on ROI metrics per-project, and per-resource? Do you call your employees resources?
Utah (which has a large influx of Silicon companies trying to find cheap labor (typically they do) at lower cost of living thus for salary (typically they do) can look at 20+ candidates with marginal requirements met (experience/projects), but, it is a buyers market. Its not panacea like Silicon Valley, and SLC is rated very high for business, tangentially, you should be able to find top talent for top dollar.
Talent shortage, there is not, but training / development there is, and no company wants to take that on, because companies realize loyalty exists at a quarter-quarter statement (worse with a PE firm), so how do employee's progress? Change jobs every 2-3 years for a 10k+ raise.
I realize I am ranting, but skill matching to a position is broken, and no automated ATS system will fix a resume/pubic facing publication.
/end: The "problem" at a symptom level is companies holding out for "best of best" when they probably do not need such candidates, and could train for such. Given, a SharePoint admin at $20 / hr (case study), they found it, after I placed them, and they left after six months when they realized their skill set warranted a $20k raise.
Companies can under pay undergrads and mid-level candidates (who are not ivy/target/"rock star guru beer whatever") and do so, only to find a high turn-over rate.
Fix turn-over rate? Or just keep filing the desperate mid-esque level folks who just need work and would fulfill Senior level demands of work fulfillment?
I've never gotten a raise worth mentioning at a company, but I've twice gotten > $15k cash raises switching companies. Now why the hell would I stay at a company in lieu of $15k cash; if it's stock options, they'd better be taking off like a rocket ship.
One former employer, with (guessing) a median employee duration of 15 months, would complain endlessly about how hard it was to hire. It was frustrating to see really good employees already trained on a very complicated internal hadoop variant walk out the door; somehow, the dedicated team of 7-9 recruiters (including managers) costing probably on the order of $1mm/year fully loaded; countless hours of engineering time phone screening and interviewing; and the opportunity cost never made management pay people what they could get elsewhere.
You could consider just taking that 1mm and distribute it among your employees to make their salary competitive to reduce the turnover after training on that complicated internal hadoop variant.
There is an easy solution and I don't know why so many companies can't understand this. It's simple, pay a fair amount and there will be lower turn over. Every employee should be evaluated every two years so that their salary is at least the market median. And a raise doesn't even have to match what an employee would get from switching jobs. For example, if an employee could get 10k raise by changing jobs, many would stay if given a raise half of that. The reason is, switching jobs is risky. Next job could have a bad boss, bad coworkers, etc. If offered, it would often make sense to stay at a good job and take the 5k instead of going for the 10k with unknown risks.
But instead they just give no raises, or even insult their high performers with a "generous" 3% and cause resentment and lower morale.
Every single survey done on employee satisfaction shows salary coming much further down the scale than other factors, like engaging work, good management, leadership, a feeling of contribution, training and growth, etc.
The best, easiest, most profitable way of reducing turnover is to improve their management and leadership. Once you've reduced turnover the benefits of good training far exceed the costs and you get less turnover and more productive staff as a result. Then you can give them a raise so they appreciate the benefits of being more productive.
I think that depends on if the salary is fair. If it's not fair (below market) then it becomes the overwhelming factor. Above fair, it quickly has diminishing returns and other factors are stronger. Part of good management is recognizing this.
They are far, far from basic requirements for a job. They may be for engineers and highly skilled professionals, but for the majority of workers the only basic requirements are reasonable workplace safety and humane hours - and even those are often in question.
You don't get such numbers by asking people 'what would you prefer' - that would give wrong answers even w/o lying, since many of those things are such where sociologists know that the believed preference (what you think you'd choose) differs from the true preference (what you do choose in reality).
But you get useful results if you (a) ask people how happy they are (even if they exaggerate and understate, the ranking is generally accurate), and (b) ask people if they're getting X in the company, and then measure the correlations (and do a bunch of tricky adjustments for factors that are interrelated).
I.e., you don't ask "is a fair boss important for you? are office conditions important for you?" - but, if for example, on average the people who think they have a fair boss are feeling happier than those who think they have an unfair boss; but those who think that the office conditions really suck are just as [un]happy that those who feel that the office is okay - now, that's useful signal.
I think they might respond assuming that "higher salary" means +15%, which is what you can realistically expect in low-paid jobs, and which, for most people, is not worth dealing with an asshole boss, bad work environment etc.
In tech, on the other hand, it can be $70k for a fullfilling job vs $200k for a boring grind in say finance...
If every employee's salary is at least the market median, the market median will rise until half of the employees have salaries below the median. By definition. You can't have Lake Wobegone in a market.
This is true, but if the market is moving and you are still...its moving further away from you. There has to be a balance there. As an employer, you are trying to reap profit from investing early in the cycle (cheap wages). As an employee, you need to induce re-pricing (either promotion, job offer, or switch-eroo).
Except wages are high right now for technical workers due to the low supply of them, as the market gets flooded with technical workers in the coming years wages in this industry will probably drop.
With the exception of the last one, every instance of "their" in your post should have been "there." I say this not to be a pedant, but because it made your otherwise good post difficult to read.
"3.9 million jobs are vacant, thanks to the empty promises of algorithms. If the U.S. Congress wants a solution, it should launch an investigation into the workings of America’s employment system infrastructure, which is controlled by a handful of companies."
Oh please, no. Anything Congress touches risks dying like a baby between two pit bulls.
I don’t buy that. The Pitbulls of Australia seem to have a habit of mauling and killing small children on a regular basis, more so than any other dog breed.
Maybe the Pitbulls in Australia are different but I doubt it.
There are too many perverse incentives to trust job descriptions and supposedly open positions. H1-B visas, political advantages from complaining about a "training gap," etc.
Maybe job postings should be bonded. Put up $20k per position and forfeit it if you have not filled the position in X months.
Thats a good point, I have known a number of startup companies that have many "open positions" listed not because they're hiring but because of how it appeared to potential VCs . They want to appear to be a growing, valid, healthy company ...
I could see a two-track system: Bonded postings that get counted in official statistics, and "informal" postings that amount to wishes. horses, etc.
Bonding agents would drive down the cost of binding to a pretty small amount and/or enable bonding requirements to rise so that it is prohibitive to lie about open positions.
I would not be surprised if higher percenrage of bonded postings will be fake because all postings required for visa/greencard will be bonded and useless.
The idea behind bonding is to make it very expensive to post fake requirements. The natural result of forfeiting a bond is for your bonding costs to go way up. An H-1B is for jobs that can't be filled. If they go unfilled, the bond is lost.
Losing a bond of some tens of thousands of dollars is only justifiable for truly high-value positions, and that's what H1-B is supposed to be for, not phalaxes of warm bodies for contract shops.
Is any of the stuff he mentions different from how it was pre-2008?
In one sense the reason we still have unemployment is simple - we never had a classical recovery from the recession, we just had a return to normal growth. If you look at almost any historical recession you'll see a spike in unemployment, a dive into negative GDP growth, and a dive in inflation. Then, during the recovery you'll see a spike in GDP growth, a spike in inflation, and the employment level recovering to what it was pre-crash. This recession didn't have peaks in growth and inflation, just a return to normal. If you just looked at the GDP and inflation charts (or a combined NGDP chart) you'd expect that we'd still be having high but falling unemployment right now.
And I could get into a big, long discussion of why this happened involving IOR, and the Fed relying on indicators that are always months out of date, and zero bounds, and certain coughdallascough Fed regional bank presidents being idiots. But whether or not there are supply side problems contributing to high unemployment in the US now, the demand side indicators show we should be having high unemployment now so there's no need to go "WTF".
Many places with large numbers of job openings also have very low local unemployment (the Bay Area for instance). We like to report on numbers at the national level, but worker mobility is at a 40 year low [1]. That certainly isn't helping anything.
The hiring system we live with today–resumes, jobs descriptions, recruiters, HR interviews, and the rest–is massively antiquated. In the past 50 years only distribution has improved.
A communications gap exists: resumes don't speak to candidates' wants and desires, and job descriptions don't accurately depict a day in the life on the job. Today, recruiters, both internal and external, work to overcome this communications deficit. However, their presence and business models introduce agency problems.
My company, Mighty Spring, is an effort to bridge this communication gap in a scalable way, putting candidates and employers in direct contact. We provide candidates a platform to be transparent about their interests and needs without risk (utilizing anonymity), and help employers communicate the finer points of their jobs better than the walls of text they produce today.
There was a time when a company would hire you if you showed that you were smart, able to solve problems, and had some years of experience working in some other companies. They did NOT expect you to already know the job. Employers were willing to work with employees, to guide them, train them, build them into what was needed.
More like people are not learning the right skills to be useful. Economic restructuring used to happen much more slowly but with the advancement in technology these days it happens significantly more rapidly.
Just spitballin' here, but it seems to be that a lot of it comes down to the terrible incentive programs in place at the most successful companies. First of all, the shareholder is not always right and short term self interest does not make for long term good decision making.
So, if the people at each level are basically just angling for their own short term self interest, be it a promotion or a raise/bonus/performance incentive, they will do what they must to hit whatever those incentives are, even if they harm the long term health of the business.
In short, instead of investing profits, companies are scaling back to look good and hit their profitability or stock price targets. It's short sighted and will end up hurting a lot of companies in the middle to long term because they are inevitably cutting plenty of good people along with those who are less good at what they do.
I really don't think that the goal of business should be to hire a ton of people for the sake of hiring people. A business exists to make a profit, but sustaining profitability requires great people, great operations, great products, great sales/marketing, and great service. When a company stops investing in those things, they get worse. When entire industries/countries do this, it doesn't take long for some upstart to take the lead.
The automatic matching BS is why my resume is chock full of bullshit with a skills matrix. I would rather they look at my overall experience and try to match me to a relevant job.
Does this post not concern tech jobs. I recently graduated from a smaller local college and had no problem getting interviews or offers. In fact almost every job I applied for called me back within a day to do an interview. None of them outsourced their hiring either.
Give me a break. there are a lot of interesting points and valuable insights. I won't say there isn't a real problem there, but the core message is wrong IMO.
Comfortable people make far too little effort to find work. Talk to job seekers about how far they will go for a job... this is why I will always have one. People seem to think they are somehow entitled to a convenient job on their doorstep.
I think the issue is that there are million unfilled jobs out there, and there are qualified people who are ready to fill them. By putting a giant recruiting company between the two, you are filtering a lot of good people out of the equation. I've lost out on a lot of interviews by not having a github account. But if you think about it, thats a lot like asking a doctor to give a public record of lives that he has saved while off duty.
Successful hiring is an outgrowth of successful management. Know what you are looking for in new workers--not just what they should be able to do the day they are hired, but what they will grow into as your company grows. Be clear about the difference between hiring clones of yourself whom you'd like to have as friends and a diverse workforce full of smart people who get things done.
As my FAQ says, use work-sample tests for all your hiring. Don't trust educational credentials, but rather verify. Use legally safe means to find out who is smart and can learn more on the job. (References and expanded details on these points are available at the link.)
[1] https://news.ycombinator.com/item?id=4613543