The following roles represent a flavour of the variety of opportunities that exist with a degree in Computer Science.
- Application Analyst: Responsible for the administration, monitoring and maintenance of software infrastructures and applications, to ensure integrity, safety and availability of data.
- Application Developer: Writes programs for technical, commercial and business users; usually works in a team to create a program to agreed specifications and produce detailed supporting documentation.
- Artificial Intelligence Engineer: Develops computers that simulate human learning and reasoning ability.
- Cloud Computing Engineer: Applies computing and software development to design ways for sharing information and resources over the internet.
- Cyber Security Analyst: Works to protect organisations by employing a range of technologies and processes to prevent, detect and manage cyber threats.
- Financial Computing Analyst: Accurately determines the financial risk that certain financial instruments create using various computational and mathematical methods.
- Information Systems Manager: Works with a staff of technical specialists to provide and maintain an organisation's hardware and software technology infrastructures.
- IT Consultant: Gives objective advice on the best use of IT to solve business problems; clarifies client requirements, defines and presents the solutions.
- Lecturer/Teacher: Could teach computer science in secondary schools or college after taking a Postgraduate Certificate in Education (PGCE).
- Mobile Computing and Software App Developer: Develops internet applications that run on smartphones and other mobile devices.
- Multimedia Programmer/Computer Games Developer: Works in a team to write programs that bring together text, sound, artwork, 2D/3D modelling, animation, video and virtual reality to create a multimedia product, (eg, for websites and computer games).
- Network Engineer: Ensures the server and network infrastructure is maintained to maximise efficiency, involving installing and supporting new servers, hardware and software, allocating resources and providing technical support to end users.
- Robotics Engineer: Design, construction and application of robots and computer systems for their control, sensory feedback, and information processing.
- Security Software Engineer: Using programming and cryptography to design security systems.
- Social Computing Engineer: Develops new technologies to form and extend community networks.
- Software Engineer: Researches, designs, tests, implements and maintains software systems to meet client or employer needs; uses a variety of computer programming languages and applications, working in teams with other IT professional, or alone.
- Systems/Business Analyst: Works with a client to improve their information systems or recommend new systems; defines the problem, find a solution, costs it - produces a project brief and outlines design for a systems designer to develop.
- Systems Designer: Designs new IT systems from a technical specification, and is responsible for installation, testing and maintenance. The job can incorporate a systems analyst or consultant role.
- Technical Support Engineer: Monitors and maintains the computer systems and networks of an organisation, installs and configures computer systems, diagnoses hardware/software faults and solves technical problems, either over the phone or face-to-face.
- Web Designer/Developer: Designs and codes web pages, liaises with and advises clients, creates web pages, add content and tests the finished site.