What Does a Software Developer Do?

Learn About the Salary, Required Skills, & More

Image by Theresa Chiechi. © The Balance 2019

Software developers are the creative minds behind software programs, and they have the technical skills to build those programs or to oversee their creation by a team. They create software that enables users to perform specific tasks on computer devices. Those tasks might involve playing a game, watching a movie, writing a business letter, or building a spreadsheet. Specialized software is created or customized for virtually every profession, industry, and government department.

Approximately 425,000 software developers worked in the U.S. in 2016.

Software Developer Duties & Responsibilities

Developers can work in systems software or in applications such as those for mobile devices, but their duties are similar in many cases.

  • Develop and test software to meet consumers' and clients' needs.
  • Develop upgrades for existing applications.
  • Monitor quality and performance of applications through testing and maintenance.
  • Document all work for future reference.

Software Developer Salary

Developers who work in systems software are paid somewhat more than those who work in applications.

  • Median Annual Salary: $110,000 ($52.88/hour)
  • Top 10% Annual Salary: More than $166,960 ($80.27/hour)
  • Bottom 10% Annual Salary: Less than $66,740 ($32.09/hour)

Education, Training & Certification

This profession requires education and training, but certification isn't necessary.

  • Education: Software developers typically have a bachelor's degree in computer science and a strong set of programming skills. Students studying computer science should focus on classes related to building software.
  • Internship: Internships are highly recommended because they provide both hands-on training and insight into various industries, as well as exposure to various programming languages. A firm knowledge of industry best practices and emerging trends in software development is essential.

Software Developer Skills & Competencies

A few qualities and skills can help you become successful as a software developer.

  • Creativity and innovation: Yours should be the minds behind new software capabilities, even when others say it can't be done.
  • Interpersonal and communication skills: You won't be working in a void. This job often involves collaboration with a team, and you'll have to be able to concisely and clearly communicate instructions to others.
  • Analytical skills: You'll have to match improvements and creations to users' and clients' needs.
  • Concentration and focus: Software development involves numerous and minute interlocking pieces. You can't be prone to distraction if you want to be successful.

Job Outlook

The Bureau of Labor Statistics predicts that jobs in this field will grow by a very significant 24% from 2016 to 2026, compared to 7% growth for all jobs overall.

Jobs for software applications developers are expected to grow even faster, at 31 percent in the same period. Employment of systems developers is projected to grow 11 percent. 

There are many factors driving the demand for software developers, including competition to create new applications for mobile devices, the needs of the health and insurance industries for innovative software to manage patient care, and concerns over threats to computer security that require investment in security software

Work Environment

Software development is a team endeavor, so you'll be working with and interacting with others on a regular basis. This is the case even if you work from home as some developers do. You must still maintain ongoing communication with others involved in the process, even remotely.

Work Schedule

Hours can be erratic, depending on deadlines and the project you're working on. This is generally a full-time job at a minimum. Overtime is common. This career won't always stop for weekends and holidays.

Comparing Similar Jobs

Some similar jobs and their median annual pay include: