Software Developers


Salary Median (2020)


Projected Job Growth (2019-2029)

+21.5% (much faster than the average)


What Software Developers Do

Research, design, and develop computer and network software or specialized utility programs. Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. Update software or enhance existing software capabilities. May work with computer hardware engineers to integrate hardware and software systems, and develop specifications and performance requirements. May maintain databases within an application area, working individually or coordinating database development as part of a team.

Other Job Titles Software Developers May Have

Application Developer, Application Integration Engineer, Developer, Infrastructure Engineer, Network Engineer, Software Architect, Software Developer, Software Development Engineer, Software Engineer, Systems Engineer

How Leaders Describe a Typical Day at Work

Co-founder / Chief Software Architect ,


My day is typically spent doing a lot of prototyping and experimenting with new hardware devices, product designs, and apps. I develop and manage Android/iPhone/Windows 7 Phone Applications that blend with our proprietary hardware to create a real-world interface to your smartphone. I work to make sure that all products and marketing are in line with the Sphero brand and mission.

Software Engineer ,


I get into work around 9, and I check my emails, eat breakfast, and plan what I want to accomplish that day. Then, I sit down and code until lunch. Depending on how work is going, I might get up and ask my teammates for help, or I might get up just to stretch and walk. I have lunch at noon. Typically, this is also the time when I'll go to social events or meetings. After lunch, I might have a meeting either with my mentor, my manager, or my team. Otherwise, I spend the rest of my day coding.

Tasks & Responsibilities May Include

  • Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
  • Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
  • Confer with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
  • Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
  • Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.

This page includes information from theO*NET 25.0 Databaseby the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under theCC BY 4.0license. O*NET® is a trademark of USDOL/ETA.