If you are looking for a career in the science and technology sector, software engineering is an exciting choice. According to CareerCast’s 2016 Jobs Rated Report of the top 200 jobs in the U.S., software engineering snags the number seven spot. It is listed as a profession with a high probability of growth, a pleasant working environment, and above average pay scale.
What Exactly Does a Software Engineer Do?
According to TryEngineering.org, software engineers “apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and the systems that enable computers to perform their many applications.”
Software engineers must have strong coding skills, but often they are more involved with developing algorithms and analyzing and solving programming problems than with writing code. They are involved with the design and development of all types of software.
By definition, software engineers apply engineering principles to the creation of software. This emphasis on the application of engineering concepts to the software development process is one of the factors that distinguishes software engineers from software developers.
The typical job description for a software engineer includes:
- Expertise, accomplishment, and experience using open sources tools and projects.
- Proficiency in pattern design, automated testing, and fault-tolerance systems.
- Ability to create and maintain IT architecture, large scale data stores, and cloud-based systems.
- Ability to build scalable data pipelines and scalable domain specific languages.
There are two main branches of software engineering. SoftwareEngineerInsider.com explains: “Applications software engineers create and maintain computer applications. Systems software engineers analyze technical needs department by department and create or maintain appropriate systems. Setting up and maintaining intranet systems would fall under their scope.”
Rock Stars of the Software Engineering World
Scanning through the list of the most famous software engineers reveals how varied and important a field software engineering actually is. Here is a list of the best and most famous software engineers, according to Ranker:
Marc Lowell Andreessen: Best known as coauthor of Mosaic, the first widely used Web browser; as co-founder of Netscape Communications Corporation; and as co-founder and general partner of Silicon Valley venture capital firm Andreessen Horowitz, Andreessen also serves on the board of directors of Facebook, eBay, and Hewlett-Packard.
Eric Schmidt: Serving as Google’s CEO for a decade from 2001 through 2011, Schmidt has a long list of illustrious achievements as a software engineer at a variety of top-tier tech companies. He now serves as the executive chairman of Alphabet, Inc.
Tony Barr: Also known as Jim, Tony Barr is an American software engineer and inventor. Among his notable contributions are the Statistical Analysis System (SAS), automated lumber yield optimization, and the Automated Classification of Medical Entities (ACME).
Linus Torvalds: This Finnish software engineer was the major force behind the development of the Linux kernel, which became the most popular kernel for operating systems. As if that accomplishment was not enough, he also created the revision control system Git.
Sean Egan: A software engineer at Google, Egan worked on Google Talk and is now working on Google Maps. The youngest of the top five software engineers ranked, Egan is likely to continue to excel for some time to come.
Other famous software engineers along with the applications they created include:
- Tim Bray (XML)
- Paul Buchheit (Gmail)
- Alexey Pazhitnov (Tetris)
- Michael Widenius (MySQL)
- Jamie Zawinski (Netscape Navigator)
Key Qualifications for Software Engineers
Qualifications for software engineers can be broken down into three major categories: education, skill set, and personality traits.
Education: While there are some software engineers who do not have a degree, for the most part, software engineers looking to work with large tech companies need at least a bachelor’s degree. Here is a listing of top tech companies and the educational level of their software engineers:
- Microsoft: 74 percent – bachelors degree; 36 percent – masters degree; 7 percent – doctorate
- Google: 84 percent – bachelors degree; 50 percent – masters degree; 20 percent – doctorate
- Cisco Systems: 77 percent – bachelors degree; 36 percent – masters degree; 4 percent – doctorate
- Facebook: 83 percent – bachelors degree; 44 percent – masters degree; 15 percent – doctorate
- IBM: 66 percent – bachelors degree; 21 percent – masters degree; 2 percent – doctorate
Skill Set: While the skills in most demand vary from company to company, dependent upon company needs, there are some basic skills that all companies value in software engineers. Engineers must be able to code in multiple languages, understand design patterns and frameworks, have refactoring capabilities, and have a passion for code.
According to recent job postings, the major tech companies expect their software engineers to be proficient with:
- Java: 62 percent
- Agile Methodologies: 46 percent
- Software Development: 41 percent
- SQL: 40 percent
- C#: 38 percent
Personality Traits: Useful personality traits for software engineers include:
- Analytical thinking
- Creative vision
- Business acumen
- Ability to work as part of a team, either in an office or remotely
- Attention to detail
Check out how this software engineer describes his job:
Top Schools for Software Engineers
Based on average pay after two years of employment, software engineers coming from the following schools are top earners in the field, according to data collected by Paysa:
- Stanford University: Market salary of $146k
- Harvard University: Market salary of $142K
- University of California at Berkeley: Market salary of $133k
- Massachusetts Institute of Technology: Market salary of $132k
- California Institute of Technology: Market salary of $132k
- Carnegie-Mellon University: Market salary of $129k
Other notable schools for software engineers include: Brown University, Princeton University, and Duke University.
Professional Organizations for Software Engineers
Top professional organizations for software engineers include:
- The Association for Computing Machinery (ACM)
- The Association for Women in Computing (AWC)
- The Computing Research Association
- IEEE (Institution of Electrical and Electronics Engineers)
- IEEE Computer Society
Top Tech Companies and Locations for Software Engineers
Some software engineers work as self-employed freelancers and work all around the globe at their own discretion. For those who prefer to work for tech companies, the top tech companies for employment as a software engineer are:
- Cisco Systems
Other companies on the lookout for top tech talent in software engineering are: Apple, Amazon, Lockheed Martin, eBay, and PayPal.
As for location, the top cities for software engineer employment are:
- San Francisco, CA
- San Jose, CA
- Seattle, WA
- New York, NY
- Boston, MA
Salaries by Job Title for Software Engineers
Paysa gathers salary and demographic information for top tech talent. Below are some general salaries arranged according to job title for software engineers. For company-specific salaries by job title, check here.
Software Engineer 1 Salaries
Based on 312,000 profiles, the average base salary for software engineers is $92,000 per year, ranging from $69,000 to $160,000. The average market salary is $139K per year. Average market salary includes $92K base salary, $16K annual bonus, $10K signing bonus and $32K annual equity.
Top companies hiring talented software engineers are: Facebook, with an average market salary of $285K; Google, with an average market salary of $233K; Microsoft, with an average market salary of $222K; and Cisco Systems, with an average market salary of $159K.
Average software engineer salaries, per Paysa data.
Here is a breakdown of the educational levels required for software engineers a top tech companies:
Software engineers employed by tech companies are required to know:
Software Engineer 2 Salaries
Based on 10,000 profiles, the average market salary for software engineer 2 is $157,000 per year, ranging from $71K to $212K. Average market salary includes $102K base salary, $21K annual bonus, $11K signing bonus and $34K annual equity.
Top companies for software engineer 2s are: Microsoft, with an average marketing salary of $255k; EBay, with an average market salary of $174k; Intuit, with an average market salary of $156k; PayPal, with an average market salary of $156k; and EMC, with an average market salary of $137k.
Average salaries for software engineer 2 position, per Paysa data.
Here is a breakdown of the educational levels required for software engineer 2s:
Software engineer 2s are required to be proficient in:
Software Engineer 3 Salaries
Based on 5,000 profiles, the average base salary for software engineer 3 is $97,000 per year, ranging from $69,000 to $126,000. The average market salary for software engineer 3 is $139K per year. Average market salary includes $97K base salary, $16K annual bonus, $10K signing bonus and $27K annual equity.
Top companies hiring software engineer 3s are: Microsoft, with an average market salary of $196K; eBay, with an average market salary of $186K; PayPal, with an average market salary of $173K; and Harris, with an average market salary of $150K.
Average salary for software engineer 3 position, per Paysa data.
Here is a breakdown of the educational levels required for software engineer 3s:
Software engineer 3s must know:
Time to Promotion
Time to promotion varies among the top tech companies, but the average time to promotion between the different levels of software engineering is approximately 3.3 years per level. For instance, progressing at Google from Software Engineer 1 to Software Engineer 2 takes, on average, 3.4 years; from Level 2 to 3 takes, on average 3.3 years, and promotion from Level 3 upward takes 3.4 years on average.
The Bottom Line
Software engineering is an exciting field that is projected to continue to grow in the coming years. The pay scale for software engineers is lucrative, and the opportunities for advancement are many. If you are considering a career in software engineering, let Paysa serve as a guide. Paysa can be personalized to give you job recommendations, skills recommendations, and compensation information that will help you negotiate a job offer or a raise in a job you have already. Take a moment now and sign up to personalize Paysa for you.