"For the first time in recorded history, the number of job openings is higher than the number of people looking for a job."
So what? If there's a thousand Node developers like me looking for work, and a thousand job openings for dentists, that's a mismatch. You may say beggars can't be choosers, but do they expect Node developers who went through CS courses to throw that away and take dentist courses?
The openings seem to be largely in trades or nonskilled labor:
> Competition for workers has gone crazy, Joe McConville, who co-owns a popular chain of made-from-scratch pizza restaurants, told me. “At almost every restaurant that I’ve worked at, you always had a stack of applications waiting,” he said. “You’d call somebody up and half the time they're still looking for an extra job. That’s not happening anymore.”
> “There are not a lot of welders sitting around looking for work. The construction trades, the roofers, the framers, the dry-wallers,” said Dan Culhane, the president of the Ames Chamber of Commerce. “Those are [workforce] challenges that Ames and Story County and Des Moines face.”
> The trucking industry is instructive here: Trade groups have argued that it is facing a shortfall of 51,000 workers, yet businesses have not yet shown much willingness to cut hours, boost pay, and improve conditions to lure workers in.
The last sentence is the big problem. I feel like a lot of industries didn't just make the best of the advantageous labour market in the last 10 years, they reshaped themselves to become dependent on it (i.e., on cheap and easily-replaced human capital). Now that labour's tight again, they're finding that they've worked themselves into a hole they can't get out of.
This is one of the most insightful comments I’ve seen for awhile. Perhaps this is why low wages tend to create recessions as inefficient businesses start to fail. One could argue that these system stressors act as a cleansing agent.
This is actually a pretty common interpretation; Google "positive effects of recessions".
Also, all kinds of stressors can create recessions - from a supply shock (the sudden increase in oil prices in 1979 forcing the US economy to restructure to adapt), to a demand shock (a sudden drop in consumer access to credit in 2008), to sudden shifts in the type of demand (both WWI and WWII ended in steep, short recessions during the switchover from wartime to peacetime production).
Business just got a massive tax cut. They can dig themselves out by spending on increasing productivity and paying higher wages. The economy needs to be run very hot for an extended period of time, instead of getting crashed by an obnoxiously over-eager Fed that likes to kick the economy into a recession to dampen wage growth for the benefit of businesses in the guise of controlling inflation.
Businesses need to be made to squeal in pain here. Run the economy as hot as we can get it for as long as we can and shove wages through the roof at the cost of business margins (which were just considerably boosted via the tax cuts).
If the Republicans and Democrats weren't collectively so stupid, they'd be cooperating on hammering out a massive infrastructure spending plan paid for by a trillion dollars printed by the Fed across 10-15 years (or similarly constructing an infrastructure bank filled courtesy of abusing the global reserve currency while we still have it). And doing that would juice things that much more right now and for the next decade.
The myth of the link between rising wages and inflation is very common in the media, but there is hardly any connection in reality.
Wages will naturally adjust to the equilibrium supply and demand. If the needed increase in wages to increase production pushes prices up such that supply falls then production will be cut to adjust. That is what actual economic theory says.
In the real world their is a lot of lag, so some market participants will be increasing wages and producing too much, and then they lose money, and have to overcut on the other side, but in a massive diverse economy this random noise balances out.
The market will never over price labor, therefore inflation cannot come from increasing wages.
Inflation comes from printing money (or creating it digitally since we don't actually print any more). When the inflation from printing money results in rising wages, then that is a sign to the bankers that they should cut back so that they can keep the poor in line, and keep them from paying off their loans so that they can't get out of debt.
Avoiding worker revolt is the point. If the inflation is bad enough, workers feel pain, demand wage increases. So far inflation has been low, wage increases low and thus cancel each other out (June wage increase 2.7%, May inflation 2.7%).
But from a business standpoint, no point in increasing wages above inflation until workers revolt. So what's needed is a healthy dose of inflation to get workers to revolt, and make business compete for workers by taking the risk, instead of hoarding, and paying more. Businesses and their shareholders have had it really good compared to workers, because workers have been docile and shareholders have been there to scoop of the profits that workers refuse to fight for.
Run the economy as hot as we can get it for as long as we can and shove wages through the roof at the cost of business margins (which were just considerably boosted via the tax cuts).
i gotta say, this idea has some appeal. since businesses tend to use the new tax savings for stock buybacks or paying out dividends instead of hiring and expanding, force their hand a little.
yes. i often think that, too. from the article itself:
Yet the experience of towns like Ames and Des Moines show that such “labor shortages” might be due to insufficient wages and crummy working conditions — not an unwillingness of workers to switch industries or improve their skills for a job.
Slashing benefits and wages. Making long hours and unpaid overtime the industry norm. Getting rid of whole departments and replacing them with third-party contractors. These all seem uncompetitive for businesses, but it must seem easy to do when your entire industry sector is doing it: truckers can't leave you if every other company is just as bad.
The dependent part is where these slashes and cuts are accompanied by lowering prices in a race to the bottom within the industry, to the point where every business in the sector is operating on near-zero margins. Then, when wages overall start to go back up, the first business in the industry to flinch has to raise prices immediately as well, and ends up getting out-competed into oblivion. But if nobody flinches, the entire industry's labour pool dries up, harming everyone.
FWIW, I sit around idle all day long as a 6g certified welder. By "idle" I mean sitting at a desk writing python and trading commodities. Welding is for the birds, and humans that want to lose their sense of smell and eventually degrade their vision. Welding is not fun over any stretch of time.
Same for trucking. Who wants to spend a month at a time away from family?
When people talk about higher wages for these jobs as a solution for the labor shortage, I always bring up improvements in working conditions (safety, hours, etc.) as a perhaps more cost-effective way to make these jobs attractive.
That strikes me as an exaggeration. Notwithstanding "sitting is the new smoking", I don't imagine trucking has nearly the permanent health risks of welding, especially considering that maximum-time regulations are now actually getting enforced, thanks to electronic logbooks.
> Who wants to spend a month at a time away from family?
Someone without a family (usually modified by "yet") or who's into making shorter-term sacrifices for the longer term. The latter would apply if the pay were high enough, but it isn't. The latter type seems to exist in the military.
The question makes an assumption that isn't necessarily valid, as there's another kind of person: one who has no kids and brings a spouse along to drive as a team.
None of this, of course, necessarily translates into an attractive long-term career, but it's also not high- or increasing-skill labor.
> improvements in working conditions (safety, hours, etc.) as a perhaps more cost-effective way to make these jobs attractive.
I suspect the reason such measures are particularly unattractive to employers is that many would be practically impossible to roll back once the job market turns. Wages are a "knob" that turns both ways, but once you've spent money on all those safety upgrades at the plant, there's no un-spending it.
As cynical as that may sound, for low-margin businesses, the fear of being out-competed is always on their mind. Whether the fear is exaggerated compared to reality is another matter.
And ask what they're paying. When an employer says they can't find anyone qualified, it's usually because they're not willing to pay enough. There is always someone qualified.
The trucking industry is instructive here: Trade groups have argued that it is facing a shortfall of 51,000 workers, yet businesses have not yet shown much willingness to cut hours, boost pay, and improve conditions to lure workers in.
Now that's a good point. The job could be much better if the employers were better organized. Employers want to send someone out on the road for weeks at a time. With better scheduling, the first driver drives for four hours, stops at a truck stop, and swaps trucks with another driver going the other way. Both drivers end up back home at the end of their shift. Where's that Flexport guy who's always on here when you need him?
There are many loads where that system would create a lot of inefficiecies. The type of loads where it makes sense are already run that way. It's called LTL (less than truckload) and is one of the most volatile sectors of the industry. Wages tend to be higher in that sector, though, and there's more home time, so they tend to go to more experienced drivers with excellent driving records.
Yes, overworking drivers is more "efficient". Right now, the labor market won't let employers do that. The winners will now be the employers who figure out how to give their truckers a better life without wasting too much time sitting around at crew change points.
Or buy a semi-autonomous truck that can be used in convoy mode - one driver in the lead, two trucks behind following. Once it gets to a city they all get drivers to navigate to the depot. This is already a feature of the Tesla Semi.
I don't know much about the job market, but it seems weird that they push people throw college for degrees they can't use. My friend got a masters degree in pharma and he didn't get a job for about 2 years, his wife had to work as a retail manager to support their whole family, and he had a mental breakdown because of it.
It may be a PhD for pharmacist, yeah. We lost touch a few years ago when they moved away, but he went to school for something like 10 years. So I think it is a PhD. But there were no jobs. Last I heard, even the job he has now doesn't cover insurance, so he pays for that himself and they're still living like he works at Burger King.
I've always heard it was in high demand because every drug store needs a pharmacist and the education requirements are stringent so the supply is not great.
There was a 10 year lag time between when he started school and when he finished. It's extremely difficult to predict what's going to be in demand and what's not over that time period.
If your thousand "node developers" aren't at least willing to drop the "node" part (assuming there was saturation in that segment) to use their skills in other languages/environment...then they probably have a problem.
(I know that wasn't really your point since you were comparing with something more different like dentists...but the fact that the example specifically said "node developer" instead of just developer is scary)
Because most companies aren’t just looking for “developers”. They are looking for developers who know “X”. The companies that are willing to hire someone who is not a perfect fit are going to usually pay a lot less.
It really is in deed. "Node" or "Java" or "Rails" engineers are a dime a dozen. There are exceptions and it's more complicated than an explanation on Hacker News can do justice to, but generally speaking, the places you'd want to work for, including (but not limited to) the likes of Facebook, Google, and other smaller but worthwhile companies are hiring for general skills, not tech du jour knowledge.
No Java shop worth its salt gives a flying duck if you know Java's syntax. They care if you understand how to build systems. Caching, queuing, service to service communication, algorithms, performance, debugging etc. If you learnt that stuff in Go instead of Java, who cares? Yes, the job reqs and lazy recruiters will come at you with a list of keywords, but that's usually not what the hiring manager truly cares about.
Most of the worlds developers aren’t working for FAANG companies. I would even say that many aren’t working for software companies. They are working for corporate America writing bespoked apps that just want to get stuff done and want to hire someone who can hit the ground running. If you are coming in at a senior level to a C# position with prior knowledge of Java. You’re going to waste a lot of time. It’s not about the language. It’s about the ecosystem, knowing the popular third party packages that will make your life easier etc.
How many Java developers would come in knowing how to use LINQ efficiently and know the difference between
customers.Where(c => c.Age > 65).ToList()
And
customers.ToList().Where(c => c.Age > 65)
when using Entity Framework or the Mongo linq driver? They would both give you the same result but one is much more efficient.
You can’t imagine the number of times I’ve seen people use a Func<T,bool> instead of an Expression<Func<T,bool>> and wonder why their code is so slow in production.
How many Java developers would migrate toward log4net because they have heard of log4j instead of using the much better Serilog?
How many would come in knowing how to efficiently use ASP.Net Core and plug things in the pipeline?
Knowing the language is the easy part. Knowing the frameworks and the ecosystem takes time.
No one would hopefully ever say a Windows system admin could function at the same level with Linux as someone who had Linux experience.
That’s just like the “AWS Architects” who translate all of their knowledge of on prem deployments to AWS without knowing AWS best practices and wondering why the same infrastructure costs more.
I’ve been a hiring “manager” - more like the architect. I’ve got deadlines and deliverables. Why am I going to hire a Go developer when I can find perfectly competent C# developers that have the skill set I need? Why would I learn Go knowing that the local market wants C#, Java, and Node developers?
> when using Entity Framework or the Mongo linq driver? They would both give you the same result but one is much more efficient.
The competent developer with knowledge of systems know that the first step when using any form of ORM or sql generation tool is to figure out how to look at generated queries.
Also in that particular example, you're dealing with a reasonably common concept across all languages (generators). While LINQ works by letting you introspect the AST and its a reasonably unique concept, when looking at the snippets here it actually doesn't matter if you don't know that: in basically any data structure manipulation code, doing a data structure conversion followed by a predicate operation is almost always a mistake, because the whole point of "toSomething()" functions is to go from the specialized domain into the language's generic's constructs. LINQ is a particularly accessible implementation of concepts that are age old. The Rx family of tools (which do exist in java) follow similar semantics, and then most ecosystems have very similar constructs even outside of RxWhatever.
Those fundamentals won't let you figure out edge cases, but they're pretty easy to pick up once you get it. The system building aspect is what takes a lot of experience to catch. Other examples would involve how to debug a server's memory dump: it's very different between C++ and .NET, but very few people know how to do it in EITHER environments, while anyone who knows how to do it in one can pick it up in another by skimming a blog post in the middle of an outage.
Probably a reason why people should learn Category Theory too. Not quite the same thing, but it would help people make more solid assumptions.
Job reqs are a lie, and a lot of jobs (I almost want to say most, but I don't have data to back it up) never even make it as far as the job boards. The ones that do are often not even drafted by the hiring manager, and just written by someone who asked "So, what kind of skills would be nice?". Most companies will absolutely hire outside of what's written. They don't have much choice unless they're looking for entry level folks. Competent senior folks get snatched up very, very quickly, so if you're looking for something too specific, the req will stay open forever.
At least, that's been my experience working in both Canada and in the US, and I've never been close to Silicon Valley (or the west coast for that matter, so if its true there, I stand corrected).
Whats harder is finding a job you'll love with great career advancement opportunities, using the tech stack you like, with a manager you "click" with, and where you're appreciated.
What does “career advancement” look like to someone who doesn’t care about management? Career advancement for me means keeping up with the most marketable tech stack and getting paid as much as I can in my local market and still staying hands on.
“The tech stack I like” is whatever stack pays the most and has a reasonable amount of opportunities. By definition, a popular tech stack will have plenty of openings where you can stay current.
I choose to work for small companies with highly technical managers. A small company can’t afford to silo you. As far as “clicking with the manager” that kind of just happens with more technical managers when they trust your judgement. The only “appreciation” I need is to be paid market rates based on my skill set. I’ve had managers “appreciate me” verbally but didn’t push for the salary I wanted - I left.
I’ve been offered signing bonuses by recruiters who really wanted to get thier cut of my first years salary. I’ve turned them down. Out of my three requirements for a job - right technology, right environment, and money. Money is the least important as long as I’m making the median for my market/skill set.
I don’t do job boards either - I always go through recruiters. But if you are a “senior Dev” that knows Java and they are looking for a Node Developer, you aren’t going to be anywhere on thier list to hire.
Recruiters are not the same as job boards. I have recruiters that I’ve worked with for years as both a job seeker and hiring employees, I have met them for lunch.
I can sit back, tell recruiters I’m looking for a salary that pays no less than $X and sit back. It’s never taken me more than a month from the time I’ve started looking to having another job.
It's always going to be better for you if you get direct connections and referrals, but that is not happening at a fast enough rate to satsify employer demand for vetted employees. Additionally it's putting the onus on the employees entirely for making sure they are a good fit for the companies.
If they truly have a shortage of workers they are going to either reduce the stringency of their requirements, raise wages to entice workers to come to them instead of competitior's, or train employees. The SF area does some of the wage raising, when they aren't colluding with each other to keep wages down, but the rest of the country seems content to just complain about a lack of qualified people without doing anything to change their situation
I kept a spreadsheet of when I was looking for a job in 2015 using recruiters. This was after filtering for location and salary. This was all within a two week period.
I network like crazy - with people who know where the jobs are.
Leads: 16
Position filled: 4
Phone Screens: 9
I didn’t like tech stack: 2
Didn’t have qualifications and didn’t apply: 1
In person interviews: 4
Offers: 4
Rejections: 0 - I took myself out of the running after accepting an offer.
I actually had 6 phone screens in one day from different companies.
Notice that out of the 16 “leads” none of my resumes disappeared down a black hole. I always knew where I was in the process and I knew that someone in the position to hire me was considering my resume.
Also, I don’t contribute my 100% non failure rate to being a special snowflake. I was able to discuss each lead with a recruiter and had inside knowledge of what the hiring manager was looking for.
I’ve worked with recruiters to hire people. The good ones form a professional relationship with the hiring company.
Back in 2012, I left a job with nothing in the pipeline for a new job. I called one of the recruiters I had been working with and within 4 days I had an offer making $10K more with what was then a Fortune 10 company.
My last job search last year took 7 days from the time I started looking to getting an offer with the salary, (slightly higher), the technology stack, the location, and the company size I wanted. The pickings do of course get a lot slimmer though the higher your salary requirements.
I don't doubt there's people like you who can make it happen and have it better off but there's no way your results are typical. I don't know of a single fortune 10 company that even has a hiring pipeline that could be gotten through in 4 days unless you know someone with some pull, and the entire industry can't be friends with that small group of people.
Additionally look at all the work you've put in. "Networking like crazy" as you say. This obviously had benefits for you and is probably worth it for the vast majority of engineers. However, why is this amount of work necessary to find a job in an industry that constantly complains about a shortage of engineers? It seems like they're crying wolf when they say there's a shortage but the hiring process gets more insane every year
> However, why is this amount of work necessary to find a job in an industry that constantly complains about a shortage of engineers?
Getting a job is easy. I used to work with a guy who had (severe) mental issues, did significant drugs (enough to pass out in front of everyone on the job because over overdoses), couldn't code for crap, sexually harassed every person with breasts in the office (long story on how he got hired in the first place). When they threatened to fire him, he quit, and had a well paying job 3 weeks later.
Whats harder is finding a job you'll love with great career advancement opportunities, using the tech stack you like, with a manager you "click" with, and where you're appreciated. This is where networking starts to matter. Job boards and (non-internal) recruiters are automatically biased against this: most of the jobs that fit the above criteria are filled by insiders before they ever need to be advertised. There are exceptions (its a crap shot if someone knows someone qualified to pick up that director/VP position), but there is a bias. I've worked for about 15-16 companies, from tiny 3 people startups to some of the largest companies in the world, and I've (almost) never seen the best positions advertised, except when large companies are growing and hiring hundreds of engineers at a time, and for very niche roles or roles where the company did not have the expertise to train (eg: the first site reliability engineer hire at a company).
Then you also have the cost of job advertisement. Recruiters often take 10, 20 or 30% cut, which can translate to tens of thousands of dollar or more. If you bypass and go straight to the company, and a friend refers you, not only will you usually skip the stupid phone screen and maybe a phase of the process, but guess where some of the money they save will go? Your first year's sign on bonus!
I don't know of a single fortune 10 company that even has a hiring pipeline that could be gotten through in 4 days unless you know someone with some pull, and the entire industry can't be friends with that small group of people.
The Fortune 10 company having a fast hiring process was dumb luck.
The department I got hired in was originally a small startup that had been acquired by the larger company. The hiring manager was the founder of the original company. At the time, they hadn't been fully integrated with the company as a whole.
As far as the results not being typical, I've had a former coworker who was laid off that contacted me because they call me the "job whisperer". I put him in contact with three of my recruiters and he also had a job within three weeks working for a large well known company. I did help him with his resume.
As far as why I had so many leads, I attribute that to aggressively learning only what the market cares about, and at the time, my salary requirements were right in the median for what the market was paying for senior developers (and still $10K more than I was making).[1]
I've since changed jobs again, but the learn things->change jobs -> make more money process stops being as affective and gets slower once your salary requirements go up.
[1] I stayed at one job way too long and became an "Expert Beginner". My skillset and salary suffered the consequences. 10 years, 5 jobs, and a lot of studying later, I'm just now at the median salary for an "architect" and still have some gaps I want to fill in my skillset.
Networking like crazy" as you say. This obviously had benefits for you and is probably worth it for the vast majority of engineers. However, why is this amount of work necessary to find a job in an industry that constantly complains about a shortage of engineers? It seems like they're crying wolf when they say there's a shortage but the hiring process gets more insane every year
Out of all of the interviews I've done, I don't think any have been "insane". My technical interview at $largecompany consisted of a pair programming exercise correcting a program and making the unit tests pass. All of my other interviews have been the standard "explain your projects", talking and demonstrating architecture and best practices. I didn't have any programming work for my last two sets of interviews.
But with so many "developers" out thier who can't implement FizzBuzz, you have to be careful.
Your experience is vastly different from every other developer I know. Other than people having a friend who can literally give them a job, ex a startup CEO, it's all multiple days of interviews, round after round of whiteboard coding, engineers being thrown into interviewing you with zero warning so they just middle through the whole thing, and getting ghosted by the companies at any point in the process.
These same companies are ones I see talking about shortages of engineers
How much of underemployment is caused by people not willing to move? For instance, I can almost guarantee you that if you’re a good Node developer you could find a job in less than a month in my market.
Why should economic growth be constrained to a handful of coastal urban centers when NAFTA and other effects of globalization have hit the Midwest and rural areas of the country the most?
Someone can complain about what should happen and stay unemployed or you can deal with the reality that tech jobs are in large urban areas. I’ve never lived on the coast, but I do live in a large metropolitan city.
I can either complain about the direction that front end development is going and Node or I can look at the current technology landscape and where the market is going and learn what’s hot and keep my family fed.
Couldn't this argument be flipped to say that perhaps underemployment is caused by the lack of willingness of employers to go where the employees are? Judging from the increasing housing expenses, employer and industry concentration has serious effects on local inflation, thus seriously driving up the risks associated with migration.
There is an old saying - “The market can stay irrational longer than you can stay solvent.”
But there is s move toward “rural sourcing” where outsourcing companies would use foreign outsourced labor are now setting up shop in rural areas where they can both pay people less than in the major cities and still get the benefits of being in similar time zones and people can travel more easily to be on site occasionally.
How am I supposed to go through local recruiters in Atlanta, or have any idea who they are, when I don't live in Atlanta? Are many of these companies willing to pay for relocation?
These are all reputable agencies that don’t submit your resume without your permission. They will tell you the salary range up front and once you talk to them, they will tell you the name of the company.
As far as relocation. Probably not, but if you’re a good developer and not finding jobs quickly in your market. You need to relocate anyway.
It’s neved taken me longer than a month to find a job as a developer in over 20 years - always paying more.
I moved from a small town the week after I graduated from college in the mid 90s because I knew there were no jobs there.
The salary survey posted by Matrix jibes with my experience at least for Atlanta.
I think for some of us it is just our only recruiter experience are the folks who talk to you and never call back who work for a specific company, and the folks who want to spam your resume or something. It's hard to know who is who.
When a recruiter reaches out to you on LinkedIn, check to see whether the company they work for is local to the area.
I just picked a random city -Boston - and Google’d “Boston software recruiters”. I found two or three just now.
Even with the job boards, recruiters post jobs thier and instead of sending your resume, talk to them. If you have the skills, and interview well, they will be more than happy to work with you. They get a 20% finders fee from the company you are eventually hired through and it doesn’t affect your salary.
If they won’t give you the information for the hiring company when you ask - don’t deal with them. Also, don’t be shady. Don’t go behind the recruiters back, make sure you aren’t being submitted by more than one company and make sure they always ask before they submit your resume.
The general rule of thumb is not to tell them your current salary. I’ve never gone by that rule. I always tell them the minimum salary I want - and no “target compensation” and bonuses don’t count - and don’t waste my time discussing any company that can’t meet my requirements.
I’ve had them negotiate on my behalf after a company was interested for more than the salary the company offered. The more I make the more they make.
I'm not sure it's possible to measure the number of job openings anymore. It used to be an expensive thing to do, as a human would read all the responses, but now they sometimes advertise a bunch of fake positions just to measure the current available talent.
So what? If there's a thousand Node developers like me looking for work, and a thousand job openings for dentists, that's a mismatch. You may say beggars can't be choosers, but do they expect Node developers who went through CS courses to throw that away and take dentist courses?