12 ms·
Software Developer Shortage Is Coming
- PaulHoule 5y agoHow many women, minorities, and other people in the US chose not to study CS for a major because the ACM won't hear any criticism about H-1B visas or outsourcing?
- HarryHirsch 5y agoStart developing your own workforce then instead of importing workers on H1-B.
- bluejekyll 5y agoWe in the US are not properly funding and supporting public education. We need to increase this at all levels. To be successful at Computer Science and Programming, students need access to the systems to do this development as well as teachers. Our teachers are woefully underpaid, in general, which means we’re not necessarily getting the students access to the best learning. H1-B isn’t the culprit here, but I do agree that we need to better fund our education system, all the way back to public pre-schools and on through public universities.
- trentnix 5y ago> Our teachers are woefully underpaid, in general, which means we’re not necessarily getting the students access to the best learning Throw as much money at the problem you want. But until the philosophy of education changes, you won't be any better at creating successful computer scientists and programmers. Our entire education system (even at the University level, which waters down curriculum to keep butts in seats) is now driven by a philosophy of maximizing equity, not opportunity. Writing software is a skill that requires high aptitude, and the needs of high aptitude learners are almost ignored by those deciding education policy and spending. The budget, teaching strategy, and curriculum focuses almost entirely on appealing to and raising the lowest common denominator. In fact, aptitude is generally associated with the ultimate evil of the social justice crusader: privilege. It will (continue to) be shunned and bullied accordingly.
- tomc1985 5y agoGood... the industry for developers has been slowly moving in a direction that seems to be trying to turn us into glorified auto mechanics. This is unacceptable. Let's keep supply tight!
- k__ 5y agoI don't think supply is the problem. It's simply that demand is skyrocketing, but we didn't make software substantially easier in the last decades.
- adrianN 5y agoThe systems we can build today with a small team are much more complicated than what we could do ten years ago. It's just that we also somehow managed to solve essentially the same problems we solved ten years ago with much more complex software.
- dantheman 5y agoScale and uptime - systems today are designed to scale and handle faults in ways that were impossible in the past. That brings complexity. Larger teams also ship faster, there's a lot of complexity to enable that collaboration.
- rightbyte 5y ago> handle faults in ways that were impossible in the past Like what? Earlier systems worked if your computer worked. Adding a server is a DRM move and doesn't help the user with reliability - usually the opposite.
- adrianN 5y agoAdding a server helps with the reliability of my backups :)
- danabrams 5y ago
- ThrowawayR2 5y agoPreviously discussed in https://news.ycombinator.com/item?id=27596687 https://news.ycombinator.com/item?id=27596687
- xwdv 5y agoReap what you sow.
- chapium 5y agoIts funny, I had the hardest time finding a software job last summer and ended up taking a job in an unrelated field to get some money coming in. Perhaps the market is heating up now?
- IdiocyInAction 5y agoTo people complaining about H1Bs, one thing to consider is that if importing workers is no longer an option, employers may think about remote work or offshoring, transferring jobs out of the country entirely.
- commandlinefan 5y agoThey've been "thinking" about that for at least 25 years now.
- IdiocyInAction 5y agoThey've also been doing it. There's tons of outsourcing companies in Europe and Asia. Many bigger companies have offices in those countries as well.
- distrill 5y agoIt is still very tough to outsource software development. Because of the nature of these sort of contractual arrangements, you end up moving the challenge from the implementation to the design spec and acceptance criteria. In a more traditional software org, the implementer does a lot of this work, but this doesn't really happen with outsource contracts in my experience.
- ak217 5y agoOffshore contract shops have a very poor track record in my experience. By contrast, what I have seen work very well is when a company hires an H1B worker, invests in their professional development, promotes them to some sort of manager, then that person goes back to their home country and establishes a unit of the company there, hires a team and leads it. I know multiple large companies that ended up having this be a key part of their strategy.
- commandlinefan 5y ago> It is still very tough to outsource software development. That's what I was getting at. If it was feasible, it would have been done completely by now.
- notyourday 5y agoIt's a myth. There's no shortage of developers, programmers, etc. There's a shortage of willingness to pay for them. Want to attract and retain qualified developers? Pay them. If you offer 5% salary increases when moving to your competitor means a 25% salary increase the developers will move. Can't afford it? Maybe you should cut those that suck off developers' teat.
- frankbreetz 5y agoDoesn't supply/demand directly affect salary? If there is a shortage you have to pay more for it. The fact that developer can make so much is because there is a shortage.
- notyourday 5y agoYou are confusing the top pay in the SV with developer pay. Even in SV the cash pay is low and a bump is given in funny money that may or may not end up being there. Average developers are not making $250k/year cash + guaranteed bonus + bonus + options.
- 88840-8855 5y agoI dont know. My company is paying devs 30-40% more than business people. Both had more or less the same 5 year education, both contribute in one way or another to the busines machine. And yet we have problems to find devs, there is a huge shortage. When I am looking at my friends and group them into devs and non-devs: devs make significantly more money, I am really jealous of that, because I am a business guy myself. In my eyes devs are overpaid: because there are not enough of them in the market they can be picky and choose. The more people study CS, the more supply will close this gap again. In the project that I am working in the business people and devs all contribute a lot of hard work and many hours to the success - why are the devs paid so much more?
- notyourday 5y ago> In the project that I am working in the business people and devs all contribute a lot of hard work and many hours to the success - why are the devs paid so much more? Because you clearly are struggling to hire developers at the prices you want to pay and you are not struggling to hire "business people" at the prices you want to pay. In either event you are paying developers shit. When an average junior developer starts getting paid what an average finance banker gets paid post school and in 10 years an average developer rising at the average rate in an org gets paid what an average person in finance who is rising at an average rate in finance org, then maybe there would be something to write about.
- sesteel 5y agoIn my opinion, the position of software developers is similar to stonemasons and blacksmiths historically. Skilled professionals to be depended upon. All play(ed) an important role in economics, religion, politics, and society in general.
- WJW 5y agoThough noticably, none of the kings, politicians and generals of old were stonemasons or blacksmiths.
- jafarlihi 5y agoEveryone and their dog is studying to become a software engineer, why's the shortage? Most who set out to do it give up but you'd still think there would be a lot of developers by now.
- adrianN 5y agoThe demand for software is still in the "looks infinite" regime of the s-curve. There is an endless number of manual business processes that could benefit from software.
- manigandham 5y agoThere's a strange case (of most professions) where being below average usually means you create more work. And as long as you continue that work with others who aren't very good, the work keeps compounding. This isn't purely technical of course, and involves lots of politics and bureaucracy, but it's how you end up with massive $100M software projects that completely fail. So the shortage is not only in having enough developers but having enough good developers. And that's tough given how vast the industry is, and how fast it moves.
- mattacular 5y agoThe shortage is of experience not people who want to get into software development.
- btbuildem 5y agoThey outline the "why?" clearly in the article.
- habibur 5y ago> Everyone and their dog is studying to become a software engineer... The thing is... this was true in the 90s, was true in the 00s and was true in the 10s. Yet we are here, shortage in developers after 30 years of everyone and their dog studying software engineering.
- distrill 5y agoIn my class (2016), there were still lots of people who felt silly about the web, which is where most of the work actually is. I would guess about half of my graduating computer science classmates went on to not work in the industry, because they had their hearts set on jobs that just weren't really available to them (they wanted to work at Blizzard and wouldn't consider anything web or web-adjacent). Perhaps they've reconsidered at this point, but if this pattern held anywhere else then this trend makes perfect sense to me.
- emddudley 5y agoThe cited BLS distinguishes between "Software Developers" and "Computer Programmers". It says Software Developer employment will increase by 22% over the next 10 years, while Computer Programmers will decline by 9%. https://www.bls.gov/ooh/computer-and-information-technology/home.htm https://www.bls.gov/ooh/computer-and-information-technology/... I have always been a bit perplexed by the distinction. What are examples of "Computer Programmer" jobs in the US? Why would you want two distinct classes of "software creators"?
- blihp 5y agoI generally think of a 'developer' as someone who can deal with more of the software development process (i.e. identify the requirements, break down the problem, define the tasks, perform the tasks) while a 'programmer' is someone you hand off defined tasks to be implemented. YMMV as everyone seems to have their own definition.
- shagie 5y agoThis has to do with the history of the classification. At one point, there was Application Developer and System Developer as two classifications. There was also a distinction at one time between what amounted to "people who wrote code" and "people who designed software". The writing code was the 'lower' of the two and the 'design' description included overseeing the other classification. You can see this by poking at the Wayback for this page: * 2012 - Programmers & Developers ( http://web.archive.org/web/20120416044322/https://www.bls.gov/ooh/computer-and-information-technology/home.htm http://web.archive.org/web/20120416044322/https://www.bls.go... ) (and a catch all "Web Developers" with a bunch of other stuff - maybe a holdover from the webmaster?) * 2014 - Programmers & Developers & Web Developers ( http://web.archive.org/web/20140627205116/http://www.bls.gov/ooh/computer-and-information-technology/home.htm http://web.archive.org/web/20140627205116/http://www.bls.gov... ) * 2021 - Programmers, Developers, & Web Developers and Digital Designers - http://web.archive.org/web/20210331093730/https://www.bls.gov/ooh/computer-and-information-technology/home.htm http://web.archive.org/web/20210331093730/https://www.bls.go... ---- Another way of looking at this is https://www.bls.gov/oes/current/oes_stru.htm#15-0000 https://www.bls.gov/oes/current/oes_stru.htm#15-0000 and the history of that page (which goes back even further). Back in '07 ( http://web.archive.org/web/20070111041207/https://www.bls.gov/oes/current/oes_stru.htm http://web.archive.org/web/20070111041207/https://www.bls.go... ), there were Computer Programmers; Computer Software Engineers, Applications; and Computer Software Engineers, Systems Software. So, it really is a change of "this is how businesses and government see the "Computer and Mathematical Science Occupations". Lumping it all together isn't necessarily the right answer. The titles that we've got that don't actually map to what we do doesn't help.
- johnnyfived 5y agoI'll believe it when I see it
- wait_a_minute 5y agoyeah right, they just want more cheap labor that will work nonstop without question
- systematical 5y agoThe shortage is already here based on my recent job search. I've never felt so popular in my life.
- commandlinefan 5y agoI finally know what it feels like to be a pretty girl.
- txsoftwaredev 5y agoI would concur. My inbox is flooded with companies looking to hire now (lots of remote), even presenting salary and benefits in the initial communications. The salary ranges seem to have gone up as well from what I was previously seeing.
- wwweston 5y ago> How Can Companies Improve Their Retention and Hiring? The answer to this question in the article -- make sure you've thought about what a technical career track that includes advancement is within your organization -- is part of the picture, especially at the senior level. If you want advanced skills, be ready to advance people. And that may even include preparing staff/extrasenior engineers to actually train juniors and even seniors in skills that you want rather than expecting skilled labor to show up preformed at your doorstep so you can externalize the cost of thinking through how your talent supply works (as attractive as that option will always remain... if one can get away with it).
- ehnto 5y agoAbsolutely. So many software companies are dead ends from a personal achievement level, and have zero mentorship. Moving company is the only way to progress your life in many cases. It's not always an easy problem to solve though, you need a domain and software platform challenging enough to have room for growth and advancement, without shooting yourself in the foot by making it too difficult to hire developers for. Some domains just aren't that challenging, and building simple and robust software is usually preferred to building over-engineered and challenging software. You may just genuinely have a boring software company that can't hold on to certain types of developers very well.
- jkingsbery 5y ago> These graduates enter either a managerial track, such as Project and Program Manager or Staff Software Engineer, or they enter a technical track, such as Senior Software Engineer and Software Development Engineer II and above. At least at my company, Principal Software Engineer is considered a technical/individual track role, and my assumption was that Principal/Staff Software Engineer at most companies were. Is that not the case?
- devwastaken 5y agoThe shortage is artificial. Companies do not want inexperienced developers, and they are unwilling to invest in the education and experience of developers. They want someone that already has all the credentials they want, on paper. Regardless of if they're actually good or not. That's a natural result of favoring short term goals over long term investment and the ever increasing corprotization of development jobs. If anyone but your actual dev leads are creating and hiring for dev jobs - you're apart of the problem. Propaganda like "job shortages" are a nice way of saying "we need to import more workers", whilst rejecting hundreds of domestic applicants.
- cj 5y ago> That's a natural result of favoring short term goals over long term investment It’s extremely hard to justify investing in junior engineers when the trend in our industry is to jump between jobs every 1-3 years. What’s the point of hiring and training/mentoring anyone if the industry average tenure is less than, say, 5 years? I think calling it artificial is going a bit too far. At least from my perspective, our entire industry is relatively new (if you look purely at the average / median years of experience in out industry). 5-7 years is often considered “senior”, while in other industries it can take 10-15+ years to really be considered “senior” in your role. It’s not surprising that many companies want “senior” level experience since “senior” really just means “not a beginner” at many companies. And not surprising that companies are reluctant to hire junior devs when jumping between jobs is so commonplace.
- ehnto 5y agoYou're both looking at the same problem but one is describing the horse and one is describing the cart, we're not sure which goes first but only one of us has any agency to tip the scales and that's employers. Employees will do whatever is best for them, but an employer can attempt to make sure what's best for them is to stay at their company.
- bluefirebrand 5y ago> It’s extremely hard to justify investing in junior engineers when the trend in our industry is to jump between jobs every 1-3 years. Employees job hop to get raises and title changes. If employers were more willing to invest in anyone, not just Juniors, this wouldn't be as much a problem. Some people do want to job hop a lot, but many don't. This industry is actively hostile to the people who might otherwise be loyal to their employer, because it does not reward loyalty at all.
- tenpoundhammer 5y agoA quick breakdown from my recent experience hiring for 5 software developer positions. Entry Level Engineers - Easy to find but expensive to train Mid level engineers - Difficult to find but minimal training required Senior engineers - Extremely difficult to hire almost no training required For a software team to be successful you need at minimum a strong mid level to keep everyone moving in the right direction but it's preferable to have a senior level engineer. I'd recommend everyone heavily invest in growing the people they have instead of playing the 'lets hire a senior lottery'.
- shagie 5y agoHow many times do you want to train entry level employees over the course of a project for a few years? How much will that training cost in terms of time spent hiring and onboarding over the duration of the project? What is the productivity loss of doing the "lets hire a senior?" ... and not incurring the other expenses of training entry level who leave after a year?
- ehnto 5y agoThat's part of the problem isn't it, so many software companies are short projects, not long term businesses. You can't afford the investment, because you'll never benefit from it by the time the project is done. You also can't start with a junior and teach them the platform, because the platform isn't even built yet.
- tenpoundhammer 5y agoI wish there were a simple answer but it's a complicated cost benefit analysis that has to be done for each organization taking into account their objectives. But most organizations don't have that many options because salaries are pre-defined and inelastic. There really aren't that many options 1. Invest in training the people you have 2. Offer some novel incentives 4 day work week or something. 3. Compete on salary by paying more In a lot of organizations 2 and 3 can't be changed by the people doing the hiring.
- sam_lowry_ 5y agoHere is a totally different view from Europe. I have 20+ years of career in R&D, consulting, startups and multinationals, publications in 1-tier conferences, lots of Java/PHP, a bit of Cloud, Big Data and ML experience. I grew up to IT Director, downshifted to SSE at a unicorn. I've been searching for a new job for over half a year in Europe. Mostly remote. I am willing to do legacy programming. My only requirement is to work on a product creating real value. But I always bump into artificial niches: GDPR/CCPA/KYC compliance, all sorts of crypto, yet another social network, data mining users, traiding floor software... Exactly the sort of things I am tired of. There is no shortage of software developers, but a big shortage of decent work.