#7: Rebuilding the Skills Pyramid

The theme of the podcast is “Leading Africa’s digital future” and its constructed as an inter-generational conversation. In the first 6 episodes of the podcast the conversation has largely focused around me. We’ve spoken about myself and my generation, and how we laid some of the foundations for the digital economy and the IT industry as it currently exists in South Africa. But, Kerryn sits on the other side of this inter-generational conversation, and we should first focus on her.


Kerryn studied Philosophy and Economics at the University of Cape Town (UCT). Soon after graduating she worked as an intern in a fin-tech startup. She rotated through various areas of the business and became very interested in the work being done by the data science team. She taught herself Python in a week to carry out tasks required by the team.

Following another stint as an intern in the Woolworths credit and card division, Kerryn moved from Cape Town back to Johannesburg (where she grew up), to take up a job in the credit risk department at Absa Bank. At the beginning of April 2020 she joined Absa’s AI and Machine Learning team.


The interesting thing about Kerryn’s learning pathway is that, although it seems unusual that a Philosophy major should land up working in AI and ML at a bank, her learning pathway is very common in South Africa’s IT industry. Many IT professionals have not come via a formal IT educational route. The majority of people working in the SA IT industry have entered it via various informal routes similar to that of Kerryn.

This was one of the key findings of the research that was done on the SA IT Sector in the late 1990s. We spoke in Episode 5 about some of the recommendations made in the SAITIS Report that came out in 2000. (Just to remind you that SAITIS stands for “SA IT Industrial Strategy”). In 2005 I launched the JCSE at Wits as a response to this SAITIS Report. One of the JCSE’s goals pulled from the SAITIS Report was about skills development. The issue of IT Skills was – and still remains – one of the most important issues in South Africa and Africa today.


Work in the IT industry is an example of “knowledge work”. It needs highly skilled workers. Throughout the world there’s always been a shortage of people with these skills. As the digital economy has grown, the demand for people who can develop new systems and then maintain and run them has increased. The developed countries in North America and Europe have always had the fastest growing digital economies and have an almost unquenchable demand for digital skills. Since the early days of computing, the developed world has sucked digital skills out of the developing world. If you visit any of the major companies in the US and Europe today you will find large numbers of Asian, Eastern European and an increasing number of African IT workers. You’ll find LOTS of South Africans doing IT jobs in developed countries.

In the 1990s, as the demand for IT skills in developed countries continued to grow, and when the cost of employing skilled people in these countries became too high, work was outsourced to places like India, Mexico and parts of Eastern Europe. Outsourcing certainly has beneficial effects on the economy receiving the work. In low-wage economies like India, software developers and other IT professionals earn relatively high salaries, which means that they join the middle class and do relatively well.

In South Africa the supply of IT skills has always been far lower than the demand. Estimates of the IT skills gap are difficult to make, but some experts have put it at 20 to 30 thousand. In other words, we currently need an extra 20,000 or more skilled workers in our IT sector. This has led to salaries in the IT sector (particularly for skills like software developers and – more recently – data scientists and people working in AI) being far higher in relative terms than in other countries. It has also led to IT work being outsourced from South Africa to other lower cost countries. One of our large banks, for example, outsources all of its software testing to India at the cost of 100’s of millions of Rands a year.

The scarcity of digital skills has also led to comparatively high salaries being paid locally. Another important consequence of South Africa’s IT skills shortage is that it’s really difficult to get highly qualified IT experts (that is those with PhDs) to teach at our universities. A graduate in software engineering or computer science earns a higher salary a year or two after she graduates than the far more qualified lecturer who taught her. Obviously that lecturer is very tempted, or even actively poached, into a job in the IT industry.

As soon as I started thinking about the SA IT industry in the mid-1990s I became very interested in our local IT skills crisis. It’s one of those things about South Africa that doesn’t make sense. On the one hand we have this burning need to employ thousands of IT people. On the other hand we have one of the highest unemployment rates in the world. Our youth unemployment rate – that is people in the 15 to 24 age group who are not in full-time education or employment – was over 50% in the mid-90’s. It’s still about the same 20 years later. This is the highest youth unemployment rate in the world. It’s something that should be seen as a national emergency! We also have the crazy situation of having a very high graduate unemployment rate (that is people with a university degree who can’t find work).

Just to make one point clear. I’m not claiming that training IT people will make a huge dent directly on unemployment in South Africa. The local IT industry can, at best, provide additional jobs for 10’s or maybe 100’s of thousands while there are millions of people that are unemployed. However, each highly skilled job in the IT sector creates between 5 and 10 jobs in other sectors. This is, what’s called, a multiplier effect. Also, if we could get our supply of skills and our salary levels right we COULD become a major destination for IT work being outsourced from Europe and America. In the SAITIS process I was a member of the working group on skills, which means that I was partly responsible for writing the recommendations on skills development in the SAITIS Report.


We have spoken about the numbers of skills required in the IT sector, but what about the types of jobs these skilled people will do? I like to think of jobs, and the associated skills in the IT Sector, as a big pyramid. As you move up the pyramid from its base to its point the level of skill increases. At the base we have “entry level skills”. This is the widest part of the pyramid so it corresponds to the largest number of jobs requiring that level of skill. As you go up the pyramid the level of skill increases and the number of people needed at that level gets smaller (the pyramid is getting narrower). At the point of the pyramid we have the highest level of skills, but we need the smallest number of these.

Let me try to relate this to a specific area of work in the IT Industry. Let’s think about software development. In software development the overall task is to convert a business requirement, of some sort, into a working software application. The development team would typically be structured so that it has a larger number of lower-skilled people doing jobs that are important but more routine, for example some of the tasks associated with testing or getting all of the parts of the user interface to look consistent. There would be a smaller number of people doing the jobs half-way up the pyramid. These are the jobs requiring more skill and experience such as analysing the business requirements or developing the more complex aspects of the software. Finally there might be only one or two people sitting at the peak of the pyramid developing the software architecture and design, and solving the trickiest problems. A company doing lots of software development would need to employ people in the proportion suggested by this skills pyramid. They would have a problem if there is a shortage at any level. Without skills at all of the levels it’s hard to get the work done.

In the South African IT sector we’ve always seen gaps in the skills pyramid. In the 1990s and 2000s most of the formally trained IT people in South Africa were coming out of our universities. They had 3- or 4-year degrees in engineering, computer science, information systems or IT. The skills pyramid was “top heavy”: the skills we had were at the middle or point of the pyramid, but there were too few entry-level skills at the base of the pyramid. One of the reasons for this is that South African school leavers and their parents have traditionally seen university as the only option for tertiary education. Vocational training (in any discipline) has been seen as second best and somewhat inferior. A matriculant interested in IT, but who didn’t meet the entry requirements for IT-related degrees, would rather do an easier-to-get-into, but non-IT, degree at a university than go to a college to do an entry-level IT qualification.

There were a number of consequences of our top-heavy IT skills pyramid. One was that lower-level work was outsourced, such as the example of the bank sending its testing to India. Another was that higher-skilled people were required to do lower-skilled jobs, leading to high levels of job-dissatisfaction. It also made the cost of doing the work more expensive. The third consequence was that informal pathways to gaining IT skills were introduced in the SA IT sector.

Over the past 4 or 5 years these “informal pathways” – such as coding academies – have grown tremendously. I’ll talk more about these informal pathways later. In terms of “formal pathways” there were, and still are, a number of huge challenges.


The “formal pathways” to IT skills are typically degree programmes in our universities. What are the challenges around these?

A young person who is coming to the end of school and is interested in working in the IT industry has a number of options to explore. She could apply to one of the IT-related degree programmes offered by our universities. She could also look at IT training programmes offered by other non-university tertiary institutions. However, as I said earlier, most school leavers tend to see studying at university as the only viable option. The programmes typically offered by universities are in computer science (usually in the science faculty), information systems or IT (typically in the commerce faculty) and some variant of electrical engineering.

You might find this last option a little puzzling. Why electrical engineering? Historically there has been a very strong connection between “computers” – both their hardware aspects and software – and electrical engineering. Many top experts in the IT industry around the world are electrical engineers – I’m an electrical engineer. In the late 1990s I asked the Chief Information Officer of Investec Bank why he employed mostly electrical engineers in his department. He said that the systems being developed in his business were large real-time distributed systems of the same complexity as many large engineering systems. He found it easier to “teach an engineer about banking, than to teach a banker about engineering”.

So, our middle and top IT skills – the higher levels of the skills pyramid – ideally come from our universities. I say “ideally” because in practice it’s a bit more complicated than that. Many South African companies complain about the competence of graduates coming out of our IT-related programmes at local universities – even our top SA universities. They feel that our university education in the IT disciplines is too generic and theoretical. Company executives have told me that computer science or IT graduates “are pretty useless”. One executive complained that a graduate he employed “knew nothing about SAP or Oracle”.

These are two of the most popular software packages (called ERP systems) that large organisations run. Large organisations – like banks or government departments – would buy a system like SAP and then develop their own customised software that extends or adapts certain aspects of SAP’s capabilities. This requires very specific knowledge relevant to SAP.

The executive I spoke of was very upset that university IT graduates did not have this specific knowledge, but I see no problem with that. Something that our company executives don’t understand is that universities cannot – and should not – be turning out graduates with such specific skills. In my opinion the aim of a university is to develop people who have deep foundational knowledge, and the ability to learn new things quickly. In India, for example, the major IT companies like TCS recruit the top IT graduates from the top IT universities, and then send them off to a company training facility for 6 to 9 months where they learn the specific technologies and processes required in the job they will be doing. Most South African companies are very reluctant to invest anything in the training of new graduate recruits. They put them to work on day one, and expect them to contribute immediately to the delivery of projects. They then blame the universities if there are gaps in the skills of these graduates.

I will concede, however, that many of our university programmes in South Africa fail to produce IT graduates with the right foundational knowledge and a strong enough ability to learn new things.


In the 1990’s I became very interested in the IT-related aspects of the curriculum in Wits University’s then-Department of Electrical Engineering. Speaking to graduates who went into IT jobs and the IT managers in the companies that employed them I saw many gaps in their foundational knowledge.  I proposed the introduction of a separate stream in the electrical engineering degree programme which would cater for graduates interested in working in the IT industry as software engineers. I drove the development of a new curriculum and, with strong support from the then-head of department, Professor Charles Landy, and several other colleagues, got it accepted via the various Faculty and University committees – NOT an easy task. We also had it accredited by the Engineering Council of SA (ECSA) as a professional engineering qualification. This happened in the late 1990s. We called this new stream “Information Engineering” and it allowed students in their 3rd year of the 4 year degree to either follow the “standard” electrical engineering programme or to follow a curriculum that would better prepare them for work in the IT sector.

As an aside: I’m often asked why we called it “Information Engineering” rather than “Software Engineering”, which would have been more logical. The reason had everything to do with University politics. The Wits Computer Science Department saw this new programme as a threat to them in recruiting school leavers. They claimed that computer science “owned” the words “software engineering”. The compromise was that we called it “Information Engineering” although, under the hood, it was modeled on international guidelines for a programme in Software Engineering.

In 2000 when Wits reorganised and consolidated all of its Faculties and Departments, our Department of Electrical Engineering became the School of Electrical & Information Engineering.

A few years later I had another bash at shaking up Wits University’s IT-related curricula. In interacting with school-children interested in studying “computers” or IT, I noticed that they (and their parents and teachers) had no clue about the difference between Computer Science, Information Systems and Information (or Software) Engineering. Lots of young people chose to do Computer Science simply because it had “computer” in the title. Many landed up wishing they had rather done Information Systems or Electrical/Information Engineering.

The IT-related degree options at Wits (and other SA universities) forced school leavers to immediately enter a stream. It’s impossible to change streams 2 or 3 years into the degree programme. As an alternative to this, I led the development of a new curriculum based around a “funnel” strategy. We called it “Applied Computing” and in years 1 and 2 students covered material from all 3 streams – that is computer science, information systems and engineering. In year 3 they got to pick courses to specialise in one of the streams. The intention was that after finishing the 3-year “Applied Computing” degree they would then go on to do a 4th year leading to an honours degree in Information Systems or Computer Science or they could enter the 3rd year in the electrical engineering – information engineering stream, and land up with a professional engineering qualification.

I believed then – and still believe – that this is exactly the best way to go. In practice, however, it didn’t work. The University (again for internal political reasons) decided to locate the Applied Computing programme in the School of Computer Science, who ran it – badly – for a few years and then killed the programme. I’m still very bitter and twisted about this! We did see a few very successful graduates from Applied Computing. I will have a conversation with some of them in Season 2 of this podcast.


If we think again about the “Skills Pyramid”, and about the huge shortage of IT skills in South Africa, the formal pathway into an IT job can never produce the numbers required at the middle and peak of the pyramid, partly because IT-related degree programmes, like engineering, computer science and information systems, require matriculants with very good marks in mathematics and science. A tiny proportion of successful matriculants have marks in these subjects that are good enough to get into university.

As a result of this, and for various other reasons, people have over a very long period of time entered into IT jobs without a formal IT qualification. This makes the IT profession very different from professions like law, medicine or accounting. In all of these, people MUST have a formal qualification. I know people in our local IT industry in very senior technical jobs – at the very peak of the pyramid – who have no formal IT qualification. In many cases their highest formal qualification is a matric certificate.

Through the JCSE, which I established in 2005, I’ve developed a number of programmes aimed at raising the skills of people who, for whatever reason, have not been able to follow a formal IT programme.

At the entry-level, in other words, at the base of the skills pyramid, I drew inspiration from one of the most successful IT skills programmes in South African history. It was run by a company called Van Zyl and Pritchard (also called VZAP) from the 1970’s into the 1990’s. At first it focused on training COBOL programmers. COBOL and some of its off-shoots such as Natural and Adabas, were the dominant programming languages used in developing all commercial and government software from the 1970’s until well into the 90’s. COBOL was one of the dominant languages at the time of main-frame computers which I described in Episode 1. (It’s interesting to note that even in this modern time of digital transformation and the 4th industrial revolution many of the key IT systems that run in our banks and parts of government are still these old legacy COBOL systems. For example, the software at the heart of the systems that the South African Revenue Service (SARS) uses to manage tax collection is written in COBOL). VZAP (and a few other similar companies) trained thousands of COBOL developers over the years. If you ask senior IT professionals in South Africa where they received their training, many will say Van Zyl and Pritchard.

How did VZAP’s programme work? The secret to their success (and it was a very successful commercial business) was an aptitude test. Their business model was that anyone interested in becoming a COBOL programmer could take the VZAP test. It didn’t matter if you were a school leaver with poor matric marks or someone with a PhD in rocket science. How a person performed in this test was the only factor used in VZAP’s decision on whether to train her. The test measures 5 characteristics, and successful candidates needed to score well in all of these dimensions and have an overall score higher that 70%. These successful candidates received free COBOL training from VZAP over a 6-9 month period. They were then placed in jobs in banks and other large organisations. VZAP recovered the cost of the training together with a profit from the employer as a placement fee. The VZAP business model depended on the fact that every person accepted for training would successfully complete the training and would do well once they went out to work. VZAP would lose money if they trained the wrong people. The “magic ingredient” in the VZAP business model was their aptitude test.

What VZAP found over many years of running their test was that almost exactly 10% of people taking the test achieved this 70% score. Other factors such as matric results, formal tertiary education, gender, social background, etc., seemed to have made no difference. I like to think that 10% of the population is “wired” to be a software developer (although I must stress that I’m not aware of any academic research that supports this perception). In 2012, with support from Accenture, I arranged for 200 unemployed young people to take the VZAP test. Twenty passed the test – in other words 10%. All of these were then trained for 6 months in Java. Although I haven’t followed the career of all 20, those that I have followed have built very successful careers in the local IT sector.

Encouraged by this I set up a “skills pipeline” programme in the JCSE based on the VZAP model.


The JCSE’s Skills Pipeline is a 2-year programme and, like the VZAP programme, it places huge emphasis on selecting the right students. The selection process sets it apart from other entry-level IT skills programmes. There is also a strong focus on job placement at the end of the programme. What I see happening in a lot of the IT skills training programmes being run at the moment is that there is an over-emphasis on hitting target numbers. Someone gets funding to train 100 Java developers. An advert goes out for candidates to be trained and almost anyone who applies is offered a place in the training programme. There is also very little emphasis on what happens after the programme. No one seems to ask whether there are jobs for those 100 new Java developers. If one accepts Van Zyl and Pritchard’s observation that only 10% of people have the aptitude to be a successful software developer there is a high possibility that most of the 100 randomly selected trainees will be like square pegs in round holes. They might slog their way through the training, but they are not “natural” software developers and they will either drop out or drift out of the IT sector as soon as they can.

The JCSE’s skills pipeline selects trainees from amongst young people who are unemployed and have no previous background in IT. They have finished school and have either not managed to get into tertiary education because they don’t have high enough matric marks or can’t afford it … or they have dropped out of university for whatever reason. Our selection is based on the “2 A’s” – aptitude and attitude. We assess aptitude using either VZAP’s test or some other more modern test. We’ve found that the best way to assess attitude is via a face-to-face interview. In order to maximize the possibilities of job placement at the end of the programme, we have discussions with potential employers BEFORE the training starts to inform ourselves on what companies are looking for in newly trained entry-level interns or junior developers. As far as possible we try to know upfront where each trainee is headed at the end of the training.

Trainees enter the pipeline in cohorts of between 20 and 30. In the first year training is instructor-led in a classroom environment.  They develop core IT skills leading to a number of industry recognised certificates such as A+, Microsoft C#, Oracle Java, or Cisco CCNA certificates. In the second year they enter an internship, either run via the JCSE or within a company.  We put interns into development teams where they work together with a few expert software developers on real projects for real customers with real deliverables.  It’s a form of apprenticeship and we’ve found it works really well.


A huge issue in South Africa is finding ways for people to move up the digital skills pyramid. How does someone with “entry-level” skills or “mid-level” skills acquire higher-level skills or newer skills. There are lots of people who entered the IT industry without a formal qualification. At first they do really well. They move up the skills pyramid for a few years, learning new skills on the job. And then, after 10 years or so, they get stuck. They don’t have the depth of foundational knowledge that a computer science or engineering graduate would have. They reach a level of seniority where a formal qualification becomes important. At this stage they become keen to get some type of formal qualification, such as a university degree. But how can they do this? Its almost impossible to enter formal academic education at this stage in their professional development and personal life.

In 2004, at the same time I was beginning to set up the JCSE at Wits, I devised a programme to deal with this need. In the first few years it was exclusively for people working at First National Bank (FNB). It was built around a masters-by-coursework programme, called the “MEng in Software Engineering” offered by the Wits School of Electrical & Information Engineering. This MEng required students to complete 8 courses and undertake a design project and a small research project.  The people I wanted to support would typically have no formal education after school, but had 10 years – or more – of practical work experience in the IT sector. They therefore didn’t meet the entry requirements for a masters-level degree. These say that people wanting to enter the programme must have an honours-level degree.

Wits, and many other universities, do, however, have another mechanism for accepting students into a post-graduate programme.  It aims to deal with what are called “mature students”. The Wits policy says that anyone with a certain number of years of suitable work experience can be accepted into a Masters programme even though he or she doesn’t meet the normal entry requirements. Although this is the policy, the Wits committee responsible for deciding on whether to accept applications from mature students is very risk-averse.  They need a lot of convincing that someone without an undergrad degree can cope with masters-level courses. The normal response is to reject applicants.

My plan in the JCSE was to offer 5 of the 8 MEng courses as part of a sequence of short courses.  We call this the “Continuing professional development” or CPD programme. Each CPD course was identical to one of the MEng courses. In fact, it was exactly the same course, taught on the same timetable by the same lecturer in the same classroom. CPD students wrote the same exam as the MEng student. After passing 3 or 4 CPD courses with an average of 60% or more I supported the student’s application to be accepted as a mature student into the MEng programme. I could provide the committee with evidence (in the form of marks for courses actually completed) that the CPD student would be able to come with the Masters-level courses. In every case the university’s graduate studies committee accepted mature student applications I supported.  From 2005 onward I have had up to 40 students per year enrol for the CPD. Many have gone on to convert to the MEng.

The programme has been hugely successful.  Hundreds of people who have earned a Wits MEng degree via my CPD programme have gone on to fill senior positions in some of our top ICT companies.  In future podcast episodes I will invite some of these leaders to share their stories.


Through the JCSE I also ran a programme for high school children aimed at getting them interested in careers in the digital economy. In addition, working with another Wits Centre called the LINK centre, we developed a Professional Certificate in CIO practice, aimed at preparing CIO’s for their future roles as leaders in the ICT Industry. We’ll deal with these in future episodes.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.