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
- 1Try coding now with free online lessons or a computer class, and build a small project you can show people
- 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
- 3Keep building real projects outside of class, since projects give you something concrete to show and talk about when you apply
- 4Look for an internship or a part-time technical job while you study, so you learn how teams actually work together
- 5Apply for junior developer roles, where you usually start with smaller fixes and updates under more experienced developers
- 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
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
| State | Median pay | Jobs |
|---|---|---|
| Alabama | $122,540 | 17,450 |
| Arizona | $129,690 | 38,050 |
| Arkansas | $104,490 | 6,050 |
| California | $174,410 | 284,390 |
| Colorado | $138,390 | 43,320 |
| Connecticut | $134,120 | 13,660 |
| Delaware | $133,020 | 3,380 |
| District of Columbia | $136,880 | 6,120 |
| Florida | $130,980 | 87,890 |
| Georgia | $131,010 | 49,700 |
| Hawaii | $124,040 | 1,600 |
| Idaho | $131,590 | 5,750 |
| Illinois | $132,110 | 56,310 |
| Indiana | $105,920 | 14,130 |
| Iowa | $114,890 | 9,040 |
| Kansas | $113,420 | 13,580 |
| Kentucky | $109,010 | 7,660 |
| Louisiana | $102,800 | 4,080 |
| Maine | $123,120 | 2,790 |
| Maryland | $138,680 | 31,350 |
| Massachusetts | $165,210 | 48,190 |
| Michigan | $125,570 | 43,460 |
| Minnesota | $130,050 | 35,890 |
| Mississippi | $95,330 | 1,880 |
| Missouri | $126,120 | 20,020 |
| Montana | $121,990 | 2,160 |
| Nebraska | $110,900 | 7,260 |
| Nevada | $128,810 | 4,520 |
| New Hampshire | $139,720 | 10,840 |
| New Jersey | $135,940 | 51,570 |
| New Mexico | $124,520 | 3,960 |
| New York | $166,180 | 113,510 |
| North Carolina | $134,710 | 58,470 |
| North Dakota | $105,600 | 1,450 |
| Ohio | $114,090 | 44,790 |
| Oklahoma | $118,100 | 6,880 |
| Oregon | $142,720 | 21,830 |
| Pennsylvania | $126,550 | 55,920 |
| Puerto Rico | $79,380 | 2,020 |
| Rhode Island | $130,590 | 5,070 |
| South Carolina | $129,450 | 13,230 |
| South Dakota | $96,310 | 2,380 |
| Tennessee | $122,430 | 19,030 |
| Texas | $132,150 | 163,880 |
| Utah | $128,810 | 31,940 |
| Vermont | $125,280 | 1,740 |
| Virginia | $136,460 | 88,280 |
| Washington | $166,540 | 107,030 |
| West Virginia | $121,000 | 2,650 |
| Wisconsin | $122,660 | 21,730 |
| Wyoming | $115,170 | 1,510 |
Where to study for this
College programs that commonly lead to this career, and how many US colleges offer each.
- Computer Science 1,091 colleges
- Information Technology 783 colleges
- Information Science / Studies 467 colleges
- Computer Engineering 340 colleges
- Computer Programming / Programmer 489 colleges
- Data Science 320 colleges
- Computer Software Engineering 175 colleges
- Informatics 85 colleges
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.