What Does a Software Developer Do?
Software developers design, write, test and maintain the code behind applications, websites, internal business tools and embedded systems. A typical week mixes working through tickets in Atlassian JIRA, writing code and tests, reviewing teammates' pull requests, debugging production issues, and meeting with product managers or designers to settle what a feature should do. Most developers specialize in front-end interfaces, back-end services and APIs, mobile apps, data pipelines or firmware. Beyond writing code to a spec, developers carry design responsibility: deciding how a system is structured, what it will cost to run and how it will be tested.
Other Job Titles for This Work
Workers in this occupation report titles such as Application Developer, Application Integration Engineer, Developer, DevOps Engineer (Development Operations Engineer), Infrastructure Engineer, Software Architect, Software Development Engineer, Software Engineer.
Software Developer Duties and Responsibilities
The primary responsibilities of a software developer include:
- Turn feature requests and bug reports into technical plans, estimating effort and flagging risks to the product owner.
- Write and refactor code in languages such as Java, C++ or JavaScript, following the team's style and architecture guidelines.
- Write unit and integration tests and keep the automated test suite passing.
- Review teammates' pull requests for correctness, security and readability.
- Debug production issues using logs, metrics and traces, then ship a fix or roll back.
- Package and deploy services with Docker on cloud infrastructure such as Amazon Web Services.
- Design APIs, database schemas and message flows, including event streams on Apache Kafka.
- Update older systems to run on new hardware, operating systems or third-party interfaces.
- Document design decisions, setup steps and on-call runbooks for the team.
- Take part in on-call rotations and incident reviews to find root causes and prevent repeats.
Required Skills and Qualifications
To succeed as a software developer, you will need the following skills and qualifications:
- Fluency in a major language such as Java, C++, Python or JavaScript, and the ability to pick up others
- Version control with Git, including branching, rebasing and resolving merge conflicts
- Data structures, algorithms and database design applied to real performance problems
- Containers and cloud services, including Docker and Amazon Web Services
- Automated testing and continuous integration pipelines
- HTML, CSS and a modern framework for web-facing roles
- Tracking work in Atlassian JIRA and writing clear tickets and design docs
- Explaining technical tradeoffs to product managers in terms of time, cost and risk
- Giving and taking code review feedback without making it personal
Education and Training
About 85 percent of software developers report a bachelor's degree, most often in computer science, software engineering or computer engineering, where you study data structures, algorithms, operating systems and software design. A smaller group comes in through coding bootcamps, associate's degrees or self-teaching and gets hired on the strength of a portfolio and technical interviews. Internships make a large difference in landing the first job. No license is required. Cloud certifications such as AWS Certified Developer can help for specific roles, and many developers keep learning through side projects and open source contributions.
Salary and Job Outlook
Typical pay: $105,210 - $171,980 per year, with a median of $135,980.
The range covers the middle half of earners nationwide. Source: U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025, Software Developers.
The demand for Software Developers continues to grow steadily as organizations across every industry invest in digital transformation. The U.S. Cloud computing, artificial intelligence, and mobile application development are key drivers of this growth. Professionals who stay current with emerging technologies and frameworks will find abundant opportunities throughout their careers.
Software Developer Pay Range
| Earners | Annual pay |
|---|---|
| Bottom 10% earn less than | $82,460 |
| Bottom 25% earn less than | $105,210 |
| Median (half earn more, half less) | $135,980 |
| Top 25% earn more than | $171,980 |
| Top 10% earn more than | $214,670 |
Highest-Paying States for Software Developers
The states with the highest median pay for this occupation are California ($174,410), Washington ($166,540), New York ($166,180), Massachusetts ($165,210), Oregon ($142,720). Pay is lowest in Louisiana ($102,800), South Dakota ($96,310), Mississippi ($95,330).
Median pay in all 50 states with BLS data
| State | Median annual pay |
|---|---|
| Alabama | $122,540 |
| Arizona | $129,690 |
| Arkansas | $104,490 |
| California | $174,410 |
| Colorado | $138,390 |
| Connecticut | $134,120 |
| Delaware | $133,020 |
| District of Columbia | $136,880 |
| Florida | $130,980 |
| Georgia | $131,010 |
| Hawaii | $124,040 |
| Idaho | $131,590 |
| Illinois | $132,110 |
| Indiana | $105,920 |
| Iowa | $114,890 |
| Kansas | $113,420 |
| Kentucky | $109,010 |
| Louisiana | $102,800 |
| Maine | $123,120 |
| Maryland | $138,680 |
| Massachusetts | $165,210 |
| Michigan | $125,570 |
| Minnesota | $130,050 |
| Mississippi | $95,330 |
| Missouri | $126,120 |
| Montana | $121,990 |
| Nebraska | $110,900 |
| Nevada | $128,810 |
| New Hampshire | $139,720 |
| New Jersey | $135,940 |
| New Mexico | $124,520 |
| New York | $166,180 |
| North Carolina | $134,710 |
| North Dakota | $105,600 |
| Ohio | $114,090 |
| Oklahoma | $118,100 |
| Oregon | $142,720 |
| Pennsylvania | $126,550 |
| Rhode Island | $130,590 |
| South Carolina | $129,450 |
| South Dakota | $96,310 |
| Tennessee | $122,430 |
| Texas | $132,150 |
| Utah | $128,810 |
| Vermont | $125,280 |
| Virginia | $136,460 |
| Washington | $166,540 |
| West Virginia | $121,000 |
| Wisconsin | $122,660 |
| Wyoming | $115,170 |
What the Work Is Like
O*NET surveys people who work as software developers about their daily conditions. Of those surveyed:
- 100% spend more than half the workday sitting
- 86% say being exact and accurate is very or extremely important
- 71% say teamwork is very or extremely important in their job
- 41% have a lot of freedom to make decisions
Education Workers Say the Job Needs
| Education level | Share of workers |
|---|---|
| Bachelor's degree | 85% |
| Associate's degree | 5% |
Tools and Software Software Developers Use
Tools and equipment
Software
Is This Job a Good Fit for You?
People who do well in this job tend to enjoy analyzing problems and working with ideas as well as organized work with data, records and clear procedures.
Skills O*NET rates most important: Programming, Critical Thinking, Judgment and Decision Making, Reading Comprehension, Active Learning, Systems Analysis.
Knowledge areas used most: Computers and Electronics, Mathematics, Customer and Personal Service, English Language, Education and Training.
Preparation: O*NET places this occupation in Job Zone 4 of 5, which means considerable preparation.
Related Careers
These jobs use similar skills, according to O*NET's related-occupation data:
Applying for a Software Developer Job
- Job application letter sample
- Resume or CV: which to send
- How to describe your work experience
- Job interview tips
- Interview thank-you note
The Job Explorer never charges candidates any money. If someone asks you to pay to apply for a software developer job or to get hired, treat it as a warning sign.
Sources
- U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2025.
- O*NET 30.1 Database, occupation 15-1252.00 (Software Developers). View on O*NET OnLine.
This page includes information from the O*NET 30.1 Database by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. O*NET® is a trademark of USDOL/ETA. The Job Explorer has modified some of the information; USDOL/ETA has not approved, endorsed or tested these changes.
