Computer science careers require strong technical, problem-solving, and collaboration skills. With career paths in the tech sector, business, finance, national security, healthcare, and more, computer science jobs offer a strong outlook.

You might like this field if: You enjoy solving problems with creative solutions; you bring strong analytical and communication skills; you can move easily between the big picture and small details. Career options:

Front-end web developerBack-end web developerFull-stack web developer

They also design and test hardware, including computers, smartphones, and components. You might like this field if: You enjoy electrical engineering and build circuit boards in your spare time; you bring strong critical thinking and problem-solving skills; you can effectively communicate with other engineers. Career options:

Computer hardware engineerFirmware engineerNetwork engineer

You might like this field if: You enjoy computer science and computer engineering; you think logically and approach problems analytically; you work effectively in a team, and enjoy a fast-paced environment. Career options:

Software development engineerSoftware design engineerQuality assurance engineer

You might like this field if: You pick up new programming languages easily; you enjoy learning new skills throughout your career; you think logically and enjoy problem-solving. Career options:

Database programmerPython developerProgramming analyst

You might like this field if: You have strong analytical and statistical skills; you enjoy solving problems with data; you’re a logical thinker with good interpersonal abilities. Career options:

Data scientistData analystData engineer

Computer programs like Siri and Alexa rely on artificial intelligence. You might like this field if: You enjoy managing large data sets and designing algorithms; you bring a background in linguistics or learning; you thrive in complex environments. Career options:

Machine learning researcherAI research scientistMachine learning engineer

You might like this field if: You have a graphic design background; you enjoy combining visual and technical elements; you enjoy working closely with a team that includes web developers and clients. Career options:

Web designerMobile app designerGraphic designer

With ever-changing threats, the field continues to evolve at a fast pace. You might like this field if: You’re interested in national security; you love solving puzzles and unraveling complex problems; you thrive in a fast-paced environment. Career options:

Information security analystInformation security consultantCybersecurity administrator

You might like this field if: You’re equally comfortable accessing a database and explaining technical procedures to business decision-makers; you enjoy analytical challenges; you can take a broad view of problems while also focusing on details. Career options:

Computer systems analystComputer network architectInformation systems manager

You might like this field if: You have a detail-oriented outlook; you bring a background in business; you can balance analytical abilities with interpersonal skills. Career options:

Computer network architectNetwork engineerCloud architect

You might like this field if: You love video games; you want a job that blends creativity with technical skills; you enjoy working closely with a team of people. Career options:

Game programmerGame designerLevel designer

The list ranks jobs by the 2020 BLS median salary from highest to lowest. Minimum Degree Required: Master’s Most Relevant Major(s): Computer science; computer engineering Years of Experience Required: 0 Computer and information research scientists apply computing skills to solve problems in diverse industries. They design new algorithms and computing languages. Computer and information research scientists also conduct experiments on software systems.  Depending on their specialization, they manage big data, machine learning, and artificial intelligence projects. Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer engineering; computer science; electrical engineering Years of Experience Required: 0 Computer hardware engineers design computer components, including circuit boards, memory devices, and processors. They research and develop new hardware, working closely with other engineers and developers.  Computer hardware engineers then test the hardware and oversee the manufacturing of new computer systems. Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer science; information systems Years of Experience Required: 5 Computer network architects design communication networks that share data. Their networks range from local intranet systems to cloud computing infrastructure. Network architects assess an organization’s business plan to create a network that serves its needs.  They also upgrade hardware and software. Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer science; information technology Years of Experience Required: 0 Software developers design and create software programs that run networks or perform tasks. They determine how parts of an application will work together, supervise programmers writing parts of the code, and conduct testing.  Software developers also oversee maintenance and upgrades.   Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer science; information assurance; information technology Years of Experience Required: < 5 years Information security analysts implement security measures to stop cyber attacks and protect private data. They monitor networks for security breaches, install firewalls and other security measures, and investigate data breaches.  Information security analysts also recommend security improvements.  Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer science; information technology; management information systems Years of Experience Required: 0 Computer systems analysts blend business and information technology training to improve an organization’s computer systems. They determine an organization’s IT needs, design systems to meet those needs, and implement systems.  Computer systems analysts also research new technologies and suggest improvements. Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer science; information technology Years of Experience Required: 0 Computer programmers write the code that tells computers how to run applications or software programs. Programmers specialize in a variety of computer languages, including Java, C++, Python, and JavaScript.  They work with software developers to create and test code.  Minimum Degree Required: Bachelor’s Most Relevant Major(s): Computer science; information technology; computer engineering Years of Experience Required: 0 Network and computer systems administrators manage network operations for organizations. They determine the organization’s needs, install computer systems, and perform maintenance.  Network and computer systems administrators also recommend upgrades and improvements designed to increase security and efficiency. Minimum Degree Required: Associate’s Most Relevant Major(s): Computer science; programming; web design Years of Experience Required: 0 Web developers and digital designers manage the functions and look of websites. Web developers write the code to run websites and shape their functionalities, while digital designers focus on user experience and layout.  Programming skills, particularly in HTML, CSS, and JavaScript help web developers and digital designers. Minimum Degree Required: Associate’s or bachelor’s Most Relevant Major(s): Information science; information technology Years of Experience Required: 0 Computer support specialists advise users on troubleshooting computer problems, using computer network systems, and installing new software or hardware.  They blend technical knowledge with customer service skills to help individuals and organizations effectively use their computer systems. Computer science professionals may prefer the flexibility of contract work. Rather than working for a single company, freelancers build a portfolio of clients and work on a variety of projects. That can mean designing custom websites for clients, contributing to a software testing project, or creating custom code. However, consider the benefits and drawbacks of contract positions before going freelance. Computer science contractor jobs do not pay benefits, for example. While contractors often earn a higher rate, they pay additional taxes. And contractors may find themselves out of work between projects.