Computers and math
Software engineer
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.
Median pay
$135,980
Growth to 2035
+10%
faster than average
Openings a year
95,300
Time to qualify*
16 months
* From a bachelor's degree in an unrelated field.
Pay
Software engineer
Getting in
- Typical entry education
- Bachelor's degree
- On-the-job training
- None
- Prior experience
- None
- Required
- No license; technical interviews are the gate
What the work is like
Dealing with the public
Time pressure
Cost of a mistake
Freedom to make decisions
Repeating the same tasks
Time sitting
Software engineer: 8% usually work over 40 hours a week
Core 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.
Also called: Application Developer · Application Integration Engineer · Developer · DevOps Engineer (Development Operations Engineer) · Infrastructure Engineer · Software Architect · Software Developer · Software Development Engineer
Outlook and AI
Software engineers held 1,717,800 jobs in 2025. BLS projects 1,892,600 by 2035 (+10%, faster than average; all jobs: +3.5%).
Compare with
- Software engineer vs. Data scientist
- Software engineer vs. Web developer
- Software engineer vs. Information security analyst
- Software engineer vs. QA engineer
- Software engineer vs. Accountant
- Software engineer vs. High school teacher
- Software engineer vs. Project manager
- Software engineer vs. Computer occupations, all other
- Software engineer vs. Computer systems analyst
- Software engineer vs. Computer programmer
- Software engineer vs. Database administrator
- Software engineer vs. Database architect
- Software engineer vs. Computer hardware engineer
- Software engineer vs. Computer network architect