> 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.
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).
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.
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.
Real world economics.
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.
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.
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.
What does such a restructuring look like, in concrete terms?
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.
That's a good thing. Welding is hard to learn and takes a lot of practice to get right. There shouldn't be people sitting around idle with that skill.
Ask employers who are whining about a shortage of skilled labor "how many people do you have in training right now?"
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.
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?
That's the point I was getting at.
Is that a pharmacist degree? Don't those need a PhD equivalent to be most beneficial?
(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)
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.
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?
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.
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.
The interesting openings are through direct connections and referrals.
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.
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 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.
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
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!
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.
These same companies are ones I see talking about shortages of engineers
No way. WWII, for example.
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.
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.
https://prestigestaffing.jobs.net/
http://www.professional-insight.com/
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 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.
As for mismatches, what is your solution?
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?