Whether building services for the enterprise or a fun app for consumers, a software developer is the backbone of many organizations. Depending on the role, their responsibilities and projects can vary wildly, demanding a mix of technical and “soft” skills. Given that complexity, what’s a typical software developer salary? And how can software developers maximize that salary?
Are software developers in demand?
According to Emsi Burning Glass, which collects and analyzes millions of job postings from across the country, software developers are in very high demand: organizations posted more than a million open software developer jobs over the past 12 months, and the average time to fill a position is 43 days.
Over the next 10 years, Emsi Burning Glass projects, the number of software developer jobs will grow 17.3 percent, suggesting that software development is a very sustainable career. Meanwhile, the U.S. Bureau of Labor Statistics (BLS) estimates there are nearly two million software developer jobs in the United States (as of 2020), with an expected growth rate of 22 percent through 2030.
What is a software developer’s average salary?
Emsi Burning Glass estimates the median software developer salary at $98,728 per year, rising even more with the right mix of experience and skills. Those who’ve been in the software-development field for even a few years can expect to earn six-figure salaries; depending on their company, they may also earn other kinds of compensation such as stock bonuses.
According to the BLS, the median salary for software developers is $110,140, making it one of the higher-paying roles in tech. (For comparison’s sake, the latest Dice Tech Salary Report placed the average technologist salary at $104,566, up 6.9 percent between 2020 and 2021.)
What are the most valuable skills for a software developer?
Based on an analysis of the software development skills that pop up most frequently in job postings, it’s important for any software developer to learn the fundamentals of building software; beyond that, mastering some key programming languages can expand your job opportunities. Here are some of the top specialized skills that appear in postings:
- Software engineering
- Software development
- Microsoft C#
“Soft skills” also play a key component; software developers usually need to communicate with their team members, and must often persuade their managers and other stakeholders of a particular course of action. Some of those top “soft skills” that appear in job postings include:
- Communication skills
Mastering both technical and soft skills can unlock all kinds of opportunities, as well as position you for raises and cool projects as you make your way through your career.
How long does it take to learn software development?
Despite the demand, the job market for software developers is very competitive, and landing the right job can take months. We spoke to hiring managers and industry insiders to understand what they want from software developers; if you’re just starting out, keep these points in mind as you plot your learning journey.
Yuriy Federenko, Senior Software Engineer at Ukraine-based MacPaw, tells Dice: “Software developers often lack the ability to think about the product and business while focusing solely on development. But the developers always have an advantage. They stay closer to the product than the rest of the team, and some aspects of the product might be more visible from their point of view. The engineer’s ability to highlight such unobvious things for other team members is highly valuable.”
In other words, understanding the holistic view of a project can help you deliver results. It also positions you for success in your next role. Federenko also emphasizes the need for cross-team collaboration: “An engineer’s work often depends on related things or other specialists in the team. If an engineer is aware of the state of things in other departments, it’s easier to communicate with people from other teams and come up with new solutions.”
As you learn, keep in mind that concepts can migrate between one technology and another. “For example, in 2019, Apple introduced SwiftUI, a new framework for app development,” Federenko says. “In SwiftUI, quite different approaches and paradigms in programming replaced the previous ones. But in the world of front-end development, these types of approaches and paradigms had been quite common by that time. For many years, front-end developers had been working with ReactJS, which became an inspiration for the SwiftUI makers (at least we, front-end developers, believe in that).”
Those software developers who were already well-versed in front-end development could master SwiftUI in relatively short order. Even if you don’t have much experience in a particular technology stack, your transferrable skills could still make you a great job candidate (and position you for raises and other kinds of compensation bumps).
What other skills are crucial to learn? “Creativity,” says Christiaan Huynen, CEO and founder at DesignBro. “A lot of people mistake software development as a job for only logical people. While logic certainly helps with algorithms and the program itself, creativity is what sets a software apart from its many competitors. I am part of the panel interviewing candidates for our company’s software developers/engineers and we almost always hire the most creative ones. Technical ability can easily be learned but creativity cannot.”
Steven Walker, CEO of Spylix, says logical thinking is still important: “Software is made to solve problems, which can be done through logic. Problem-solving is itself a skill.” Logical thinking ensures you know what you’re doing; creativity and critical thinking will deliver results.
Do software developers need certifications?
Most experts we spoke with note that certification(s) might help you, but it’s typically only relevant if a certification is widely accepted and highly relevant to the job. A development role focused on Salesforce or AWS, for instance, might ask that you have relevant certifications.
Beyond certifications, having extensive knowledge of the principles of software development, as well as your target industry’s particular regulations and issues, is always valuable. “Companies value when developers look beyond their standard field of work,” Fedorenko adds. “If engineers create apps for banks, knowing how banks and the banking industry operate will give such specialists extra points. Understanding the business processes isn’t a must for developers, but it will allow the company to create tasks in general terms for such developers. As a result, companies can expect more quality work delivered with the results in mind.”