How Much Do Software Engineers Make?

Software engineering is one of the most prevalent tech bootcamps available, but what does the field entail, and how much money can you expect to make?
portrait of Nalea Ko
Nalea Ko
Read Full Bio


Nalea J. Ko has worked as a journalist in Hawaii, Los Angeles, and New York covering news and entertainment. She currently writes about tech, with a focus on coding. Nalea received her MFA degree in fiction from Brooklyn College and bachelor's in jou...
portrait of Shauna Blackmon
Shauna Blackmon
Read Full Bio


Shauna Blackmon is a journalist and writer specializing in the intersection of technology and humanity. She is also currently finishing her master's degree in international relations, focusing on future technologies and smart borders....
Updated on April 13, 2023
Edited by
portrait of Kelly Thomas
Kelly Thomas
Read Full Bio


Kelly Thomas is an editor with BestColleges and specializes in alternative education. She covers topics like coding bootcamps and the tech industry, as well as skilled trades and certifications. She holds a BA in political science from the University...
Learn more about our editorial process is an advertising-supported site. Featured or trusted partner programs and all school search, finder, or match results are for schools that compensate us. This compensation does not influence our school rankings, resource guides, or other editorially-independent information published on this site.

  • Software engineers are often creative problem-solvers who like a challenge.
  • There are bootcamps and university programs that can help you build the needed skills.
  • The median salary for software engineers was $109,020 in 2021.
  • Engineers can learn specialty skills to increase their prospective earnings.

While some famous men might come to mind when you think about software engineers, one of the very first software engineers and the one to coin the term is a woman named Margaret Hamilton. After naming an entirely new field, she went on to write code used on the Apollo missions to the moon in the 1960s and 1970s.

While the field has changed dramatically in the last 50 years, working as a software engineer is still a great career choice for people who like solving problems and learning new things. Software engineering is comprised of various specialties and responsibilities, meaning there is a lot of variability in the role and a need for a wide range of skills.

Because software engineering is a large field, salaries vary widely. Like nearly all jobs in tech at the moment, software engineers are typically able to negotiate high salaries and are in demand.

What Is Software Engineering?

Software engineers create and design applications that meet user requirements. They also design and maintain a company's computer systems. The job requires extensive knowledge of programming languages, frameworks, design architecture, algorithms and data structures, and debugging software.

A branch of computer science, software engineering includes many specialties. Artificial intelligence (AI), back-end, front-end, mobile app, and security software developers also create products and services for end users and businesses. A mobile development team may create an Android game using Java and PHP, while a back-end developer may use Node.js to create a user authentication system project.

Software Engineering Bootcamps You Should Consider

What Does a Software Engineer Do?

Companies may organize software engineers into small teams to tackle a project. Other software engineers work solo to complete tasks. Multiple developers often get assigned to teams with project managers, business analysts, and systems designers. Teams may work in the same office or in different locations across the world. Businesses form teams when a project has more components than one person can handle.

Software engineers need a technical background, but they should also have administrative and personal skills. Common skills and responsibilities for software engineers include:

  • Working independently and taking direction
  • Communicating clearly with customers and project managers
  • Creating software solutions
  • Developing and improving user interfaces
  • Designing and improving software systems
  • Experience with Agile frameworks
  • Designing, testing, and deploying software
  • Knowledge of data structures and algorithms
  • Interpreting customer requirements
  • Training junior developers
  • Understanding programming languages such as C++, Python, Java, and C#
  • Writing and reviewing code

How Much Does a Software Engineer Make?

According to the Bureau of Labor Statistics (BLS), software engineers made a median annual salary of $109,020 as of 2021. Wages typically increase as software engineers advance or switch industries. The BLS reports that the bottom 10% of software engineers earned less than $64,470, while the top 10% made more than $168,570. Wages also differ based on the city and state.

Software Engineer Salaries by City
City Average Annual Salary (2021)
San Jose $167,420
San Francisco $158,320
Seattle $148,220
Baltimore $137,510
Source: BLS

How to Become a Software Engineer

Getting started in software engineering requires knowing the basics, which can be learned through self-teaching, coding bootcamps, or four-year colleges.

Hiring managers often want candidates who know programming languages such as Java, JavaScript, or Python. Aspiring software engineers also need experience designing, implementing, testing, and debugging software.

Online courses can teach students the basics of databases such as MySQL, Oracle, HTML, and CSS. Coding bootcamps offer access to hiring partners and career services that get graduates hired in tech. However, getting an interview, especially at a top-tier tech company, can be difficult with only a coding bootcamp certificate.

Earning a bachelor's in computer science or software engineering puts graduates on a trajectory to earn a master's degree. Additionally, the theoretical background provided in a bachelor's degree program prepares students to create data structures and algorithms — which are often entry-level requirements at tech companies.

Frequently Asked Questions About Software Engineers

Is software engineering hard?

Software engineering is a challenging career, but engineers often love solving problems and have an aptitude for math, computer science, and engineering. It takes persistence and a keen analytical mind to work with complex software. People who want to get into software engineering need to put in the work to learn to code. And those who advance to senior engineering roles must continually train and gain certifications.

Tech can be competitive, but demand for software engineers should outpace other occupations, with a projected growth rate of 25% from 2021-2031, according to BLS. The BLS projects that an average of 162,900 positions will be added each year in that decade.

Can you make $200,000 as a software engineer?

Senior software engineers at top-tier companies can make $200,000, but salaries over $100,000 can be rare, even for experienced engineers. Google, which ranks among the best-paying tech companies, offers software engineers $353,000, and a senior software engineer at DoorDash can earn $250,000 a year, as Business Insider reported.

However, according to Payscale, entry-level engineers make an average annual salary of $90,850 as of 2023. Software engineers can earn more as they secure senior positions. Senior software engineers make an average of $124,100 a year as of 2023, according to more than 17,000 salary profiles. Experience influences pay with engineers who have 1-4 years making about $115,000 a year. Senior software engineers with 20 or more years of experience make an average of $130,000.

How long does it take to become a software engineer?

Becoming a software engineer can take 6-9 months or up to four years. A software engineer's educational path and career goals determine the length of time. Coding bootcamps are the quickest route to becoming a software engineer, but companies may prefer to hire software engineers with college experience.

Companies may require software engineers to have a bachelor's in computer science or software engineering. However, it is not uncommon for software engineers to have bachelor's degrees in other areas. Free online courses or a coding bootcamp can help students from other disciplines build the foundation to learn software engineering and also gain support services to find jobs.