Nate Nead is the CEO of DEV.co and SEO.co. Nate and his teams specialize in custom software development, web design and digital marketing. 

It’s undeniable that there’s a software engineer talent shortage in the U.S. If you’ve had to hire a software engineer in the past few years, you’ve likely felt the pain firsthand. Right now, talent shortages in the U.S. have hit a 10-year high. Even pre-pandemic, a 2018 report by Korn Ferry found that the global talent shortage could climb to 85.2 million workers by 2030.

As a result, software engineer job postings can end up stagnant and unfilled for months at a time. I’m finding the salary of the average software engineer is increasing to attract more talent. But because there are so few people to make good on inventive, new ideas, innovation and growth can suffer.

If you’re a software engineer, you might feel like this is actually a good thing, as you can often have your pick of jobs (and make good money in the process). But for most everyone else, the talent shortage is a major problem.

So, how do we solve it?

The Root Causes Of The Shortage

I’m not arrogant enough to think I can solve the problem with a single article, but I can help people understand what I believe are some of the root causes of the talent shortage:

• High demand: Demand for software engineers is skyrocketing, thanks to the demand for technology. The need for advanced technologies, like blockchain, artificial intelligence and machine learning is growing, and nearly every business in the world needs its own set of solutions. As a result, company needs for software developers are growing every day.

• Credential preferences: It doesn’t help that most companies, especially big ones, appear to want developers with robust credentials. Based on my observations, organizations often want to see a four-year computer science degree and years of experience. If you’re a self-taught software developer, relying on coding boot camp or online tutorials, it can be harder to get hired.

• Changing technologies: The half-life of programming knowledge is comparatively short. New languages are constantly emerging, old languages are getting refined updates and entirely new technologies go from obscure to mainstream seemingly overnight. Experienced programmers often struggle to keep up, and even recent college graduates sometimes find that what they learned in school is no longer relevant.

• Software engineer direction: If you had the ability to develop groundbreaking new technology, would you work for a big business with a strict upper limit to your salary? Or would you develop that technology for yourself and try to become a major success? Because of this dilemma, I’ve seen many software engineers who would rather work for themselves than for someone else, which reduces the talent pool available.

Broad Changes To Improve The Situation

What steps can companies and institutions take to improve this situation?

• Make programming an education staple. For starters, I believe we can do a better job of educating people on programming and software engineering. Business leaders can encourage more people to take programming classes. Perhaps programming classes could even be included earlier in primary education so more people are familiar with the basics. In some areas, this is already being discussed as a real possibility.

• Change how you think about qualifications. We can also reshape our expectations when it comes to qualifications and credentials. From my perspective, if a person can do the work, why should it matter that they have a college degree?

• Keep pace. Our universities, coding boot camps and other institutions also need to ensure they are equipping budding software engineers with knowledge that’s up-to-date and practically useful.

Actionable Tips For Companies

In the meantime, if your company is looking to hire software developers and you’re struggling to get your positions filled, there are some helpful tips that can make your life easier. For example:

• Look for talent, not credentials. While you should certainly consider a person’s formal education, certifications and other badges of expertise, they shouldn’t be the only factor you consider when hiring. Prioritize a person’s skills and talents, rather than only their credentials.

• Find flexible candidates. Because tech knowledge is always evolving, and because you want long-term hires, you should focus on finding candidates who are flexible. Are they willing to learn new concepts and master new skills as they continue working for your organization?

• Support your existing team with training and education. If you can’t hire someone new to do programming work, can you train someone already in your organization to do it? This can be time- and/or resource-intensive, but even a small amount of education and training can improve your organization’s capabilities.

• Be ready to compete for top candidates. If you’re going after the most qualified experts available, you should know how much competition you’re going to face. You’ll need to be aggressive with recruiting and prepare to make highly competitive offers to succeed.

• Consider outsourcing. If you have a limited budget, you can consider outsourcing your development needs. My company, along with many others, offers these types of services. Through this experience, I’ve seen that working with an agency or freelancers can be a helpful way to get quality work done for less money.

I believe it’s unlikely that the software engineer shortage will go away anytime soon. In fact, even with some of the most effective strategies I’ve outlined, the shortage will probably get worse before it gets better. It’s going to take time, and the collective effort of individuals and businesses all over the world, to make a difference.


Forbes Business Council is the foremost growth and networking organization for business owners and leaders. Do I qualify?


Follow me on Twitter or LinkedInCheck out my website