Software Developers

15-1252.00 Zone 4 — Considerable Preparation Needed

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.

Also known as: AI Specialist (Artificial Intelligence Specialist), Application Analyst, Application Architect, Application Developer, Application Engineer, Application Integration Engineer, Application Integrator, Application Programmer, ...

Annual Salary

$133,080

Median annual wage (May 2024)

$103,050 25th – 75th percentile $169,000
10th percentile $79,850
90th percentile $211,450
U.S. Employment: 1,654,440

Job Outlook

+15.8%

Projected growth, 2024–2034 (Much faster than average)

Annual Job Openings 115,200 per year (avg. 2024–2034)
Typical education: Bachelor's degree

What You'd Do

  • 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.
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
  • Determine system performance standards.
  • Develop or direct software system testing or validation procedures, programming, or documentation.
  • 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.

Top Skills

Programming 4.0
Critical Thinking 3.9
Judgment and Decision Making 3.6
Reading Comprehension 3.5
Systems Analysis 3.5
Active Learning 3.5
Active Listening 3.4
Systems Evaluation 3.4

Importance scale: 1 (low) – 5 (high)

Knowledge Areas

Computers and Electronics 4.8
Mathematics 3.6
Customer and Personal Service 3.6
English Language 3.3
Education and Training 2.8
Engineering and Technology 2.8
Design 2.7
Telecommunications 2.6

Importance scale: 1 (low) – 5 (high)

Education Level Distribution

Percentage of workers in this occupation by education level

Bachelor's
84.8%
Associate's
5.1%
Master's
4.5%
High School
3.1%
Certificate
1.7%

Technology & Tools

Software and tools commonly used in this role

In-Demand Technologies

Adobe Acrobat Adobe After Effects Adobe Creative Cloud software Adobe Illustrator Adobe InDesign Adobe Photoshop AJAX Alteryx software Amazon DynamoDB Amazon Elastic Compute Cloud EC2 Amazon Redshift Amazon Web Services AWS CloudFormation Amazon Web Services AWS software Ansible software Apache Airflow Apache Cassandra Apache Hadoop Apache Hive Apache Kafka Apache Maven Apache Spark Apache Subversion SVN Apache Tomcat Apple iOS Apple macOS Atlassian Bitbucket Atlassian Confluence Atlassian JIRA Bash Bootstrap

Work Styles

Personality traits and work styles important for this career

2.7
Attention to Detail
2.5
Innovation
2.4
Dependability
2.3
Intellectual Curiosity
2.1
Achievement Orientation
2.1
Adaptability
1.8
Integrity

Key Abilities

Cognitive, physical, and sensory abilities important for this role

Oral Comprehension 3.8
Written Comprehension 3.8
Oral Expression 3.8
Near Vision 3.8
Problem Sensitivity 3.8
Deductive Reasoning 3.8
Information Ordering 3.6
Written Expression 3.5

Importance scale: 1 (low) – 5 (high)

Work Activities

General types of job behaviors occurring on this job

Working with Computers 4.6
Processing Information 4.4
Making Decisions and Solving Problems 4.3
Thinking Creatively 4.3
Communicating with Supervisors, Peers, or Subordinates 4.2
Analyzing Data or Information 4.2
Updating and Using Relevant Knowledge 4.1
Organizing, Planning, and Prioritizing Work 4.1

Importance scale: 1 (low) – 5 (high)

Work Environment

Physical and social factors that influence the nature of work

Spend Time Sitting
5.0
Work With or Contribute to a Work Group or Team
4.6
E-Mail
4.5
Freedom to Make Decisions
4.3
Importance of Being Exact or Accurate
4.3
Determine Tasks, Priorities and Goals
4.2
Contact With Others
3.9
Coordinate or Lead Others in Accomplishing Work Activities
3.7
Time Pressure
3.5
Work Outcomes and Results of Other Workers
3.4
Telephone Conversations
3.4
Importance of Repeating Same Tasks
3.2

Is Software Developers right for you?

Take our free career quiz to see how you match with this and 900+ other careers.

Take the Quiz

Salary data: BLS Occupational Employment and Wage Statistics, May 2024. Outlook data: BLS Employment Projections, 2024–2034.

This page includes information from the O*NET 30.2 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license.