If you’re planning to work as a Software Engineer, you probably want to understand what your salary might be. Software engineering encompasses many different jobs, with varied salaries, however, in general, this field pays well. Many Software Engineers can start with salaries of about $70,000 or $80,000 per year and progress to earning close to $200,000. However, this is an average range. Your salary will be influenced by a number of different factors such as your education and experience, the industry you work in, and your location.
What is a Software Engineer?
A Software Engineer is a computer science professional. This is a job field that combines engineering and computer programming and involves designing, building, testing, and maintaining a variety of different types of software. The types of software that Software Engineers work on include computer programs, web and mobile applications, video games, operating systems, and network control systems. Coding is an important part of this job, however, Software Engineers also need to master many other skills including testing and debugging, object-oriented programming, and working with data structures and algorithms. Strong problem-solving, communication, and collaboration skills are also required for success in this field.
The term, “software engineering” was coined in the 1960s. Since then, this profession has grown rapidly and Software Engineers are sought after in many industries. The world continues to rely more and more heavily on software. A large, and growing, number of devices that people utilize every day are controlled by the software that is created and maintained by Software Engineers. This includes cell phones, computers and network systems, and smart appliances like ovens and laundry machines. Software Engineers also play an important role in creating and running the computer systems that are integral to many parts of daily life, in fields like business, communications, and education.
What Affects Your Pay as a Software Engineer
Many different websites provide salary range estimates for software engineering. When you look at these estimates, it's important to understand some of the factors that can influence your pay. These include your level of education, your experience, the industry that you work in, where you work, and whether or not you specialize.
Education
There are a number of different ways to become a Software Engineer. One is to earn a college degree in computer science or a related field. In general, the higher the degree, the greater the salary you can expect. For instance, if you have a master’s degree, you’ll probably earn more than if you only have an associate’s degree. However, degrees are not the only way to get into software engineering. Professional training programs like bootcamps and certificate programs have become increasingly popular in recent years, and a number of studies show that these types of programs are correlated with higher salaries. For instance, Course Report surveyed more than 3,000 coding bootcamp graduates, and in a November 2, 2023 report, it concluded that many had higher salaries than college graduates. It reports that it found that bootcamp graduates earn about 51 percent more compared to their previous jobs. Further, it states that the average bootcamp costs $20,000 to $30,000 and, “The average bootcamp grad sees an average salary increase of 50.5% or $23,724(!) which almost immediately pays off your investment.”
Experience
While skills are an important part of being a Software Engineer, many employers say that when they are making decisions about who to hire and how much to pay them, they are also very focused on finding people with practical experience, who know how to actually use their skills in a way that will allow them to do their job and do it well. In a September 23, 2020 article, Stack Overflow Chief Product & Technology Officer Teresa Dietrich explains that skills are only part of what she focuses on. She says, “I have worked in the Internet industry for over 20 years, held many different roles, and personally hired hundreds of engineers.” She says, “When I am making hiring decisions, my first criteria is a small number of technical requirements: specific technologies, languages, and expertise. But for the broader pool of candidates who satisfy those basics, the majority of my hiring decision is based on the demonstrated attitude and aptitude of the applicant.” She explains that aptitude is the ability to utilize skills to meet whatever challenge you face. She says, “The only thing consistent in all of life, but especially in the technology industry, is change. So while it is important to know the specific technologies the job requires, it’s probably more important than you know how to adapt and learn new ones."
Industry
Software Engineer salaries vary by industry. The U.S. Bureau of Labor Statistics is a federal agency that gathers and analyzes job statistics. It includes Software Engineers in the category of Software Developer. It reports that the top-paying industries for this profession are software publishing, manufacturing, finance and insurance, management of companies and enterprises, and computer systems design and related services. The size of the company also plays a role, with large corporations often paying more than small businesses. In a Harvard Business Review article titled, “Career Crush: What Is It Like to Be a Software Engineer?” Software Engineer Lindsey Redd--who has coded for Slack, Lyft, and Stripe--talks about some of the variables in relation to company size. She says, “Company size . . . matters, and what stage of growth they’re at. The Googles and the Facebooks will have the higher offers. Companies that are maybe pre-IPO and going through a lot of growth, they’ll also have high offers. Companies that are maybe pre-seed startups or seed-stage/Series A startups will have lower salaries. But there are a lot of upsides when you think about equity and stock.”
Location
Location also affects your pay as a Software Engineer. In most cases, major metropolitan areas pay more, however, they may also have a higher cost of living. Tech hubs like California and New York are also likely to pay higher salaries. According to BLS, the top-paying states for Software Developers are California, Washington, Maryland, New York, and Massachusetts. The top-paying metropolitan areas are New York, San Jose, San Francisco, Seattle, and Washington.
Specialization
Specialization can also lead to a higher salary. Research shows that people with specialized skills like artificial intelligence and cloud computing, generally earn higher salaries. For instance, according to Glassdoor, the average salary for a Cloud Engineer is $149,000 per year. Certifications are one way to specialize, and an added advantage of earning a certification is that you’ll be able to show employers proof of your skills and knowledge.
Pay Range for Software Engineers
Software Engineer salary estimates vary widely, with salaries influenced by many different factors including those listed above. However, this field generally pays well. Many experts say that you can expect to start out at around $70,000 to $80,000 per year in an entry-level software engineering position. Depending on where you live and your experience, you might even start out closer to $100,000. For Software Engineers who have more experience or who work in industries or locations that pay more, the average salary can quickly rise to more than $130,000 per year, or even close to $200,000.
Highest-Earning Job Titles for Software Engineers
Certain software engineering jobs tend to pay more than others. Cloud Engineers typically have high salaries. This job involves creating and maintaining cloud-based infrastructure. To be a Cloud Engineer you need to know about storage and security, and how to work with databases. Mobile Developers also tend to be well-paid. People who work in this field develop mobile applications. They need experience in web development and in working with popular platforms. They also need to be able to resolve bugs and other issues. Another well-paid software engineering position is that of Development Operation Engineer. This job involves working to manage and optimize a company’s software. It requires knowledge of coding, security, and networks. Yet another software engineering job that usually has a high salary is the Full Stack Developer. Full Stack Developers work to create websites and mobile applications for those websites. They have expertise in both front end and back end development, which includes fluency in a variety of programming languages.
Learn the Skills to Become a Software Engineer at Noble Desktop
If you want to learn the skills you’ll need to become a Software Engineer, you’ll find a variety of class options at Noble Desktop. This New York City-based design and coding school offers both in-person and live online courses. It also has a variety of flexible scheduling options including part-time programs and courses that run on weeknights and weekends. All Noble Desktop classes come with the option of a free retake within one year, which is a great way to refresh your skills and gain additional practice. Noble Desktop is licensed by the New York State Education Department.
- One popular Noble option is the Software Engineering Certificate. This is a comprehensive, multi-week course. You’ll learn about front end development, React Development, and Django (Python) Development. This includes learning a variety of front end tools including HTML, CSS, and JavaScript. You’ll also learn Flexbox and Grid for layout and adapting to different screen sizes, and Git for version control. The program also covers JavaScript, and the JavaScript library, React. As part of the course, you’ll create a working desktop application with React and deploy it using AWS. In addition, the course covers Python, including syntax, dictionaries, sorting algorithms, and custom functions. Finally, you’ll learn to use Django and Django Rest. Twelve one-on-one mentoring sessions are included, and you’ll also create a portfolio.
- Noble Desktop also offers shorter classes that only take a day or two to complete and focus on a more narrow set of skills. For instance, if you’re looking for a class where you can improve your coding skills, Noble offers a short beginner class called Web Development with HTML & CSS, where you can learn to create webpages by coding with HTML and CSS. In this class, you’ll learn to use HTML to create webpages that have text and images. You’ll also learn to use CSS for styling content, creating centered page layouts, adding background images, style navigation, and for making responsive pages that adapt to various screen sizes. If you already know the basics of HTML and CSS, you might be more interested in Noble’s Advanced HTML and CSS class. This class covers a variety of advanced topics including SVG, CSS variables, gradients, shadows, positioning, transitions, transforms, and responsive images.
Noble Desktop also offers many bootcamps. For instance, there is a React Development Bootcamp, where you’ll learn how to build web applications with React. This course begins by covering basics including how to compose components. Throughout the course, you’ll build a number of web applications. You’ll also deploy them using Amazon Web Services. Another Bootcamp option is Python Web Development with Django, which covers URL dispatchers, querying models, and automating tasks with Django.
Software Engineer Salaries
A Software Engineer in the United States makes, on average, $104,857 annually, according to Indeed.com.
Salaries for Software Engineers vary by region within the the United States. Listed below are some Software Engineer salaries for specific areas with the United States compared with the average national salary:
Average National Salaries by Source
View the salaries for Software Engineer from 5 of top the salary-reporting sites averaging $119,623 (unweighted) across these sites.
Indeed.com Avg. Salary
$104K / year
Glassdoor Avg. Salary
$117K / year
Salary.com Avg. Salary
$133K / year
Payscale Avg. Salary
$94K / year
ZipRecruiter Avg. Salary
$147K / year
Compare Regional Salaries to the Average National Salary (Indeed.com)
- U.S. Average $104K source n/a
-
San Francisco, CA
$149K
source
+42.47%
-
Oakland, CA
$145K
source
+39.07%
-
New York City
$143K
source
+37.21%
-
Orange County, CA
$136K
source
+30.3%
-
Washington, D.C.
$135K
source
+28.82%
-
Seattle, WA
$135K
source
+28.75%
-
Los Angeles, CA
$124K
source
+18.83%
-
Boston, MA
$116K
source
+10.88%
- U.S. Average $104K source n/a
-
Chicago, IL
$102K
source
-2.12%
-
Fairfax, VA
$101K
source
-3.38%
-
Inland Empire, CA
$100K
source
-3.84%
-
Atlanta, GA
$98K
source
-5.75%
-
Philadelphia, PA
$98K
source
-6.41%
-
Alexandria, VA
$93K
source
-11.02%
-
Dallas, TX
$92K
source
-11.97%
-
Houston, TX
$90K
source
-13.47%
-
Phoenix, AZ
$89K
source
-15.08%
-
Miami, FL
$87K
source
-16.61%
-
Detroit, MI
$85K
source
-18.49%
-
Riverside, CA
$82K
source
-21.21%
How to Learn Coding
Master coding with hands-on training. Learning how to code in JavaScript, Python, and other popular languages can pave the way to a job in tech, such as web development, data science & analytics, or software engineering.
- Full-Stack Web Development Certificate at Noble Desktop: live, instructor-led course available in NYC or live online
- Find Coding Classes Near You: Search & compare dozens of available courses in-person
- Attend a coding class live online (remote/virtual training) from anywhere
- Find & compare the best online coding classes (on-demand) from the top providers and platforms
- Train your staff with corporate and onsite coding training