CFChooseField
Technology and Mathematics

Software Developers

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.

Visual summary of pay, outlook, skills, interests, and preparation for Software Developers

Median pay

$133,080
Median annual pay for Software Developers.
U.S. Bureau of Labor Statistics · 2024
View source ↗

10-year growth

15.8%
Projected employment growth from 2024 to 2034.
U.S. Bureau of Labor Statistics · 2024–2034 projections
View source ↗

Annual openings

115,200
Projected annual openings, including growth and replacement demand.
U.S. Bureau of Labor Statistics · 2024–2034 projections
View source ↗

Employment

1,693,800
Estimated U.S. employment for Software Developers in 2024.
U.S. Bureau of Labor Statistics · 2024
View source ↗

Jobs added or lost

+267,700
Projected numeric employment change from 2024 to 2034.
U.S. Bureau of Labor Statistics · 2024–2034 projections
View source ↗

Entry preparation

Bachelor's degree
Typical education needed to enter Software Developers.
U.S. Bureau of Labor Statistics · 2024 profile
View source ↗
O*NET occupation profile

What the work involves

Strongest O*NET signals first.

Essential skills

  1. 1Critical Thinking
  2. 2Active Learning
  3. 3Reading Comprehension
  4. 4Active Listening
  5. 5Writing
  6. 6Speaking

Knowledge areas

  1. 1Computers and Electronics
  2. 2Mathematics
  3. 3Customer and Personal Service
  4. 4English Language
  5. 5Education and Training
  6. 6Engineering and Technology

Abilities

  1. 1Deductive Reasoning
  2. 2Near Vision
  3. 3Oral Comprehension
  4. 4Oral Expression
  5. 5Problem Sensitivity
  6. 6Written Comprehension

Career interests

  1. 1Investigative
  2. 2Conventional
  3. 3Realistic
  4. 4Artistic
  5. 5Enterprising
  6. 6Social

Work styles

  1. 1Attention to Detail
  2. 2Innovation
  3. 3Dependability
  4. 4Intellectual Curiosity
  5. 5Achievement Orientation
  6. 6Adaptability

Work activities

  1. 1Working with Computers
  2. 2Processing Information
  3. 3Making Decisions and Solving Problems
  4. 4Thinking Creatively
  5. 5Communicating with Supervisors, Peers, or Subordinates
  6. 6Analyzing Data or Information

Work context

  1. 1Spend Time Sitting
  2. 2Work With or Contribute to a Work Group or Team
  3. 3E-Mail
  4. 4Freedom to Make Decisions
  5. 5Importance of Being Exact or Accurate
  6. 6Determine Tasks, Priorities and Goals

Representative tasks

  • Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
  • Develop or direct software system testing or validation procedures, programming, or documentation.
  • Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
  • Modify existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
  • Prepare reports or correspondence concerning project specifications, activities, or status.
  • Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
  • Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.

Software and tools

Git · in demandOracle Java · in demandGoogle Angular · in demandGo · in demandApache Kafka · in demandGitHub · in demandSpring Framework · in demandKubernetes · in demandTypeScript · in demandLinux · in demandAtlassian JIRA · in demandC · in demand

Sources

BLS provides national pay, employment, and projections. O*NET provides skills, interests, preparation, tasks, work context, and tools.