Skip to content
Whittle

Software Developers

Also called Developer, Software Architect, Software Developer, or Software Engineer

Updated · Source: O*NET 31.0

What Software Developers do

You figure out what people need a program to do, then build it, test it, and keep fixing it as the world changes.

Software developers design and build the programs that run on phones, laptops, websites, and machines. The job starts with a question: what does the person using this actually need, and can we build it in the time and money we have? Then you write code, test it, and write down how it works so other people can follow.

A lot of the work is repair and improvement, not brand-new invention. You fix errors, make slow things faster, and update older software so it works with new equipment. You sit at a computer for long stretches, working through a problem on your own, but you are also part of a team, sending email, talking with customers, and checking in with the engineers and programmers around you.

A day in the life

You start with email and messages: a bug report, meaning a message telling you something in the software is broken, a question from a customer, a note about what the team is building this week. You spend a long quiet stretch writing and testing code, one problem at a time, and some of those problems take hours. Mid-morning you meet with teammates and with the people whose job is to work out exactly what the business or customer needs the software to do, so you can agree on what gets built. In the afternoon you go back to an older program and fix the fault someone found. Before you log off, you write a short status update on where the project stands. Most of the day you are sitting.

This could fit you if you…

  • ✓Like chasing a problem until it finally clicks
  • ✓Enjoy building things and seeing them work
  • ✓Can explain technical ideas to people who are not technical
  • ✓Keep careful track of details and deadlines
  • ✓Are willing to keep learning new tools for years

You might not like it if you…

  • –Need to be on your feet and moving all day
  • –Dislike sitting at a screen for long stretches
  • –Get frustrated fixing other people's mistakes in old code
  • –Would rather avoid meetings, email, and written status reports

How people get in

  1. 1Try coding now with free online lessons or a computer class, and build a small project you can show people
  2. 2Plan for a bachelor's degree, which is the typical entry-level education; common majors include computer science, computer engineering, information technology, information science, and computer programming
  3. 3Keep building real projects outside of class, since projects give you something concrete to show and talk about when you apply
  4. 4Look for an internship or a part-time technical job while you study, so you learn how teams actually work together
  5. 5Apply for junior developer roles, where you usually start with smaller fixes and updates under more experienced developers
  6. 6Keep learning after you are hired; the tools and languages change, and active learning is part of the job

Who tends to enjoy it

Curious

People who like figuring things out, research, science, and solving problems.

Organizing

People who like keeping things accurate, orderly, and running on schedule.

Hands-on

People who like building, fixing, working with tools, machines, plants, or animals.

Official task list

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. (O*NET)

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

A typical day involves

Sitting Part of a team Email

Skills that matter most

  • Programming
  • Critical Thinking
  • Judgment and Decision Making
  • Reading Comprehension
  • Active Learning
  • Systems Analysis

What you'll need to know

  • Computers and Electronics
  • Mathematics
  • Customer and Personal Service
  • English Language
  • Education and Training

How much Software Developers make

The median pay for Software Developers in the U.S. is $135,980 a year ($65.38 an hour). Most earn between $82,460 and $214,670. (Bureau of Labor Statistics, May 2025)

Pay depends a lot on where you live: the median is highest in California ($174,410) and lowest in Puerto Rico ($79,380).

Pay by state and territory
StateMedian payJobs
Alabama$122,54017,450
Arizona$129,69038,050
Arkansas$104,4906,050
California$174,410284,390
Colorado$138,39043,320
Connecticut$134,12013,660
Delaware$133,0203,380
District of Columbia$136,8806,120
Florida$130,98087,890
Georgia$131,01049,700
Hawaii$124,0401,600
Idaho$131,5905,750
Illinois$132,11056,310
Indiana$105,92014,130
Iowa$114,8909,040
Kansas$113,42013,580
Kentucky$109,0107,660
Louisiana$102,8004,080
Maine$123,1202,790
Maryland$138,68031,350
Massachusetts$165,21048,190
Michigan$125,57043,460
Minnesota$130,05035,890
Mississippi$95,3301,880
Missouri$126,12020,020
Montana$121,9902,160
Nebraska$110,9007,260
Nevada$128,8104,520
New Hampshire$139,72010,840
New Jersey$135,94051,570
New Mexico$124,5203,960
New York$166,180113,510
North Carolina$134,71058,470
North Dakota$105,6001,450
Ohio$114,09044,790
Oklahoma$118,1006,880
Oregon$142,72021,830
Pennsylvania$126,55055,920
Puerto Rico$79,3802,020
Rhode Island$130,5905,070
South Carolina$129,45013,230
South Dakota$96,3102,380
Tennessee$122,43019,030
Texas$132,150163,880
Utah$128,81031,940
Vermont$125,2801,740
Virginia$136,46088,280
Washington$166,540107,030
West Virginia$121,0002,650
Wisconsin$122,66021,730
Wyoming$115,1701,510

Where to study for this

College programs that commonly lead to this career, and how many US colleges offer each.

Related careers

Computer and Mathematical

Computer Systems Engineers/Architects

Design and develop solutions to complex applications problems, system administration issues, or network concerns. Perform systems management and integration functions.

$116,580/yr median Medium preparation

Computer and Mathematical

Computer Systems Analysts

Analyze science, engineering, business, and other data processing problems to develop and implement solutions to complex applications problems, system administration issues, or network concerns. Perform systems management and integration functions, improve existing computer systems, and review computer system capabilities, workflow, and schedule limitations. May analyze or recommend commercially available software.

$105,850/yr median Considerable preparation

Computer and Mathematical

Software Quality Assurance Analysts and Testers

Develop and execute software tests to identify software problems and their causes. Test system modifications to prepare for implementation. Document software and application defects using a bug tracking system and report defects to software or web developers. Create and maintain databases of known defects. May participate in software design reviews to provide input on functional requirements, operational characteristics, product designs, and schedules.

$104,300/yr median Considerable preparation

Computer and Mathematical

Computer Programmers

Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

$100,390/yr median Considerable preparation

Computer and Mathematical

Database Administrators

Administer, test, and implement computer databases, applying knowledge of database management systems. Coordinate changes to computer databases. Identify, investigate, and resolve database performance issues, database capacity, and database scalability. May plan, coordinate, and implement security measures to safeguard computer databases.

$104,620/yr median Considerable preparation

Computer and Mathematical

Database Architects

Design strategies for enterprise databases, data warehouse systems, and multidimensional networks. Set standards for database operations, programming, query processes, and security. Model, design, and construct large relational databases or data warehouses. Create and optimize data models for warehouse infrastructure and workflow. Integrate new systems with existing warehouse structure and refine system performance and functionality.

$139,500/yr median Considerable preparation

Architecture and Engineering

Computer Hardware Engineers

Research, design, develop, or test computer or computer-related equipment for commercial, industrial, military, or scientific use. May supervise the manufacturing and installation of computer or computer-related equipment and components.

$161,740/yr median Considerable preparation

Computer and Mathematical

Computer Network Architects

Design and implement computer and information networks, such as local area networks (LAN), wide area networks (WAN), intranets, extranets, and other data communications networks. Perform network modeling, analysis, and planning, including analysis of capacity needs for network infrastructures. May also design network and computer security measures. May research and recommend network and data communications hardware and software.

$134,050/yr median Considerable preparation

Source: O*NET 31.0 Database (USDOL/ETA), occupation 15-1252.00, used under CC BY 4.0 and modified by Whittle. Pay: BLS Occupational Employment and Wage Statistics (May 2025), SOC 15-1252. Outlook and entry education: BLS Employment Projections 2025–35. Program links: NCES CIP 2020 to SOC 2018 crosswalk. How we build these pages.