Computer science careers offer exceptional job prospects for students entering the workforce. The Bureau of Labor Statistics (BLS) projects that employment within the field of computer and information technology (IT) will grow by 13% between 2016 and 2026, nearly double the average rate of growth for the rest of the economy.
Computer science career paths also offer strong earnings potential. In 2018, computer and IT professionals earned a median salary of $86,320, roughly $48,000 more than the median pay for all other occupations. Certain supervisory and leadership positions offer even higher compensation. For example, computer and information systems managers earned a median salary of $142,530 in 2018.
This guide offers an overview of how to take advantage of job opportunities in this expanding and lucrative field. The sections below include descriptions of various computer science degrees, an interview with a successful IT entrepreneur, a list of computer science careers, and advice on choosing the best computer science career path.
Skills Gained in a Computer Science Program
Computer science degree programs equip students with the skills and knowledge to succeed in a variety of careers. For example, if your goal is to work as a software engineer, you could focus on learning multiple computer programming languages and honing skills related to application development. If you aspire to leadership positions in computer science, you can supplement your technical expertise with the study of business administration, such as project management or organizational behavior.
Listed below are some basic categories of skills acquired while studying computer science.
- At the most basic level, computer programming languages allow both computer hardware and software to function. Nearly all computer science professionals must know at least one programming language, such as Java, Python, Ruby, or C++. Because different circumstances or systems often require different languages to be used, many employers prefer candidates with proficiency in multiple languages.
- Database Administration
- Database administration refers to the storage, organization, and access of data, usually within a specialized data management system. Many IT professionals oversee or work closely with databases, and computer science programs prepare them for this work through an introduction to data management best practices and database-specific programming languages, such as Structured Query Language (SQL).
- Working in computer science requires strong communication skills. For example, computer support specialists must know how to communicate clearly with nonexperts to diagnose technical issues. Software engineers and developers must similarly collaborate with clients or end users to understand their unique needs.
- Rather than simply imparting knowledge, many computer science programs help their students independently solve problems they encounter in their practice. Professionals may use these skills to search for documented solutions to similar issues, conduct experiments, or collect quantitative or qualitative data to inform decision-making.
- Personnel Management
- Students who hope to take on supervisory roles within computer science must understand how to manage their staff. College-level courses in personnel management often cover subjects such as resolving conflicts between team members, motivating employees, and assessing both individual contributions and progress towards organizational goals.
Why Pursue a Career in Computer Science?
You can pursue a variety of rewarding careers with a computer science degree. Even with just an associate degree, you may qualify for entry-level roles such as computer support specialist or web developer. Despite the relatively low educational requirements, these positions pay considerably more than the national median wage. The most lucrative and fast-growing jobs in computer science, however, typically require at least a bachelor's degree.
Some roles may require additional education. If you hope to become the director of an IT department, you may benefit from graduate-level coursework in financial management and human resource development. To teach computer science at a college or university, you generally must hold a doctorate.
Beyond job security and above-average compensation, careers in computer science offer the chance to work at the frontier of technological innovation. Today's computer science professionals are contributing to advances in artificial intelligence, designing the next generation of robots, and improving the delivery of social services through more efficient computer systems.
How Much Do Computer Science Graduates Make?
Many factors affect the earning potential of computer science graduates. For example, according to Georgetown University's Center on Education and the Workforce, computer science professionals with a master's degree earn roughly $17,000 more per year than those with just a bachelor's. Jobs in urban areas and technology centers, like San Francisco or Seattle, also typically pay more than those in rural locations. Finally, your level of experience plays a large role in shaping your overall compensation.
The table below details the typical salary increases for individuals who hold a bachelor's in computer science as they advance in their careers.
Sam Gavis-Hughson, founder of Byte by Byte, helps software engineers successfully interview for jobs at top tech companies. He is the author of "Dynamic Programming for Interviews," the e-book that shows anyone how to succeed at dynamic programming interviews.
Sam has given guidance to thousands of professionals through his blog and has helped more than 400 students land jobs at companies such as Google, Amazon, Microsoft, Bloomberg, Uber, and more.
Before founding Byte by Byte, Sam graduated from Princeton University with a BS in computer science. After receiving several offers from top companies, he worked at Yext for 1.5 years while building Byte by Byte on the side. At Yext, he conducted dozens of interviews, giving him insights from both sides of the table. In 2017, Sam left Yext to focus on Byte by Byte full time. He has been featured by U.S. News & World Report, Simple Programmer, Developer on Fire, and more.
- What is computer science?
Computer science is the study of computers, but it's also the study of what you can compute using computers. While computer science itself has a programming component, it's much more focused on the theory behind it. Software engineering, on the other hand, is focused more on the career of building software.
Computer scientists do not focus on the engineering of computers, but they deal mainly with software and software systems. Subjects that are studied include artificial intelligence, security, database systems, graphics, design, and -- of course -- development.
- What is so valuable about earning a degree in this field right now?
A computer science degree is valuable for anyone who wants a job at any of the top tech companies (Apple, Google, Facebook, etc.). It teaches you the fundamentals that you are expected to know for those top-level software engineering positions. Even though the job itself is a little bit different, you are expected to know all of the components that are taught in this degree. A computer science degree sets you up for high-paying, top tech jobs. The big companies absolutely expect it.
- Can graduates of computer science programs find careers all over the country?
A computer science degree can be used anywhere in the country. The best jobs, though, are centralized to the big cities like the Bay Area, Seattle, New York City, Austin, and Los Angeles. Other places hire software engineers as well, because basically every company can use a developer for one thing or another. But those aren't going to be the best jobs.
Students who want to apply for jobs at FAANG (Facebook, Apple, Amazon, Netflix, or Google) companies will need to be willing to move to one of the five cities specified to get the best jobs. This is where the tech giants are predominantly located.
- What did your career trajectory look like after you graduated? How did you end up in your current position?
I did an internship during my junior year of college and I applied to jobs during my senior year. During the summer between my junior and senior years, I moved to Boston to work at HubSpot for a three-month internship. After graduation, I went right to work for Yext as a software engineer. But the process of going from college to Yext wasn't completely smooth. I applied for many jobs and had many interviews. Not all of them went very well. I began to see that software engineering skills and interview skills are two very different things.
What I do now is an offshoot of what I did with my job. It has allowed me to use my developer skills to help other software engineers looking to land top jobs improve their studying and interview skills. After seeing the gap in knowledge for new CS graduates and the interview process, I developed Byte by Byte.
- What are the pros and cons of working in the computer science industry?
There are a lot of pros. If you're a good programmer, it's very lucrative with lots of excellent perks. These are six-figure jobs, which is nothing to laugh at coming right out of college especially. Many tech companies also have very large sign-on bonuses, free on-site meals, gyms, daycare, etc. But it's also very competitive. If you aren't super good as a programmer, it's hard to find a job. It also tends to get a lot harder as you get older. In programming in particular, there is a strong age bias.
- What advice would you give to computer science graduates just starting their job search?
My biggest advice for new computer science graduates is to make sure you know the fundamentals and to really prepare for interviews. Many people think that their existing knowledge will carry over into interviewing, but it doesn't nearly as well as people expect it to. Treat your interviewing as its own skill and prepare for that specifically. You can check out Byte by Byte for how to get started.
How to Become a Database Administrator
Earn Your Degree
While you may qualify for some entry-level positions in computer science with just an associate degree, midlevel and supervisory roles typically require a four-year education.
For example, the majority of database administrators hold a bachelor's degree in computer science, information technology, or information systems. These undergraduate programs usually begin with general education classes. Students then progress into major-specific coursework, exploring topics like structured problem-solving, design and analysis of computer algorithms, and systems programming. Most computer science programs also offer instruction in Structured Query Language (SQL), an essential language for database administration.
Although it's not always required, many programs encourage their students to complete an internship. These field-based opportunities allow you to put your classroom learning into practice and begin growing your professional network. Internships can also help you develop a portfolio of work that you may use to demonstrate your skills and experience to potential employers.
Finally, after earning your bachelor's, you may consider continuing your education by pursuing either a master's degree or professional certification, such as the Microsoft certified database administrator or Oracle database administrator certified professional credentials.
How Many Years of College Does It Take to Become a Database Administrator?
Most bachelor's programs in computer science consist of 120 credits, and full-time students typically graduate in four years. Depending on their course load, part-time students may need anywhere from 6-8 years to meet all of their program's graduation requirements.
You can potentially earn your degree faster through several methods. Students with an associate degree typically may transfer up to 60 credits into a bachelor's program at a four-year institution, meaning they can sometimes graduate in as little as two years of additional study. Public colleges and universities often hold transfer agreements with community colleges in their state, making this process even easier.
In addition, some online programs allow for self-paced learning. These accelerated tracks allow learners to advance through their coursework as soon as they demonstrate a mastery of core concepts and skills. While self-paced programs often appeal to working professionals and students with family responsibilities, they offer significantly less structure and support than more traditional, cohort-based learning models.
Concentrations Available for Computer Science Majors
- Data Science
- Students pursuing a concentration in data science often take classes in areas like database management systems, machine learning, and human language technologies. Upon graduation, they may find work as database administrators, computer or information research scientists, or computer network architects.
- Cybersecurity professionals work to protect their organization's computer systems and sensitive data. To prepare for these roles, students in this major explore subjects such as applied cryptography, forensic analysis, and network security. They also benefit from experiential learning opportunities, like the use of ethical hacking techniques to assess the strength and weaknesses of a system's security design.
- Artificial Intelligence
- Artificial intelligence (AI), also known as machine intelligence, describes the ability of computers and other devices to learn new concepts and solve original problems. AI has widespread applicability to fields like healthcare, economics, defense, and education. Topics covered within this concentration include algorithm design, deep learning, neural networks, and vision intelligence.
- Software Engineering
- Students who specialize in software engineering usually complete coursework in interface design methodology, embedded systems, and multiple computer programming languages. They may also take elective classes related to the industry in which they plan to work. For example, an engineer who develops software for banks may study financial analysis to better understand organizations' technological needs.
- IT Management:
- Overseeing a team of information technology specialists requires more than just technical skills. Through coursework in subjects such as financial accounting, marketing, and organizational behavior, a concentration in IT management prepares students for both corporate leadership and entrepreneurial roles. Many students who major in this area go on to earn a master's in computer science or business administration.
What Can You Do With a Computer Science Degree?
Your computer science career options depend on the degree you earn. You can qualify for most jobs with a bachelor's degree, though some companies may prefer to hire candidates with a computer science master's degree for supervisory and leadership positions. Although usually not required for roles in practice, you may also need a doctorate in computer science to teach or conduct research at a college or university.
Computer science professionals also benefit from professional certification, either within a particular discipline or regarding a certain piece of software or computing system. For example, CompTIA offers the A+ certification to new IT professionals looking to demonstrate broad foundational knowledge and skills to employers. The Google professional cloud architect certification, conversely, signals expertise specifically in the design and management of Google Cloud technologies.
Associate Degree in Computer Science
An associate degree qualifies you for entry-level roles in computer science, such as computer support specialist or web developer. It also allows you to more easily earn a bachelor's degree, the most common requirement for IT jobs.
Most associate programs consist of 60 credits, and full-time students typically graduate in just two years. Coursework covers both general education subjects, like psychology, as well as introductory computer science topics, such as basic programming languages and software security. You should contact your local community college to learn more about the credit-transfer agreements they hold with public colleges and universities in your state.
- Computer Support Specialist
Computer support specialists provide technical assistance and advice to colleagues and clients. They may troubleshoot issues, perform regular maintenance, manage system updates, or offer training on the use of specific pieces of computer hardware or software. While some positions require an associate degree, others simply require general proficiency with computers and strong customer service skills.
Average Annual Salary: $53,470
- Web Developer
Web developers design and build websites. They may write the underlying code for a website using a language like HTML or XML, work with graphic designers to create and test any interactive components of the site, and monitor website traffic on an ongoing basis. Most of these roles require an associate degree.
Average Annual Salary: $69,430
Bachelor's Degree in Computer Science
With a bachelor's degree in computer science, you can find work as a computer programmer, information security analyst, software developer, or computer system administrator. On top of general education coursework, undergraduate programs provide advanced instruction in subjects like data structures and algorithms; mobile architecture and programming; and software testing, automation, and quality assurance.
Many bachelor's programs also feature some kind of experiential learning. For example, many students complete capstone projects during their senior year, applying their learning to a real-world issue in computer science. Learners may also participate in an internship, gaining practical experience in an IT department or at a technology company.
- Information Security Analyst
Information security analysts protect their organization's computer systems and information. They may actively monitor systems for security breaches, install firewalls and data-encryption software, or train colleagues on how to avoid phishing attacks and other digital threats. In collaboration with senior leadership, these analysts may also develop overall security policies and protocols.
Average Annual Salary: $98,350
- Computer Network Architect
Computer network architects design and construct data communication systems, like a local area network that connects two offices in the same building or a cloud computing infrastructure that facilitates the work of a multinational corporation. Network architects need an intimate understanding of their organization's technical needs, along with expertise in both computer hardware and software.
Average Annual Salary: $109,020
Master's Degree in Computer Science
A master's degree in computer science can prepare you either for specialized roles or career advancement. Completing graduate-level coursework in data mining and data visualization, for example, may position you for a job analyzing patient information to create more effective healthcare technologies. In addition, when hiring for positions like chief technology or information officer, many organizations prefer to hire candidates with an advanced degree.
Master's programs usually focus on either practice or research. Practice-oriented programs often combine advanced instruction in computer science with business administration coursework in areas like budgeting or quality management. Research-oriented programs typically require students to write a thesis.
- Computer and Information Systems Manager
Computer and information systems managers plan and direct computer-related activities at their organization. They hire and train staff, create budgets for their department, and supervise the work of their teams. Although not always required, a master's degree in computer science or business administration may provide a competitive edge over other candidates.
Average Annual Salary: $142,530
- Chief Information Officer
As a member of their company's senior leadership team, chief information officers shape and implement their firm's overall technology strategy. At larger organizations, they may oversee the work of multiple computer and information systems managers leading various departments or projects. Most of these IT leaders hold an advanced degree or have completed graduate-level coursework in management information systems.
Average Annual Salary: $156,870
Doctoral Degree in Computer Science
A doctoral degree in computer science allows you to take on teaching and research positions at four-year colleges and universities. Some private-sector research roles may also require a doctorate, though you typically qualify for most with just a master's degree.
Doctoral programs usually involve three years of coursework, a comprehensive examination, and a dissertation. The dissertation process requires students to conduct original research, present their findings and methodology in a written document, and defend their work before a faculty committee. While the time to completion can vary considerably, most full-time learners earn their doctorate in 4-7 years.
- Computer or Information Research Scientist
Computer and information research scientists develop new technologies as well as innovative uses for existing technologies. For example, a research scientists specializing in robotics may design a probe that can autonomously explore other planets. Scientists may also play a part in the development of new programming languages or forms of artificial intelligence.
Average Annual Salary: $118,370
- Postsecondary Teacher, Computer Science
Postsecondary computer science teachers instruct students at colleges and universities. They may also conduct research, publish their findings in academic journals, and offer dissertation advice to doctoral students. Many professors also play a role in admissions, curriculum design, and the hiring of new faculty. Nearly all of these roles, particularly those that lead to tenure, require a doctorate.
Average Annual Salary: $78,470
Where Can I Work as a Computer Science Graduate?
You can embark on numerous careers with a computer science degree. Your job and salary prospects, however, depend greatly on where you choose to live and the industry in which you work. For example, if you hope to find a job at a large technology company like Microsoft or Google, you will likely need to live reasonably close to their headquarters or a corporate satellite office.
Generally speaking, large cities offer more employment opportunities and higher pay than rural locations. For example, Texas, owing to metropolitan areas like Houston and Dallas, is home to the most database administrators in the United States, with California a close second. New Jersey and Washington, however, offer the highest average salaries in the country for database professionals.
Still, deciding where to live and work is about more than just maximizing compensation. Make sure to also consider factors like quality of life, housing and other costs, and the availability of educational opportunities for both you and your family.
- Computer Systems Design and Related Services
Roughly 17,000 database administrators work in the computer systems design industry. They largely serve as programmers, software developers, and computer network architects. This category also includes professionals who train computer users and provide technical support.
Average Salary: $97,700
- Management of Companies and Enterprises
Many computer science professionals take on managerial roles. For example, they may lead an IT department or a team working on the development of a proprietary database, or they may work as a member of an organization's senior leadership team. Others launch their own ventures as computer science entrepreneurs.
Average Salary: $95,660
- Colleges, Universities, and Professional Schools
Colleges and universities employ thousands of database administrators and IT professionals. These individuals maintain student and alumni records, facilitate access to online learning opportunities, and support the work of other departments.
Average Salary: $77,720
The telecommunications industry encompasses companies that provide cable and satellite television services, internet access, and telephone communications. Database administrators may organize customer data, support service expansion, or ensure compliance with state and federal regulatory policy.
Average Salary: $96,960
- Credit Intermediation and Related Activities
Within the credit intermediation industry, IT and database professionals organize and safeguard information used in the issuance of credit and loans. For example, an administrator working for a credit reporting agency may maintain the system used to track and calculate individual credit scores.
Average Salary: $103,250
How Do You Find a Job in Computer Science?
When searching for a job in computer science, start by focusing on your application materials and personal brand. Update your resume and list of references. Build or polish a portfolio of your professional work. Also, consider restricting public access to social media accounts.
Next, seek out both formal and informal networking opportunities. Ask your family and friends for references or leads. Reach out to industry leaders to set up informational interviews. Attend networking events organized by your college's alumni office, a computer science professional association, or a business organization in your area, such as a local chamber of commerce. Remember to bring business cards and follow up with any contacts you make at these events.
As you grow your professional network, review both comprehensive and industry-specific job listings. While sites like Indeed and ZipRecruiter advertise openings for jobs across all fields, groups like the Association for Information Science and Technology, the IEEE Computer Society, and the Association for Computing Machinery publicize computer science career opportunities.
Professional Resources for Computer Science Majors
AITP serves IT professionals, students, and educators. The association publishes research briefs, scholarly articles, and white papers to keep practitioners updated on advances in the field. AITP's student program offers scholarships and mentorship opportunities to aspiring computer science professionals. In addition, the association hosts both local and nationwide events, including hackathons and networking mixers.
DAMA International represents technical and business professionals working in information and data management. In addition to a formal certification program, the organization hosts an online resource repository comprising case studies, a dictionary of data management terms, and webinars on subjects like data governance in higher education and the role of professional mentoring.
IACSIT encourages collaborative and interdisciplinary research among computer science scholars and students. The association hosts an annual research and networking conference organized around topics such as the future of the internet and telecommunications, smart-materials engineering, and distance learning and educational technologies.
The EDM Council works to advance data management as both a profession and business priority. The organization administers two certification programs that offer instruction in areas like data stewardship, business analytics, and data warehousing. In addition, the council convenes regional events and maintains an online engagement platform where members can connect and share best practices.
Since 1978, AWC has supported the professional growth of women in computer science and information technology roles. Members can attend networking events, participate in online and in-person training programs, and find or serve as a mentor. The association also gives the Ada Lovelace Award to recognize outstanding technical achievement or community contributions.