Software Developer Job Description and Salary

Here's what you need to know to enter this fast-growing field

software developer
••• Alvarez / E+ / Getty Images

Software developers are among the most sought-after professionals in the world today, and the demand for their talents is only expected to grow for the foreseeable future. The Bureau of Labor Statistics predicts that jobs in the field will grow by 24 percent from 2016 to 2026, compared to 7 percent growth for all jobs.

A Broad Definition of a Software Developer

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. From the consumer's perspective, that task could involve playing a game, watching a movie, writing a business letter, or building a spreadsheet. The possibilities are as endless as the list of apps available for your mobile device. Moreover, specialized software is created or customized for virtually every profession, industry, and government department.

Why the Field Is Booming

There are many factors driving the demand for software developers, according to the federal Bureau of Labor Statistics:

  • The competition to create new applications for mobile devices
  • The needs of the health and insurance industries for innovative software to manage patient care
  • The enhancement of products like appliances to incorporate software into their designs
  • Concerns over threats to computer security that require investment in security software

Education and Training

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. Internships are highly recommended as they provide insight into various industries and exposure to various programming languages. A firm knowledge of industry best practices and emerging trends in software development is essential.

Software Developer Skills

These software developer skills can be found frequently in job listings, on resumes, and in cover letters. The list of skills required for each of the jobs varies widely.

A - G

  • Ability to work independently and within groups
  • Analyze user needs
  • Analytical thinking
  • Android programming experience
  • Background in programming or computer science/engineering
  • Build business logic of software
  • C# and .NET programming experience
  • C++ programming experience
  • Comfortable writing and analyzing SQL queries 
  • Create complex databases for organizations 
  • Create flowcharts
  • Critical thinking
  • Design, test, and develop software to meet user needs
  • Develop software applications
  • Develop software from scratch 
  • Document application process for future maintenance and upgrades
  • Ensure software functions normally through software maintenance and testing
  • Estimate project cost
  • Estimate scope of project
  • Execute test plans
  • Experience creating SQL queries
  • Experience with Git and Github 

H - M

  • Hands-on software troubleshooting experience
  • iOS programming experience
  • Java and Java framework experience
  • JavaScript programming experience
  • Keen attention to detail
  • Knowledge of backend development best practices
  • Maintain user manuals and training materials
  • Manage project build lifecycle 
  • Monitor software performance tests

N - S

  • Provide input to improve business processes
  • Provide reports as necessary
  • Ruby on Rails framework experience 
  • Recommend software upgrades
  • Research and consult about potential software and/or system changes
  • Revise programs for corrections, enhancements, or environment changes
  • Share knowledge and expertise with fellow team members
  • Solid understanding of company’s needs
  • Source control management experience
  • Strong problem solver
  • Strong oral and written communication

T - Z

  • Thorough understanding of data structures and algorithms 
  • Understand software design patterns
  • User interface/user experience
  • Write and maintain software
  • Working knowledge of XML and web services

Software Developer Salaries

According to the Bureau of Labor Statistics, the median annual wage for software developers, applications, was $101,790 as of May 2017. The lowest 10 percent earned less than $59,870, and the highest 10 percent earned more than $160,100.

The median for software developers, systems software, was $107,600 in May 2017. The lowest 10 percent earned under $65,670 and the highest 10 percent earned more than $164,150.

Employment Outlook

According to the Bureau of Labor Statistics, employment of software developers is projected to grow 24 percent from 2016 to 2026, much faster than the 7 percent average for all occupations. But 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.