The field of computer science has consistently paid high salaries and proven to be in high demand. Even during the depths of the global recession of 2009 there were job openings for computer science professionals. There are nearly one million software developers employed full-time in the United States, not counting contractors, and that figure is expected to rise 30% over the next ten years. With the right qualifications, your chances of starting a lucrative career are excellent.
Below are the computer science salary ranges for a variety of careers. You can do better than the average! First, it’s important to understand what goes into determining the compensation package for a qualified candidate. After reading the factors that affect your salary, see our blog for tips on getting the maximum return on your computer science degree.
Careers in computer science
Perhaps no degree is more versatile than a bachelor’s in computer science. It opens the door to a variety of careers in engineering, science, information technology and more. With such a diverse set of opportunities, it’s ironic that the job title “computer scientist” isn’t among them. Computer science is an area of academic study. In industry it goes by other names. Recruiters understand this and have respect for a computer science degree. Don’t feel as if you need an engineering degree, for example, in order to qualify for a software engineering position.
Here are just a few computer science careers you may consider. Salary data is from the Bureau of Labor Statistics, May 2012 survey. The median salary is the boundary between the highest paid 50 percent and the lowest paid 50 percent of workers in an occupation. Also provided are the 10th percentile (10% earn less) and 90th percentile (10% earn more) to give you an idea of the overall salary range.
Computer and Information Research Scientist | 10th percentile: $57,220 |
Median salary: $102,190 | 90th percentile: $151,900 |
Education: Doctoral degree |
Being a research scientist is all about inventing and designing new technologies for computing. This may sound like the same thing that software developers do but it’s actually on a more theoretical level. Research scientists create models and theories to solve fundamental issues and publish their results in academic journals. Those who work at universities usually focus on computer science theory, whereas scientists at businesses develop new technologies that may be patented and commercialized.
Computer Network Architect | 10th percentile: $52,580 |
Median salary: $91,000 | 90th percentile: $141,590 |
Network architects design data communication networks for organizations which may have one or more physical sites. They create a plan that includes everything from what routers and networking software to utilize down to where equipment and cables will be placed. After the network is up and running, the architect continues to research new technology for the future and considers ways to improve network security.
Systems Software Developers | 10th percentile: $62,080 |
Median salary: $99,000 | 90th percentile: $148,850 |
There’s a subtle distinction between systems developers and applications developers (below). A systems developer designs and develops lower layer software such as operating systems, compilers or embedded systems. This software is in turn used by other developers. It is often the systems developer’s responsibility to design and document an application programming interface (API) to specify how the higher layer software may interact with the system software. They generally understand the internals of one or more operating systems such as Linux or Windows.
Applications Software Developers | 10th percentile: $55,190 |
Median salary: $90,060 | 90th percentile: $138,880 |
The application developer’s customer is an end user, in contrast with systems developers (see above). Applications have a user interface which is often a graphical user interface (GUI). There are three primary platforms for software applications: desktop, mobile, and web (see Web Developer, below). These programs provide solutions for specific market segments, so it’s important for the developers to understand the business logic as well as possessing general computer programming skills.
Information Security Analysts | 10th percentile: $49,960 |
Median salary: $86,170 | 90th percentile: $135,600 |
Security analysts specialize in measures for protecting computer networks and data from unauthorized access. They ensure appropriate safeguards are in place and respond to viruses, worms and security breaches. Having a team of information security analysts is particularly important in the defense, banking, and communications industries.
Computer Science Professor | 10th percentile: $36,330 |
Median salary: $79,870 | 90th percentile: $137,080 |
Education: Doctoral degree |
Professors teach students a computer science curriculum at a university, college or professional school. In addition to teaching courses, some professors also do research and publish scientific papers on new discoveries. A professor will typically specialize in one field of computer science and act as an adviser to graduate students with similar interests.
Computer Systems Analysts | 10th percentile: $49,950 |
Median salary: $79,680 | 90th percentile: $122,090 |
Sometimes referred to as “business analysts”, systems analysts perform a variety of technical tasks but normally do not develop software themselves. In general they analyze problems and business requirements, and propose solutions at the functional level. Often they interact with customers, both internal and external to the organization, and write requirements documents or use case scenarios. After handing off a design to the development team, systems analysts may continue to assist a project by testing, deploying the system to customers, or contributing to technical documentation.
Database Administrators | 10th percentile: $42,930 |
Median salary: $77,080 | 90th percentile: $118,720 |
A database administrator (DBA) is responsible for installing and configuring database servers and related tools. Once deployed, the DBA must continue to monitor the database’s performance and capacity, and allocate additional resources as necessary. Database administrators manage backups of data, and may need to enroll additional users and maintain data security. Most DBAs are proficient in SQL (Structured Query Language).
Network and Computer Systems Administrators | 10th percentile: $44,330 |
Median salary: $72,560 | 90th percentile: $115,180 |
Network and computer systems administrators, commonly referred to as IT admins, are responsible for installing new systems and troubleshooting user problems. While their primary focus is on the operation and performance of an organization’s local area network (LAN) and wide area network (WAN), they may also be called in to install or fix desktop computers. Note that the IT department does not design and develop new hardware and software systems. Rather, they purchase and install off-the-shelf technology and stay aware of the latest trends in the industry. This is one field where your career may benefit from a professional certification, such as Microsoft Certified IT Professional (MCITP).
Web Developer | 10th percentile: $33,550 |
Median salary: $62,500 | 90th percentile: $105,200 |
A web developer is a programmer who writes applications that are deployed on the World Wide Web. These applications may run in the browser on the client side, on the web server, or a combination of both. Web developers are usually fluent in HTML, CSS, JavaScript and one or more server-side languages like PHP or Python. Be aware that the term “web developer” is sometimes used synonymously with “web designer”, someone who creates and updates web sites.
Factors that affect your salary
When applying for a new job, there are many factors that affect the highest salary the company will offer you. They fall into four broad categories: your background, attributes of the company, the type of opening, and how you present yourself. While you have more control over some of these factors than others, it helps to know all of them before going into a salary negotiation.
- Education The first thing an prospective employer will look at is your education. A degree in computer science or a related engineering discipline will carry more weight than a general studies or unrelated field. An advanced degree such as a Master’s may open the door to a higher salary. Also important is the reputation of your college. Graduating from a top computer science university will certainly impress employers.Less important are your academic achievements in college. Few companies bother to check transcripts or even ask about your grade point average. If you had an impressive GPA, be sure to put it on your resume along with honors such as summa cum laude.Also consider industry certifications and joining professional associations. This is especially true when going into the IT trade.
- Skill set Employers will generally compare your list of skills with the requirements for the position, hoping to find a “good fit”. If they need someone to develop embedded systems in C on a Linux platform, for example, they will likely pass on a candidate whose only experience is web development on Windows.The traditional interview process placed too much weight on matching skills to the job description. Clearly, one would rather hire a top notch programmer who can learn new skills than a mediocre one who happens to have all the right buzzwords on his or her resume. This is why some progressive companies have started to use brainteasers and logic questions in their interview process. It allows them to assess a candidates’ thought process independently of any programming language.It’s still essential to tune your resume for each opening. Review the job description and requirements, highlighting any skills you possess. Emphasize these skills in your resume and cover letter, using the same keywords the company did in the listing. This is especially important if you have special skills that few other candidates can offer.
- Experience Always a major factor in determining salary is the number of years of experience working in your computer science career. If you have two or fewer years’ experience, expect to be offered only entry level or associate engineering positions. With two to five years’ experience you should be into the intermediate position of software engineer. After five years you can command a higher salary as a senior engineer. With eight or more years’ experience and considerable skills, you may attain a high paying rank of “staff” or “principal” engineer.
- References Many companies don’t bother to check references. Those that do are looking for certain things: confirming facts on your resume such as job title and dates of employment, your work ethic, how you related with others, and general strengths and weaknesses.Be sure to choose your references carefully and go over how they would answer a few questions with them. Each should have a current copy of your resume so there are no surprises. Glowing references can mean an increase in the salary you are offered.
- Type of company The single most important trait of a company when it comes to salaries is profitability. Companies that are doing well can afford to hire and retain the best talent.Conventional wisdom is that large companies offer higher salaries than small companies, all else being equal. While there’s some truth to that, large companies often have strict salary ranges. The hiring manager at a small company may have more latitude to negotiate. Startup companies generally offer lower base salaries in exchange for incentives such as stock options or profit sharing bonuses.Finally, the industry a company engages in will affect how much they can offer. Firms in private industries such as consumer electronics will enjoy higher profit margins and offer higher salaries than government jobs or non-profit agencies.
- Geographic location The city and state of a workplace has a profound impact on salary. This effect is usually written off as “cost of living” differences but there’s more to it than that. Hawaii has the highest cost of living in the country but the salaries there don’t reflect it. The following graph shows the loose correlation between salary and cost of living in the 50 states (that data point at the top represents Hawaii).
A better explanation of geographic differences in salary boils down to this: what the job market will bear. In areas like Silicon Valley where there are many opportunities for engineers, companies must offer higher salaries in order to attract and retain qualified employees. In states where employees have few choices to change jobs, such as North Dakota, employers can and do offer lower wages.
- Supply of qualified candidates The market principles of supply and demand also apply to labor. When unemployment is high and many talented individuals are competing for scarce jobs, compensation tends to fall. However, don’t be frightened off by the national unemployment rate. Computer science graduates are usually in high demand in certain states even during tough times.Another aspect of supply and demand applies to how interesting (or dull) the work is. There’s consistently a high supply of people who want to work in glamorous industries such as video games, so salaries tend to be lower. To maximize your earning potential, specialize in a discipline that’s challenging but otherwise mundane – like communications or signal processing.
- Salary range for opening When a company lists a job opening, most likely they already have a salary range in mind. Positions with a high level of responsibility such as team leader or senior engineer carry a commensurately high salary. These are the positions you should strive for, assuming you have the qualifications.If there’s an urgency to fill the position, they may be willing to stretch the salary range a bit. Urgency may arise if they’re losing money by having a vacancy (typical with government contractors) or if they have been trying to fill the position for several months without success.
- How well you interview The salary factor over which you have most control is how you present yourself, both on your resume and in interviews. Demonstrating strong communication skills is crucial. The highest offers go to candidates who can express themselves clearly, both in writing and verbally.Something that often comes up in job interviews are your career goals. When someone asks “Where do you see yourself in five years?” describe a higher position in the industry. It’s reassuring that you’re serious about your computer science career and will bring that attitude to this job.If it becomes clear during the interview that the opening is not right for you, talk about what you do and how it could benefit the company. Sometimes they will make a new position just for you or at least keep you in mind for a more suitable opening in the future.
- Salary negotiation It all comes down to this – how you sell yourself. The first step is to research how much you’re worth, considering all of the factors above such as your geographic area. Put it in terms of return on investment: how much money you will make/save the company. Try to postpone talk of compensation until they’ve decided to offer you the job. If they go first, ponder the offer for a moment and counter with your previously researched amount. If they insist that you state your salary expectations first, start off with a high number so you have room to negotiate.