Software is a depreciating asset that is produced and maintained by a national pool of engineers that is too small.  Turnover accelerates the speed of that depreciation – so finding an engineering team that is strong and keeping them happy is the key to strong and stable software.  That’s important since we have software running large portions of our lives and the greater economy.

By 2024, the Labor Department estimates that there will be 426,900 open software development jobs in the US.  With the current pace of US software engineering and programming graduates running at about 60,000 annually, we somehow are going to need to double our output of software engineers in the intervening 7 years to close that gap. 

Even with that huge labor shortage as an outstanding risk, more and more of our lives are moving to software.  The entire financial sector runs on software, Tesla is producing computers with wheels and calling them cars, people are spending hours per day with their smartphones and even reporting symptoms of depression without them.  My sons have laptops in their classrooms, use Google Classroom, online textbooks, and don’t know a world without the internet at their fingertips.

ALL of this is developed, managed and maintained by software engineers. 

Software needs to be maintained and improved almost constantly.  It’s an ongoing process with security patches, performance issues that need to be addressed, and updates to the underlying operating systems that need to be addressed or the applications stop working.  All that work takes engineering and project management talent to keep everything tracked and addressed in a timely fashion.

We are faced with a scarce resource responsible for an increasingly important share of our economy.  Software engineering talent currently commands high salaries, that will likely go higher.  Unemployment among software talent currently stands at 2.4%, unchanged over the past year and frighteningly low for those of us that are hiring them. Opportunities abound for strong talent, with high salaries and challenging intellectual problems in an engineer’s choice of domains.  An important, and potentially defining, factor that sets different companies apart from each other is their culture.

Software companies with dysfunctional or destructive cultures that emphasize internal competition,  unhealthy work environments, and push engineers toward burn out are putting their internal IP at risk as well as their user base – all of us.  The more engineers that are transitioning between jobs, checked out at work, or not able to do their best work, the more the nation wastes valuable engineering time, and simply exacerbates the talent shortage.

Keeping the team of highly skilled engineers that I work with happy and challenged means that they can do their best work for our customers, who in turn are using that software to solve all sorts of problems.  It means that I am doing my part to protect a valuable resource.