Skip to content
Bookmark

2025 National List of Occupations in High Demand · 14 min read

Information and Communication Technology (ICT)

ICT covers the design, development, implementation, operation, management and protection of computer-based systems used to create, process, store, communicate and retrieve information.

Information and Communication Technology (ICT) is concerned with the design, development, implementation, operation, management and protection of computer-based systems used to create, process, store, communicate and retrieve information.

The field includes computer science, software development, information systems, databases, computer networks, cybersecurity, data science, systems administration and technical support. South African university programmes reflect this breadth. For example, Wits Computer Science covers programming, algorithms, databases, networks, operating systems, artificial intelligence and software design, while UCT Information Systems includes programming, databases, systems analysis, systems development, IT architecture and project management.

What problems does this field exist to solve?

ICT addresses problems that require information to be processed, stored, transmitted or used efficiently through technology. These include:

  • automating manual processes;
  • developing software to perform particular functions;
  • storing and retrieving large quantities of information;
  • enabling communication between computers and devices;
  • connecting organisations through computer networks;
  • protecting information and systems against unauthorised access and cyber threats;
  • converting organisational requirements into functioning information systems;
  • analysing large datasets;
  • maintaining reliable IT infrastructure;
  • integrating different systems;
  • ensuring that software performs correctly and efficiently;
  • providing users with technical support;
  • managing access to information;
  • identifying patterns and predictions from data;
  • improving organisational processes through technology; and
  • maintaining the availability and reliability of digital services.

ICT problems can be highly technical or organisational. Computer Science concentrates heavily on computational problems and their implementation through computers. Information Systems also examines how people, organisations and technology interact and how technological systems can address organisational requirements.

What are the main subjects, theories and concepts in this field?

The exact curriculum differs considerably between Computer Science, Information Systems, Information Technology, Data Science and other ICT qualifications.

Programming

Programming concerns creating instructions that computers can execute. Students learn concepts such as:

  • variables;
  • data types;
  • control structures;
  • functions;
  • object-oriented programming;
  • program design;
  • debugging;
  • testing; and
  • programming languages.

Programming provides a foundation for software development and several other areas of computing.

Algorithms and data structures

An algorithm is a defined procedure for solving a computational problem. Data structures concern how information is organised so that it can be processed efficiently. Students study:

  • arrays;
  • lists;
  • stacks;
  • queues;
  • trees;
  • graphs;
  • searching;
  • sorting;
  • algorithm design; and
  • algorithm efficiency.

Wits introduces algorithms and programming during first year and progresses into data structures and advanced algorithm analysis.

Software engineering

Software engineering concerns the systematic development of software. It includes:

  • requirements;
  • software design;
  • architecture;
  • coding;
  • testing;
  • version control;
  • documentation;
  • software quality;
  • maintenance; and
  • development methodologies.

Databases

Database study concerns how structured information is stored, organised, retrieved and managed. Topics include:

  • database design;
  • data modelling;
  • relational databases;
  • query languages;
  • database administration;
  • transactions;
  • data integrity;
  • recovery; and
  • distributed databases.

Database systems are a core component of Computer Science and Information Systems programmes at Wits, UCT and the University of Pretoria.

Computer networks

Computer networking concerns communication between computers and other devices. It includes:

  • network architecture;
  • communication protocols;
  • internet technologies;
  • network configuration;
  • network security;
  • wireless communication; and
  • distributed systems.

Operating systems

Operating systems manage computer hardware and provide the environment within which software operates. Students can study:

  • processes;
  • memory;
  • storage;
  • file systems;
  • concurrency;
  • resource management; and
  • system programming.

Systems analysis and design

This area examines organisational requirements and determines how information systems should be designed to meet them. It includes:

  • requirements gathering;
  • process analysis;
  • systems modelling;
  • application architecture;
  • input and output design;
  • interface design;
  • controls;
  • implementation; and
  • maintenance.

The University of Pretoria's Information Systems curriculum progresses from introductory information systems into systems analysis, systems design, application architecture, databases and project management.

Data science

Data Science combines computing, statistics and mathematics to extract information and patterns from data. It can include:

  • statistics;
  • data preparation;
  • programming;
  • databases;
  • data visualisation;
  • machine learning;
  • predictive modelling; and
  • data analysis.

Artificial intelligence and machine learning

These areas concern computational systems capable of performing tasks involving prediction, pattern recognition, optimisation, decision-making and other forms of automated problem-solving. Wits, for example, includes machine learning at third-year Computer Science level.

Cybersecurity

Cybersecurity concerns protecting:

  • computer systems;
  • networks;
  • software;
  • accounts; and
  • information.

It includes areas such as:

  • access control;
  • authentication;
  • cryptography;
  • network security;
  • secure software;
  • vulnerability management;
  • threat detection;
  • incident response; and
  • information-security governance.

Computer architecture

Computer architecture examines how computing hardware is structured and how software interacts with hardware.

IT project management

This concerns planning and controlling technology projects, including requirements, scope, schedules, resources, risks, development teams, implementation and project delivery. UCT includes IT Project Management in its Information Systems programmes.

What does a typical student or professional in this field spend most of their time doing?

As a student, ICT students commonly spend time:

  • attending lectures;
  • programming;
  • solving computational problems;
  • debugging code;
  • completing practical laboratory exercises;
  • designing databases;
  • writing database queries;
  • analysing algorithms;
  • studying mathematics and statistics;
  • designing information systems;
  • completing systems-analysis exercises;
  • configuring networks;
  • testing software;
  • completing individual and group software projects;
  • analysing datasets;
  • documenting systems; and
  • conducting research.

The balance depends on the programme. Computer Science generally contains more programming, algorithms, mathematics and computational theory. Information Systems generally combines technical work with organisational processes, systems analysis, business requirements and project work.

For example, Wits Computer Science combines theoretical subjects with a third-year Software Design Project, while UCT's Information Systems programme includes multi-year systems-development and research projects.

As a professional

Activities depend strongly on specialisation.

A software developer

A software developer may spend substantial time:

  • analysing requirements;
  • writing code;
  • reviewing code;
  • debugging;
  • testing;
  • maintaining software;
  • working with databases; and
  • documenting systems.

A systems analyst

A systems analyst may:

  • meet users and stakeholders;
  • investigate organisational processes;
  • gather requirements;
  • model systems;
  • identify technology requirements;
  • prepare specifications; and
  • work with developers during implementation.

A data scientist

A data scientist may:

  • collect data;
  • clean data;
  • write code;
  • perform statistical analysis;
  • build models;
  • evaluate models;
  • visualise results; and
  • communicate findings.

A database administrator may manage database performance, security, access, backups, recovery and availability. A systems administrator may configure and maintain servers, operating systems, user accounts and organisational IT infrastructure. A network engineer may design, configure, monitor and troubleshoot computer networks. A cybersecurity specialist may assess vulnerabilities, monitor security events, manage controls, investigate incidents and protect systems and data.

What kinds of assignments, projects, research or practical work are common?

ICT programmes generally contain substantial practical work. Typical assignments include:

  • programming exercises;
  • software applications;
  • websites;
  • database projects;
  • database queries;
  • algorithm problems;
  • mobile applications;
  • systems-analysis projects;
  • network configuration exercises;
  • cybersecurity exercises;
  • data-analysis projects;
  • machine-learning models;
  • software-testing exercises;
  • systems-design documentation;
  • group software-development projects; and
  • research projects.

A software-development project may require students to move through problem definition, requirements, system design, programming, testing, debugging, implementation and documentation.

An Information Systems project may instead begin with an organisational problem and require students to analyse business processes, determine user requirements and design an appropriate technological solution.

UCT explicitly describes its postgraduate Business and Systems Analysis training as combining theory with hands-on exercises in analysing, modelling and designing technology-driven products and services that address organisational needs.

What knowledge must a person understand before they can progress in this field?

Several foundations support progression in ICT:

Computational thinking

Students need to learn how complex problems can be broken into smaller logical components that can be represented computationally.

Programming fundamentals

For software-oriented pathways, students need to understand variables, conditions, loops, functions, data types, program structure and debugging. More advanced programming depends on these foundations.

Algorithms and data structures

Students need to understand not only whether a solution works, but also whether it uses computing resources efficiently.

Mathematics

The amount required depends on the pathway. Computer Science and Data Science can require substantial mathematics. Wits Computer Science, for example, includes algebra, calculus, computational and applied mathematics and mathematical statistics alongside computing. Other ICT programmes may be less mathematically intensive.

Computer systems

Students need a foundation in how hardware, software, operating systems and networks interact.

Data and databases

Most modern information systems rely on data, making database concepts relevant across many ICT occupations.

Systems analysis

Information Systems students need to understand the relationship between organisational problems, people, processes and technology.

Networks

Understanding how computers communicate becomes necessary for infrastructure, cloud, systems-administration and cybersecurity pathways.

Security

Security becomes increasingly important as systems become connected and handle sensitive information. These foundations allow progression into specialised areas such as software engineering, cybersecurity, cloud computing, artificial intelligence, data science and advanced information systems.

Which parts of the field are theoretical, and which parts are practical?

ICT contains substantial amounts of both.

Theoretical components

Examples include:

  • computational theory;
  • algorithm analysis;
  • discrete mathematics;
  • formal languages;
  • automata;
  • database theory;
  • computer architecture;
  • networking principles;
  • information-systems theory;
  • software-engineering principles;
  • probability and statistics;
  • artificial-intelligence theory; and
  • cybersecurity principles.

Wits, for example, includes formal languages and automata, advanced algorithm analysis and operating systems alongside its applied computing subjects.

Practical components

These include:

  • writing code;
  • developing software;
  • debugging;
  • testing;
  • creating databases;
  • writing database queries;
  • configuring networks;
  • administering systems;
  • analysing data;
  • developing websites;
  • creating machine-learning models;
  • implementing cybersecurity controls;
  • documenting requirements; and
  • building complete information systems.

This means ICT is not solely the study of how computers work. Students are normally required to build, configure, analyse or implement technological systems.

What tools, technologies, equipment or software are commonly used?

Unlike many fields, the specific technologies used in ICT change frequently. The underlying categories are therefore more stable than particular product names.

Programming languages

Examples can include:

  • Python;
  • Java;
  • JavaScript;
  • C;
  • C++;
  • C#;
  • SQL; and
  • other languages depending on the application.

The University of Pretoria, for example, introduces Python within an undergraduate ICT-related module.

Integrated Development Environments and code editors

These are used to write, test and debug software.

Version-control systems

These allow developers to track code changes, maintain different versions, collaborate, review modifications and manage software-development work.

Database Management Systems

These are used to create, query and administer databases.

Operating systems

Professionals may work with desktop, server and mobile operating systems.

Networking equipment and software

Depending on the role, this can include:

  • routers;
  • switches;
  • servers;
  • firewalls;
  • wireless equipment;
  • network-monitoring tools; and
  • network simulators.

Cloud computing platforms

Cloud technologies provide remote computing, storage, databases, applications and other infrastructure.

Cybersecurity tools

These can include:

  • vulnerability scanners;
  • security monitoring platforms;
  • firewalls;
  • authentication systems;
  • encryption tools; and
  • incident-response systems.

Data-analysis tools

Data-oriented professionals may use programming languages, statistical packages, databases, spreadsheets, notebooks, data-visualisation platforms and machine-learning frameworks.

Project and collaboration tools

ICT teams also use task-management platforms, issue trackers, documentation systems, communication platforms and software-development management tools.

What are the most important skills required to succeed in this field?

The most important skills include:

  • Problem-solving: ICT professionals frequently need to translate a problem into a technological solution.
  • Logical and computational thinking: Programming, systems analysis, networking and database work require structured reasoning.
  • Programming: Programming is central to software development and is also increasingly relevant in data, automation, cybersecurity and systems work.
  • Analytical skills: Professionals need to analyse requirements, data, system behaviour, software errors, security events, network problems and performance information.
  • Debugging and troubleshooting: A significant part of technical work involves determining why a system is not behaving as expected and identifying the source of the problem.
  • Data literacy: ICT professionals need to understand how information is structured, stored, processed and protected.
  • Technical documentation: Systems must be documented so that requirements, designs, configurations and procedures can be understood by others.
  • Communication: ICT professionals frequently translate between technical information and organisational requirements. Systems analysts in particular work between users, organisational stakeholders and technical development teams.
  • Teamwork: Large software and information systems are normally developed and maintained by teams rather than individuals.
  • Cybersecurity awareness: Security increasingly needs to be considered during software development, systems administration, networking and data management.
  • Continuous technical learning: Programming languages, frameworks, platforms, security threats and computing infrastructure change over time. ICT therefore requires professionals to update technical knowledge throughout their careers.

South African Computer Science programmes specifically emphasise analytical ability, mathematical reasoning, problem-solving and the practical development of software.

What skills can be developed through training, and which are expected at entry?

There is no universal entry standard across the ICT field.

Skills commonly developed through education and training

These include:

  • programming;
  • database design;
  • SQL;
  • software engineering;
  • systems analysis;
  • systems design;
  • network administration;
  • cybersecurity;
  • cloud technologies;
  • data analysis;
  • machine learning;
  • artificial intelligence;
  • software testing;
  • IT project management;
  • systems administration;
  • computer architecture;
  • technical documentation; and
  • specialised programming languages.

Students can therefore enter university without already knowing how to program. UCT, for example, explicitly states that previous computing study is not required for its BA Informatics pathway; programming, systems analysis and database design are taught within the programme.

Capabilities commonly expected at entry

Depending on the qualification, foundational capabilities generally include:

  • numerical literacy;
  • logical reasoning;
  • reading comprehension;
  • ability to follow structured instructions;
  • basic digital literacy;
  • problem-solving ability; and
  • willingness to learn unfamiliar technical concepts.

Mathematics requirements vary significantly. Some Computer Science programmes have relatively high mathematics requirements. Wits, for example, specifies Mathematics Level 6 for its BSc Computer Science programme, while different Information Systems routes can have different entry requirements.

What personal qualities are commonly useful in this field?

Commonly useful qualities include:

  • attention to detail;
  • persistence;
  • accuracy;
  • logical thinking;
  • curiosity;
  • adaptability;
  • patience when troubleshooting;
  • willingness to test assumptions;
  • organisation;
  • ability to work independently;
  • ability to work collaboratively;
  • willingness to document work;
  • responsibility when handling information; and
  • willingness to update technical knowledge.

The importance of particular qualities varies by occupation. Software development requires sustained problem-solving and debugging. Systems analysis involves more stakeholder interaction. Cybersecurity requires careful attention to anomalies and risk. Data science requires strong analytical discipline and appropriate interpretation of evidence.

Occupations identified as being in high demand in this field

According to the South African Department of Higher Education and Training's National List of Occupations in High Demand: 2024, and using the Information and Communication Technology (ICT) field grouping established for this project, the occupations are:

  • Chief Information Officer — OFO 2021-133101
  • ICT Project Manager — OFO 2021-133102
  • Data Management Manager — OFO 2021-133103
  • Information Technology Manager — OFO 2021-133105
  • ICT Trainer — OFO 2021-235601
  • ICT Systems Analyst — OFO 2021-251101
  • Data Scientist — OFO 2021-251102
  • Software Developer — OFO 2021-251201
  • Programmer Analyst — OFO 2021-251202
  • Developer Programmer — OFO 2021-251203
  • Web Developer — OFO 2021-251302
  • Database Designer and Administrator* — OFO 2021-252101
  • Systems Administrator — OFO 2021-252201
  • Computer Network and Systems Engineer — OFO 2021-252301
  • ICT Security Specialist — OFO 2021-252901
  • Technical ICT Support Services Manager — OFO 2021-252902
  • Geographic Information Systems Technicians — OFO 2021-351302
  • Telecommunications Technician — OFO 2021-672205

These occupation names and associated minimum qualification levels are contained in the DHET national list. As with the previous fields, 'in high demand' should not be interpreted as 'there are not enough qualified people.' DHET states that its list is not a scarce-skills list. It identifies occupations showing comparatively strong demand signals based on factors such as employment, wage and vacancy growth and anticipated recruitment.

Next step

Want help deciding whether this field fits you and what to do next?

Book a career consultation

Bahayas provides educational information, resources, communities and structured programmes designed to build the capability and evidence you bring to the routes described here.