What Does a Software Developer Do?
Learn About the Salary, Required Skills, & More
:strip_icc()/software-developer-job-description-salary-and-skills-2061833-Final-c1443780296e40869075925f9b96fb5e.png)
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.
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)
Source: U.S. Bureau of Labor Statistics, 2018
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 significant 21% from 2018 to 2028, compared to % growth for all jobs overall.
Jobs for software applications developers are expected to grow even faster, at 26% percent in the same period. Employment of systems developers is projected to grow 10%.
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:
- Computer and Information Systems Manager: $142,530
- Computer Network Architect: $109,020
- Computer Systems Analyst: $88,740
Source: U.S. Bureau of Labor Statistics, 2018