What Is a Software Engineer’s Salary?

Do you want to start an exciting career as a software engineer and make six figures? Find out what cities pay software engineers the best.
3 min read

Share this Article

BestColleges.com 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.

  • The average software engineer makes a six-figure salary.
  • California ranks as the top-paying state in the country for software engineers.
  • The highest ten percent of software engineers earn more than $170,000 annually.
  • Software publishers and manufacturing companies pay software engineers the most.

Software engineers can expect to make well above six figures if they work in top-earning states. The median salary for software engineers in California is almost $150,000. Washington, Maryland, New York, and Rhode Island also pay software engineers some of the highest salaries.

However, how much does an entry-level software engineer make? Keep reading to see what cities pay software engineers the most and find out where you can learn software engineering.

What Is Software Engineering?

Software engineers create and design applications that meet the requirements of users. 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) developers, back-end developers, front-end developers, mobile app developers, 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.

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 often need a technical background, but they should also have administrative and personal skills. Common skills for software engineers include:

  • The ability to work independently and take 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
  • Leadership skills to train 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 $110,140 as of May 2021. Wages typically increase as software engineers advance or switch industries. The BLS reports that the bottom 10% of software engineers earn less than $65,210, while the top 10% make more than $170,100. Wages also differ based on the city and state.

Salary by City
City Name Average Annual Salary
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 learning the basics, which can be self-taught or learned through 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 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 22% from 2020-2030, according to BLS. The BLS projects that about 189,200 positions will be added 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, entry-level engineers make about an average annual salary of $90,870 or $43.69. Software engineers can earn more as they secure senior positions. Senior software engineers make an average of $121,650 a year, according to more than 17,000 salary profiles gathered by Payscale. 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 about $127,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 provide 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 coding bootcamp provide students from other disciplines with the foundation to learn software engineering and also the support services to find jobs.

Feature Image: Bill Hinton / Moment / Getty Images