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.

Backend Software Engineer ,


My day starts with "Standup", where the team and everyone else gives an update of what we did the day before and what we’re doing next. There are some meetings scheduled to discuss current projects, blockers, and make design plans. I allocate part of my day to coding, answering emails, and reading documentation from other projects I can learn from.

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 26.1 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.