The Tech Talent Shortage Is a Lie
techcrunch.com
techcrunch.com
There is a place for higher education - I must say so, for it is my employer - but it cannot be expected to be the sole gateway to the middle class. My grandfather was a combat engineer in WWII and quit his unenthusiastic GI Bill college career to start a successful restaurant instead. College doesn't work for everybody - working does.
I'm all for apprenticeships - you learn by doing - but will there be enough companies willing to participate?
Tech can afford to train their workers, regardless.
Are you kidding? Almost every public school I know of has to run fundraisers because government funding is not enough to last through the school year.
Administration spending has massively increased over the last 30 years. Spending on faculty that does teaching hasn't. Somehow we managed to run colleges 30 years ago w/ half the administration.
I think people see higher education as a huge bill that just has to be cut because it's big. It is much more complex than people think. I have been a part of this system literally my entire life, starting from my birth while my mother was in law school.
If you have suggestions on how to reduce the cost of higher education, I am all ears. Just know that people who come in and think they can run it "like a business" are a laughingstock from California to Cambridge.
Yes, college is a huge bill that needs to be cut. It's both unethical and horrid for our economy to saddle students with so much debt when they're starting out in life.
How to reduce costs: line administrators up in a row and have them count off 1,2. Fire either the evens or the odds. Return to administrator staffing levels from 30 years ago. What doesn't get done doesn't get done.
see eg http://ucbfa.org/2013/01/uc-management-bloat-updated/
at berkeley, base year 1991, management grew 252%, while non-management (ie productive workers) grew approx 42%.
I also think we should cut most sports -- why do our colleges need to serve as an amateur league for the nfl? -- but that opinion is not widely shared. Nonetheless, the amount of bloat that has crept in to what is purely overhead is stunning. Note that none of this has to do with "running like a business" except that business wouldn't tolerate this level of management overhead; it's wildly excessive.
Hmm, perhaps the cost of these things should be separated from the general tuition, thereby allowing people to pick and choose according to what they will pay for. Therefore staffing will scale to demand.
"Teachers outnumbered in schools by administrators, support staff in many states, study shows"
http://www.washingtontimes.com/news/2013/feb/28/teachers-out...
Utah spent $6,555 per student per year in 2013. This isn't a lot. New York spends $19,818 per student per year. This is a lot and I'd say a lot of this money is misspent. A former teacher told me that because he raised his hand on a misbehaving student, he was assigned desk job of some kind where he'd just sign in and stay cooped up in a room all day. I don't think there is too much money in education as much as there is too much bureaucracy in education. The "support structure" is too damn big. We don't need so much administrative overhead. We do not need to spend millions on a sports stadium. We went too far on trying to get schools to create well-rounded individuals.
Now comes the unpopular bit: We need to scale back on "no child left behind" as well. No, not in the sense that George W Bush bill, in the sense that public school system does not have to educate every single child. No, not every school needs therapists and counselors and what not. We need smaller class sizes so teachers know the names of their students.
What we are seeing is the rise of more coding "bootcamps", roughly semester-long courses to get someone started with coding. Maybe federal loans/grants can be allowed for these, but definitely not giving companies subsidies to train their workers.
I don't like the college system we have now, but switching to the extreme of apprenticeship is definitely not a good answer. Right now I'm an engineer, but with my rounded education, if I don't like it, I can go and switch to a myriad of other fields that I'm educated enough for.
The world already had apprenticeship systems, and it's not some magical system we forgot about. Apprenticeships lead to weird power dynamics that aren't very good for the individual, such as being indentured to your employer for providing the training.
The main problem I see with our education system is that it's inefficient, and growing too large and slow to keep up with modern needs. This doesn't mean a well-rounded education is a problem though.
why do i feel a class separation from a BART maintenance worker? because they are organized and conscious and probably see us, fairly rightfully, as bougie.
I wonder, though, how apprentices would fair in competition with people having general education and degree focus. Fields require skills to change over time, and quite quickly now. I wonder if an apprentice would be stronger in the short-term and outpaced in the long-term.
Also, where does the wage subsidy you talk about come from? Would people be paying for their own apprenticeships? The government paying for some like public institutions?
Ultimately, people's competitiveness comes from their investment in their own skills. As Ron White taught us, "you can't fix stupid." What you can do is ensure that people will be working (instead of claiming welfare, etc), and that if their skills atrophy or their job is automated away, back to a new apprenticeship. Better than getting a new 4 year B.S.
Trade Schools ditch the concept of a 4 year degree for a more affordable, focused alternative, but which doesn't entirely ditch the concept of an education (still requires high school, still puts you through basic requisite courses).
Because of the reduced time frame, they are also better matches for on-the-job training, meaning, lets say you decide you want to be an X, well, get hired by a company that does X, and have them directly subsidize your Trade School (you can get scholarships, but that's beside the point). You get a re-usable education, the employer gets a trained employee. If you decide your employer sucks, save a bit of money, and go another 2-3 years for a full fledged degree. Now you have work experience, and a completely re-usable degree.
This goes hand in hand with the second concept, Adult Education. Lets say, everyone gets hired to work at age 16, only they get on-the-job training in the form of an Apprenticeship. Require employers (by law, potentially subsidized by the state) to provide you with an education, as a part of your training. Don't just limit it to 16-21 year old's, though - education should be something available to everyone - no matter your age. Notice that this sounds a lot like the previous paragraph - that's because it is basically the same thing. Some companies do provide on the job training, but apprenticeships are rare, and so are Trade School/employer combos.
We should be combining the two.
There is a big problem, however, and it's only going to get worse. If all your training is in a specific industry, what happens when that job gets outsourced or automated away? I'm not sure I completely buy it, but there is a case to be made for generalist education as preparation for a changing world.
This is just my opinion and I would welcome responses.
Unfortunately, your apprenticeship idea does not address a key driver of why college institutions act as gatekeepers of desirable employers. It's not so much the "training" but more of the "signaling".[1]
As a thought experiment, let's pretend that the USA de-emphasizes college and promotes apprenticeships. The USA has roughly 3 million high school graduates every year. It's safe to say that most of them are not really interested in college purely for the "skills", or "well-rounded education" including Shakespeare and Calculus III. They'd rather just earn a middle-income salary right away and college is just that "hoop to jump through" to make it happen.
Well, businesses like Google, Ford Motor, Goldman Sachs, etc are not going to be interested in dealing directly with a vast sea of undifferentiated high school graduates to offer internships. They need a pre-selection process. Therefore, a new "clearinghouse" institution would naturally emerge in the marketplace to "evaluate" (test) and "filter" (rank) these hopeful apprentices. (Perhaps Donald Trump could create a spinoff business to do just that.)
Once the clearinghouse is in place, the hopeful candidates will want to demonstrate "talent/smarts/whatever" so they get the best internship offers. That will then lead to tutoring, coaching, preparation, etc and all those services cost money.
Because of how humans work, we'd just be replacing variable $FILTER="college" with $FILTER="clearinghouse+coaching". That new model may cost less overall to society because C+C doesn't spend 4 months dissecting Shakespeare but let's not kid ourselves that this new model is "more fair". A future complaint would be, "I took out a $20k to pay for clearinghouse coaching but instead of landing a coveted apprenticeship slot at Google Inc, I'm a barista at Starbucks. It sucks because The Whole Point of the apprenticeship system is to TRAIN me!"
You see, the core problem remains because companies don't want to "waste internship training" on poor candidates. Everybody wants the best of the best and apprenticeships don't fundamentally change that human desire.
Public assistance and loan guarantees is how we got outrageously expensive college programs in the first place. Any system will suck up any free floating dollar made available to it.
On one hand you have the common whiteboard coding interviews popular among the big tech players (and much of the rest of the industry). I'm definitely biased here, as someone who is average/below average at these types of interviews but an above average (I hope) developer, but I don't think these interviews are very good indicators of on-the-job performance.
On the other hand you have many startups who won't even interview you if you don't have side projects or open source contributions to show. As someone who has side projects to show, I understand that most people do not, and it's unrealistic to expect everyone to.
The best way I can think of to predict how someone will perform is to have them do something relatively close to what they'd actually be doing, like going over some of your actual code with them and asking them to talk about what it's doing, and doing some pair programming with them on an actual computer.
Has anyone had success with something like that?
Here's the thing about the whiteboard coding interviews:
A) There's a huge false negative rate. I.E. a lot of good engineers get turned down because of a bad whiteboard exercise.
B) The "big tech" companies know this and do not care. They have people who want to work there lined up out the door. The whiteboard interview is setup to minimize false positives.
C) The above argument can possibly be made in favor of the pair programming/"do what you'll actually be doing" type of interview and with even less false negatives, but frankly those interviews are harder and more time consuming on the interviewer(s). Additionally, the whiteboard panel gives 5-6 people time to meet and speak with the candidate instead of 1-2 which helps to mitigate the effects of any personal biases that might be present.
Tl;Dr - the whiteboard interviews actually work well when you have a giant pool of potentials and only optimize for minimizing false positives.
Judging by the amount of recruiter activity in my email/LinkedIn I'd say there's plenty of non "big tech" companies out there that are really struggling to find people.
Also importantly, the big companies seem to purposefully have a short memory to help counteract this. The chances you even interview in the same division are relatively low, much less with the same team. So why not let people try again and again and again? If they really are good, they'll eventually find a fit and get in.
edit oops, no I didn't. I had a note about it originally but deleted before posting. Either way, that is correct.
I try and do my interviews this way. While I am required to use the whiteboard and the interviewee is required to write on it, I try to make it as clear as possible that we can brainstorm/strategize on the problem together.
Of course I've asked the same few questions probably 100 times now and have seen them solved every which way so I have to play a little dumb sometimes.
Same problem occurs in a "real" pair programming environment too, though.
Interviewing is hard, and it's easy to throw stones at companies who don't do it the way you want it done.
I have yet to see evidence that it actually does this. Everything I have seen so far is of the form, "$BIG_COMPANY does whiteboard interviews, $BIG_COMPANY hires few bad people, therefore whiteboard interviews minimize false positives". The problem is, that says nothing about the effect the whiteboard interview has on doing this. Would the rate change if it were removed? Would the change make the rate worse or better?
what i'm curious about is how Apple weathers these particular waters, since they have more to lose than any of the other big companies ever had. hehehe.
People are involved and whether or not someone will work out is no more deterministic than figuring out if two people dating would result in a long term relationship.
The biggest problem with coding whiteboard problems is engineers fall into the trap of thinking the problem needs to be hard, which actually reduces the value of the test.
A coding test is simply to weed out idiots. That's why FizzBuzz is a simple problem. It's a negative filter. Acing such an easy test doesn't mean you'll be an awesome engineer but failing an easy problem almost certainly means you won't be an awesome engineer. Substitute with a hard problem and a pass signal doesn't get much better but a fail signal gets far noisier and you're going to get an awful lot more false negatives.
In my experience having too many side projects can be perceived as a negative for some employers.
Personally, I would love to hire a person who is doing side projects to keep learning. I feel very confident that they will be able to take care of the regular tasks assigned as part of the job.
A) You won't have time to work "outside of office hours". A lot of tech is notorious for having people work all kinds of hours. If your busy working on side-projects, you won't be working on work-projects
B) Burn out. If you spend all your time coding, you might end up burning out after the company has invested money and time into you.
For example, consider the employer who decides to pay 10,000 to train their employees when doing so will cause their employees' market salary to increase by 5000/year. Assuming the employee will stay with him for 2 years if he does the salary bump, he's effectively paying the employee $5000 (salary bump) + 10,000/2 (training) = $10,000/year extra, when he could just go to the market and hire someone who already has the skill for $5,000/year extra.
Going to the market may also be faster if the skill is both complex & modularized (so it doesn't require deep insight into the current code base). You'll also benefit from the experience of the person who's done it before and gained battle scars.
So instead of promoting a jr engineer and training them, it's often just cheaper and more efficient to hire a senior guy who's done it before.
Problem is, that's a name-calling game.
The employer is just as much a free-loader here. Why should they get skilled people for free? That talent directly benefits them, so why should other people be subsidizing their talent pool?
This is a fundamental economic problem in training employees in transferrable skills. It's the reason why companies rarely pay for employees' graduate degrees (even though it can be extremely tax efficient for them to do so), and in the case that they do, they include term requirements (e.g. you have to work for us for 4 years afterwards, otherwise repay a prorated portion).
In fact I'm going to university and was taught this in "Comparative political economy of advanced industrial nations". Germany and Japan counter this effect through a culture of non-poaching whereas Anglo-saxon nations deal with it through lots of university education.
Any time a business is saying they are having trouble hiring someone talented... maybe they just have to look inward and improve their own training processes.
Granted, there's going to be related costs of sifting through many unqualified applicants; but that's part of the cost of doing business.
Finally, I explained above why businesses don't want to train employees. It really is that simple. Th e math is basic and as inescapable as gravity. (note that planes do fly, aka, you can defy it by devising a clever contraption).
If 100% of the companies decide it is not worth it to train employees because it's easier to hire already trained employees... there would be no trained employees to hire.
So it's like a market force - as long as some companies are paying to train employees, other companies can take advantage and hire externally. But not all companies can do that.
The problem, IMO, is that we don't have a good and clear understanding of what is the professional skill set. Even companies like Google, etc have lamented the very difficult problem of interviewing and identifying talent that correlates to on-the-job success.
I know (believe) that there is an acquirable skill set of a professional software practitioner that maps to real value. It's just that we as an industry haven't successfully codified it yet, we haven't yet shown which of the practitioner's skills are the most valuable, and we haven't shown how to measure and evaluate those skills in a candidate.
Only when we can be specific about what is the talent, the skill set will we be in a better position to consider the shortage (or not) of that talent; and only then will we also be able to be specific with individuals on how to acquire that skill set.
One person who could be driven to learn and improve themselves by sheer ego, and another by absolute anxiety from bad things happening in their lives and a need for security and understanding. Those people look quite different when they work, and respond very differently to the high pressure situations of an interview. In the end you'll end up trending towards the same people that are in charge of interviews, because you'll tend to want to work with people that match your expectations of what a productive professional looks like (which can sometimes be "diversity" itself, though usually with a lot of degrees).
The other problem is that people tend to stick with what they know through their careers, and be around similar people. Its a fact of life of any interviewing programmer that with the exact same job requirements you can completely bomb one interview and look like a saint in the next. This is something that isn't easily quantified, which pretty much goes against the whole point of software to begin with, creating quite an interesting problem.
I'm a university student in a co-op CS program and most of my classmates, many with no previous programming experience, found good jobs that pay well where they get real experience after 1 year of school. This paragraph doesn't seem true to me at all. Demand is extremely high for CS interns, many even make it to earning $100k+ before graduating. These internships can also easily pay your entire tuition, you can even end up with tens of thousands of savings after you finish your degree.
I wish more CS programs would follow their model.
For those that don't know, the CS program at Waterloo is 5 years long. 4 years for the traditional education but there's also a requirement that the student complete FIVE internships at different companies(thus the extra year).
It's a great combination of learning and on the job training, and they get paid for their work.
The shortage comes from all companies only wanting Waterloo/MIT/Stanford/etc-like grads, but there's only so many.
Now with the Canadian dollar tanking it's more like $10,000 USD. Lucky kids (the internships are overwhelmingly in the US and paid in USD).
I was very fortunate in how quickly I was able to pay off my debt, but anyone who graduates without debt in the US today is either getting a lot of outside help or outright lying about how much help they're getting.
For students going to UT, I highly recommend an internship somewhere like RetailMeNot downtown. You could easily pay for your education and living expenses during school and have a job after. When I was there we were recruiting interns like crazy and paying up to $10k for relocation alone. They were very hands-on and had to learn a ton of practical skills. There are similar programs all over town -- you just need to have something (anything!) to demonstrate some basic skills.
For students going to UT, I highly recommend an internship somewhere like RetailMeNot downtown. You could easily pay for your education and living expenses during school and have a job after. When I was there we were recruiting interns like crazy and paying up to $10k for relocation alone. They were very hands-on and had to learn a ton of practical skills. There are similar programs all over town -- you just need to have something (anything!) to demonstrate some basic skills and be willing to learn.
In general, Canadian labour laws prohibit what are typically considered unpaid internships, although it varies slightly by province.[1][2] My understanding is that this is not the case across most of the United States.
[1]: http://www.labour.gov.on.ca/english/es/pubs/internships.php [2]: https://www.labour.gov.bc.ca/esb/igm/esa-part-1/igm-esa-s1-w...
They are using PR to communicate to the public that there is a shortage, but in reality there is only a shortage of labor in the sense that employers are not offering enough for skilled labor to attract the unicorns they want. The only "shortage" that appears in a highly competitive market with rich labor supply is due to picky employers unwilling to be aggressive with talent acquisition. Try offering a million bucks a year for any given dev job, I guarantee people will be quitting their day jobs to fill your "shortage". The point is that companies aren't willing to give to employees. The selfishness which embodies corporations chasing profit is the root problem here. The lack of training and mediocre wages that companies offer is a symptom of that same issue. Cue people bitching about how "hiring is so hard" when really they should be complaining about "training people is so hard"-- yeah, hiring the perfect unicorn for your machine is harder than investing in someone to make them what you want.
"In fact, I’ve come to believe the so-called “talent shortage” is a lie — the real shortage is of companies that are willing to invest in talented people."
I have been saying this for quite some time. Nobody is willing to accept that employees are capital purchases which require an up-front investment of capital in the form of training time and training infrastructure in order to make having them mutually profitable. Instead, they expect to unbox "interchangeable" employee labor for free, then provide a (calibrated to be a low-ball) salary once they have the labor they want in hand.
Secondly, they want to claim, particularly to government, that the tech industry as a whole needs more immigration and more government funded education. ie they speak for us, rather than for themselves, and a small group of owners and the rich.
They certainly well understand if they pay more they'll be able to hire nearly anyone they choose or want. They just don't wish to do so. By their fruit you will recognize them. I suggest that, as a working engineer, we refrain from taking advice on what's best for us from many of same people (or their paid advocates) who were recently involved in a conspiracy to reduce our wages.
Where's the massive runup in engineering salaries that would accompany an actually tight labor market? Have you, or any of your peers, recently gotten, say, a $10k or greater per annum raise? Without switching employers? Have your wages kept pace with the runup in housing costs in the bay area? It's finally percolating through the collective consciousness that working at startups as an employee often isn't a particularly good deal. See eg Tikhon [1].
But, you know, employees advocating for themselves instead of their bosses; that's class consciousness and socialism and all sorts of evil. To the fainting couch!
[1] https://medium.com/@tikhon/founders-it-s-not-1990-stop-treat...
That said, certainly the group that face the most racial inequalities and lack of institutional privilege in the American job market are humans who had the unfortunate luck of being born outside her borders.
This is the worst part IMO. As we all know a Computer Science degree isn't a 1:1 match for what people will be doing in the industry. Assuming every candidate had the chance to do side projects or internships[1] instead of spending a couple of weeks training smart grads is an easy way to have a "shortage".
[1] Not everyone has time for side projects (work + school), not all internships are the same either
It's especially ironic since often the university is a public institution, and the tech world (and the business world generally) tends to be so down on the public sphere and are big boosters of private enterprise. But they're not above taking a giant, giant handout in the form of worker training and then pissing and moaning when they think it isn't coming fast enough.
Some software jobs can be quickly learned by anyone with good programming experience. These are the kinds of "shortages" that can be reasonably solved by training existing software talent. There is a baseline amount of skill required but that level is low enough that it is at least plausible that you can expand the supply on a reasonable time horizon.
However, some high-demand software jobs require multiple years of experience and a high talent baseline to be an effective practitioner. The time required to develop these skills can exceed the life cycle of companies and products. These shortages are very real because there is no easy way to manufacture more of this talent on a time horizon that matters to anyone. Consequently, they tend to be self-trained in operational environments over several years. People with these skills tend to be paid atypically well, but you are really just shifting the shortage around between different companies. High wages per se does not manufacture a talent pool.
In software, we have talent shortages that could be addressed by training and we have talent shortages where the amount of time required to produce new talent is so high that it is almost never worth it for a company to make that investment. In practice, the latter case has been solved by people investing in themselves over several years (usually because they have a keen interest) to develop the skill but in many areas this is definitely not producing enough talent to meet demand.
These are problems that must be solved differently. Lumping them together muddies the conversation as people talk past each other.
I've tried many things to overcome my severe interview anxiety and I've tried creative ways of getting employers to give a second chance or even a better first chance :) But it fails me each and every time.
I'm sorta the same..
I have literally hung up the phone after a live(remote) coding interview and had the answer to the problem that had stumped me pop into my head seconds later. Similar things have happened with driving/flying home from an on-site whiteboard interview.
My best-ever interview performance came after a year of looking for a new job. I was so beaten down and emotionally exhausted I showed up for a coding interview knowing I would fail, and I just did not care. No stress. Got the job.
So I guess that would be the secret for me, I have to not care if I get the job or not. Easier said than done.
I don't mind showing my work, but not while I do it.
> And therein lies the problem: The real shortage isn’t of talented people; it’s of employers (and, by implication, society) who are willing or able to nurture talented people.
When everyone has a runway of 18 months, spending the time and money to nurture talented people isn't feasible whatsoever. You need productive people on day 1.
> Despite the tech industry’s propensity to hire people of privilege, research shows that people with different backgrounds are no less capable or successful as software engineers than those from privileged circles. And there are strong bottom-line arguments for a more diverse workplace.
Yet, the author's company is full of white males in their 20's and 30's...[0] It sounds like the author wants other people, with other capital to invest in the hard part of what he's suggesting to be solved.
For the record, Google brings in 1,500 interns per year. That's a pretty significant investment in talented people who many not necessarily be productive...(hint: they take a lot of Stanford CS undergrads) of which many will eventually take full time jobs there when they graduate. I've tried to hire these people and they are extremely difficult to attract when the alternative is a cushy job at Google.
Day productivity is a mirage. Nobody is productive on day 1 unless they were already somehow working with your organization and understand your processes[1], team dynamics, and whatnot.
> Yet, the author's company is full of white males in their 20's and 30's...
You must be seeing something on that page I am not. In fact, it looks more diverse to me than the typical Valley start-up.
> It sounds like the author wants other people, with other capital to invest in the hard part of what he's suggesting to be solved.
That is a huge leap to make from a few pictures on an about page.
> For the record, Google brings in 1,500 interns per year. That's a pretty significant investment in talented people who many not necessarily be productive...(hint: they take a lot of Stanford CS undergrads) of which many will eventually take full time jobs there when they graduate. I've tried to hire these people and they are extremely difficult to attract when the alternative is a cushy job at Google.
So, there's a shortage of Stanford CS grads who interned at Google. What about the hundreds of thousands of grads who didn't go to Stanford or intern at Google? How many of them have you interviewed?
[1] Of course, it is my firm belief that much of the angst in Valley hiring is that companies don't want to actually pay attention to things like process and organization and so try to hire a bunch of self-organizing rockstars to compensate.
"Day 1" doesn't literally mean the first hour of employment. I guess you didn't pick up the subtle exaggeration.
> You must be seeing something on that page I am not.
There are exactly 11 images of people on that page. 9 of which are light skinned, male, and dressed almost identical to what you would see in a typical SV tech startup. There is exactly 1, yes 1, woman.
> How many of them have you interviewed?
Lots, in fact, most of them are not Stanford grads. Care to elaborate why that's relevant?
So there is a shortage. But clickbait gets clicks.
is - present tense
will be - future tense
There's another group facing barriers to entry in the tech world: those without CS degrees. There are plenty of people without a CS degree who are talented, have natural aptitude, work hard, and can certainly program who get blasted during technical interviews trying to do the "CS fundamentals" dance. I have a ECE degree (with a focus in software), and while I looked for jobs it was and still is tough. And I don't mean OOP concepts or datastrucures. I mean trivia - whiteboard questions where the "correct" answer is Monte Carlo, or how to manipulate the call stack in C. 99% of entry-level jobs don't even get close to the depth of these concepts. I never learned them in school. I learned them on my own time, but only after flopping hard.
I know that knowledge of deeper concepts are important to becoming a well-rounded developer, but they're far from the skills needed to succeed in day-to-day development work. You can be an excellent developer and not know what P=NP even means. It's irrelevant.
When I observe that the first thing they need to is solve the Halting Problem, they've never heard of it, but they're going to get cracking straight away on it... <facepalm />
I don't have a CS degree, technically. I have a Mech E degree with an awful lot of EE/CS coursework and work experience along the way. IME, companies aren't focused on the degree per-se, but on knowing that you have basic competence. My non-CS degree has never (knowingly) been an issue for me.
What an easy way to confuse someone whose never heard of the term for "does the program stop". It's pedantic.
No study, other than those sponsored by the industry, has ever shown a shortage.
Wages, both for new graduates and established professionals, have been stable in the engineering and programming fields. Starting salaries for new computer science graduates were up about 3% in Spring 2011, according to NACE; a 2011 DICE report, in spite of claiming a shortage, concedes that overall tech salaries are up 1%; a San Jose Mercury News article in July 2011 reports a strong job market in Silicon Valley, but also states that wages are up only 3% since 2009. None of these figures indicates a labor shortage.
A 2007 Urban Institute study found that the universities are producing more than enough graduates at the bachelor's level in STEM.
Figures for students graduating with computer science degrees cannot be used to determine whether we have a shortage of people qualified for computer science jobs. Most people in the computer field, including those in software development, have their degrees in fields other than computer science.
In 2012 congressional testimony, Texas Instruments admitted that they have plenty of American engineering job applicants at the bachelor's level.
If a company will make $100k extra in profit a year from the work a developer does, but the worker capable of doing that costs $150k a year, that company isn't going to be able to hire the worker. It isn't about 'wanting to pay them less' it is about the fact that every worker needs to produce more value than they cost, or the company will go out of business .
But that doesn't mean that there's a shortage of workers. It means that that company isn't paying the market rate and thus will pull the good old H1B trick.
Are there a lot of engineers sitting around unemployed, not taking these jobs that are offered because they aren't paying enough? I don't think that is the case - if there were, those people would start taking those jobs at the lower pay.
Since this isn't the case, imagine what you say starts happening - those companies with openings raise the pay enough to find a candidate. Where do you think that person is coming from? Not a pool of unemployed engineers, but from a pool of engineers working at other companies. So now, that other company has an open position. You have not changed anything, just shifted the problem to another company.
Sure, an individual company can deal with a shortage by just paying more, but that doesn't fix the industry wide issue.
I know as engineers, the shortage is great for us. It drives up our wages, and it benefits me greatly. I make a lot more than most other industries. But that doesn't mean there isn't a shortage.
I will also disagree that these companies "cannot afford it". Who are the ones complaining? They are mainly very large corporations, or at least the ones that are being heard. Do you really think that hiring of an engineer here will make it so that they will become unprofitable?
It's the old saying of, "if you've been unemployed for X number of months, you will get shunned".
So again, it's supply/demand. If you want to pay less, why not just hire give the unemployed guys a shot at that lower pay? It's part of doing business. So pay less for less quality, but that's not what companies want. They want to pay less but for a higher quality. Like all things economics, we can have a substitute. It might be an inferior one, but you're not sure.
As far as wages, meh. I dunno. Once you hit a certain level these days, you kind of top out in engineering, or what people _want_ to pay. And the top of the graph gets dragged down by the sheer number of H1Bs.
In common use, the term "shortage" may refer to a situation where most people are unable to find a desired good at an affordable price, especially where supply problems have increased the price. "Market clearing" happens when all buyers and sellers willing to transact at the equilibrium price are able to find partners. There are almost always willing buyers at a lower-than-market-clearing price; the narrower technical definition doesn't consider failure to serve this demand as a "shortage", even if it would be described that way in a social or political context (which the simple model of supply and demand does not attempt to encompass).
If there are 4 people in the US who have the skills to do a job, but you need 8, you have a shortage. It doesn't matter how much you offer for the role, you only have 4 skilled workers.
Of course in the long run, that doesn't hold true.
No company needs more than a tiny fraction of all the workers. Any company can fill its tiny fraction, if it wanted to, by simply increasing wages.
> Unsurprisingly, this has spawned an arms race where companies like Facebook and Google keep swapping engineers like they’re pawns in chess. It’s also closed the doors for talented people who need an opportunity to develop and demonstrate their skills.
The "closed the doors" point links to the anti-poaching agreement that stopped 5 years ago and Facebook wasn't even involved in.
My experience at Google was also exactly the opposite of what he is saying. I was hired as a new-grad who knew very little and was extensively trained via my more experienced coworkers and a bunch of classes that Google has explicitly set up to train new engineers.
Not to say that Google doesn't have its faults, but to argue that "even the large prestigious tech companies don't train their employees" is just not correct.
There's a shortage of talent willing to work 80 hours a week and get paid for 20. There's a shortage of talent with 5 years of experience in technology that is 3 years old. There's a shortage of talent willing to jump through an absurd number of hoops in order to work for you.
1. Mid-level engineers (I consider 2-5 years of experience) are very hard to find. 2. Entry/Junior engineers are much easier to find, but finding good ones[1] is still difficult. 3. I suspect it is the shortage that has caused the following discrepancy in applications: 100% of Program Manager respondents include a well-thought out cover letter, less than half of our software developer candidates do the same. With a frantic hiring of software developers (i.e. shortage), you don't need to put in so much effort and still find something.
[1] We consider good software developer candidates someone in the area or willing to relocate, who is sharp at coding and who has done some independent work.
Someone else commented about not having time to do independent work. In life, you have time or money. Is there someone out there like the protagonist in "The Pursuit of Happyness"? Yeah, probably. But you can't tell me that's the case for 90% of engineering candidates. If you love what you do, you find a way -- in fact, wild horses couldn't keep you away from building something. </finding-a-job-in-software-advice>
It's not that there isn't a deep talent pool, it's just that the demand is deeper than the supply.
Same goes for tech talent. I was testing the tech market in my home country a couple of years ago, and a multinational company who is (also) complaining about extreme lack of tech talent said that no engineer is allowed to be paid more than ~ $40k/year (in that particular office). They pay three times as much in the UK. Well, tough luck then. :)
In other words, there are a lot of companies that have tasks for tech workers; the problem is that a lot of those companies don't make enough profit to afford to pay those tech workers.
If you have a bad attitude I can't help you with that.
If you have aptitude and a good attitude we can teach you whatever you need to learn to be successful on our team.
What I know about every person ever is they came into this world with little to no knowledge, they had to learn to eat, walk, talk, run, etc. If we focus too much on a candidate's experience and background we miss out on their potential future value.
One of the greatest employees I ever hired was a pool man, literally cleaning pools for a living when I met him. He was a hobbyist computer hacker and I asked him how he'd like to do that full time. He learned and turned out to be an amazing asset to my team. I have many stories like this over my long career. It's not about the school you went to, or what social circles you hang out in, in the end it's about your passion and ability to learn and get shit done.
All this said I do worry that our systems are not creating the space for people to find their passion while they hone their skills and find a career path.
There seems to be no shortage of these people.
There does, however, seem to be a shortage of people like these who are willing to work for $100k and a small bit of equity, though, unless they make the mistake of valuing their stock options for way more than they're worth. In that case, we sometimes get them :).
Satirical piece right?
For my own well-being I'm gonna assume this is satire.
I think part of the reason is that "software development" job requirements have vastly expanded from 10-15 years ago. Speaking generally, a decent hirable engineer is now expected to not only be able to contribute full-stack (front and backend) but also do an amount of devops as well. The tools have become more specialized requiring greater experience to wield them. Nobody with less than 5 years exp is going to be at all productive and worth hiring IMO (note: that could include 4 years of freelancing while in college) Granted this is allowing very small teams to be highly productive. But you can't hire B-level or Jr. people at all.
So the experience level bar has been raised for the same position 10 years later.
Low level considerations: Its extremely rare with todays tools and libraries especially to have to dive super deep into compilers or engines. I have to do it once or twice a year to fix some terrible bug, so spending years learning about the intricacies of building my own compiler isn't that useful for me to actually get work done. Granted I"m not doing groundbreaking computer science work but I AM getting a full stack of performant secure and load-balanced services and servers up and running to perform core business work.
You can hire Jr. people absolutely - just make sure that whatever they have grown in first is something that you use a lot, while they grow into other areas. If you don't have the budget for super senior do it all people, or if you are on a large team or company where a super senior do it all person would be slowed down there's no issue with hiring B-level or Jr. people - in fact, you'll probably get a lot of good work done out of them. If nobody took a chance on me then I'd be nowhere now.
That's not the case so I don't think there's a real shortage.
http://www.thenewsminute.com/lives/609
Just basic statistics tell you some percentage of these people are quite talented. The thing with software is you don't really need that many people.
The problem is that a bad hire is too expensive. What we need is a way to make it less expensive so hiring managers can take more risks.
I get a hundred emails a week from tech companies and head hunters who found some of my skills in a query in some database. I've sent resumes, had phone interviews, and taken technical tests.
But maybe 1 in 10,000 recruiter emails leads to a situation in which I feel a potential employer understands how "talented" I am.
Everything from skillset databases to bad recruiters, to arcane, useless technical interview questions makes me think we're doing this all wrong.
How many good jobs have good workers missed out on because everyone is so afraid of hiring the wrong person?
I would also like to add: We have employers who want highly skilled full-stack developers with 5 to 10 yrs experience but don't want to pay top dollar for them. Instead they scream about a tech talent shortage in order to push the expansion of H1-B to get cheaper labor.
Part of the problem are the blog posts that became fashionable a few years ago. The ones that talk about accepting only 10x developers, and the "horrible" outcomes of hiring the wrong person. While they have truth to them, what a disservice they have done to the industry. Hiring managers are now frozen in fear and inaction. Not everyone can be a "unicorn" but certainly even average developers can crank out good web apps with occasional guidance and high standards around them.
Since most places are looking for multiple devs, why not hire an extra and cut under-performers when that becomes clear in a couple of months? Start them with low-context tasks.
Besides the race/gender problem, another issue is the age thing, which the article didn't mention. Imagine an other industry where people with experience are excluded! "Only 28-year old white guys with beards need apply". No, your new event-driven web framework is nothing special that hasn't been done a hundred times. But those in charge now unfortunately don't have the experience to know that.
Oh, and the pay problem, despite tech companies sitting collectively on trillions of dollars.
So there we go, this "tech shortage" seems to be mostly self-inflicted IMHO.
> Budding engineers are talented and eager to learn. And schools are right — their job is to educate, not to train. The duty of cultivating talent lies with employers.
The "tech talent shortage" is a result of the failure of colleges to actually deliver the vocational training services they advertise. Students invest huge sums of money and take on unsustainable student loan debt to pay colleges to "educate" them and adequately train them in a profession. Why is it unreasonable for employers to expect that colleges take on the burden of "making engineers"?
In a labor market you need to have a properly functioning supply and demand side to ensure that market is efficient. In our economy the demand side (students, employers) is highly functional, innovative and more creative than ever. Yet the supply side (colleges) is both backward and highly dysfunctional.
The college's reckless freewheeling management of the supply side of the market is leading to dangerous levels of student loan debt which is a huge risk to our entire financial system.
The industry thinks you're "talented", usually, if you're a jack of all trades and managed to get things done without having in consideration if understand what you're doing or if you're just a tutorial driven guy ( aka the design who uses a js hype framework and become an engineer in 4 weeks). For me this heart breaking because I actually enjoy my work despite the bad days everybody faces at it.
Every 3 years or so you need to reinvent yourself and learn new stuff and still be productive! People think that getting you of college means that you're production ready and that you don't need time to learn or even 1 week off to be updated.
The "talent" shortage is just another way of saying:"We don't find enough cheap jacks of all trades out there that can handle everything. It's quite bad because we need to hire expensive managers that won't train then and make (force) them solve to tickets no matter what."
Wages are decreasing. There's no shortage. Hasn't been one since the dot-com boom.
There's too many tech workers, we're all screwed!!
Yawn.
When the industry looks at actual skills instead of who you know, the issue will correct itself.
There's more than enough talent, it's just waiting outside the gates of the coliseum.......
The INS ceased to exist in 2003.
If you want to say "US Immigration law" in general, just say that; if you want to blame the particular agency responsible for enforcing that law, you want to point to USCIS (United States Citizenship and Immigration Services).
(I do not officially speak for my employer.)
I thought it was pretty much known that the concept of SW-shortage was a big lie?