To prepare junior software developers for success in the workplace, skills-development programs need to prioritize hands-on experience and soft skills.
The digital age has led to enormous opportunities across the world and sub-Saharan Africa, but also significant challenges. This is the second installment of a new DIAL insights series that explores some of these cross-cutting issues and offers practical recommendations for expanding the cadre of software developers across sub-Saharan Africa.
“The biggest gap between a junior and senior developer is soft skills. Institutions tend to underprioritize these compared to technical skills, but design thinking, strategy, client management, and communication are the real determinant for success in this industry.”
– Employer, Southern Africa
The employment landscape in sub-Saharan Africa is increasingly dependent on technology. Over the last five years, rapid economic growth and tech innovations have resulted in organizations across all sectors—including private companies, public agencies and NGOs—finding themselves increasingly reliant on technical staff. There is a clear need for more software developers and engineers to manage internal systems and design and support applications for a wide range of purposes, from mobile money and crowdsourcing to gathering community input.
In the face of an urgent need for more senior software developers across sub-Saharan Africa, a host of skills-development programs have emerged to prepare junior developers for the workplace. We wanted to find out what these skills-training programs were offering and what employers were looking for in new hires in order to better understand how well the programs were equipping participants for the workplace. To learn more, Dalberg Advisors interviewed employers and employees, and researched technology skills development programs across the continent.
What employers want
Dalberg Advisors interviewed 35 employers with experience across 10 countries in the region to better understand the suite of skills and abilities software developers need to gain from skills-development programs. The observations in this blog series are derived in large part from these interviews.
“We want people with experience solving real African problems.”
– Employer, East Africa Employer, East Africa
While employers considered technical skills necessary, they also indicated that equipping students with supplementary skills—including “soft skills” like communication, teamwork and collaboration—was equally important in determining future success. Management skills were also highly prized, including project management and problem-solving like design, critical and systems thinking.
A related concern among employers, across sectors and geographies, was that new hires lacked relevant real-world experience.
The technical skills training landscape
In addition to interviews with employers and employees, we reviewed 44 skills-development programs across sub-Saharan Africa to determine which types of skills programs prioritize, how they are delivering them to students, and how well programs are equipping junior software developers to meet employee expectations. The programs we examined spanned 10 countries, included publicly and privately funded offerings, and offered both online and in-person training.
“We need people with experience in complex, live, projects . . .”
– Employer, East Africa
Of the 45 programs analyzed, 26 focus on educating junior developers. Nearly all of the programs deliver some kind of technical training, such as proficiency in a specific technology stack, current software development methodologies and programing languages, and user experience design. Around half of the programs include some form of management skills, such as project management, client relations and overseeing teams. Only about one in every three deliver training in soft skills such as professional communication, teamwork and collaboration.
Vital mentoring and coaching support were only included in about 13% of the programs; less than 30% offered client- or team-management training or focused on quality assurance; and only about 22% covered critical problem-solving skills or professional communication. Only seven programs offered training in either management or soft skills and access to project-oriented training, which were identified as critical by employers.
The education system in my country is very theoretical. You can graduate with first class honors from a current program and have no understanding of what’s happening in the industry. You aren’t exposed to any mentorship or coaching, which makes you feel unsure of what you should be doing. Then when you start working, it feels like you’re already behind.”
– Junior software developer, East Africa
Across the board, exposure to live, or real-world, projects— which are considered the ideal learning environment by employers—tends to be limited.
Challenges and opportunities for skills-development programs
While many programs are providing students with the specific technical skills they need, some have offerings that are not aligned with employers’ priorities. Opportunities exist for these programs to better equip students for the workplace.
1. Programs should work more closely with employers to provide hands-on experience that lays the foundation for on-the-job success.
Both employers and employees confirmed that the most effective learning comes from hands-on experience with practical projects. In fact, this is understood as a good practice in vocational training design globally and across other sectors. However, only about half of the programs analyzed provide any sort of hands-on project management experience to students.
According to the research, apprenticeship-based learning models are the most successful in equipping junior developers with the skills they need to be successful. This can be incorporated within skills-development programs through mentoring with senior developers or internship programs with companies or agencies. But while interviewees indicated that the greatest opportunity for growth comes from exposure to relevant projects under expert guidance, most skills-development programs have not incorporated these types of modules into their curriculum.
“On-the-job experience is the only way to create good developers. We do this through our own internship program, which is crucial. After this, we only have to provide ad-hoc support, as the internship experience creates the developers we need.”
– Employer, Southern Africa
Establishing meaningful relationships between skills-development programs and employers in order to make internships and mentoring possible is not simple. According to our research, many educational programs do not have a sufficient grasp of the industry to successfully initiate and manage these programs.
Furthermore, not all employers recognize the value of establishing a pipeline of talent in partnership with these programs.
2. Online learning can provide a foundation, but it is no substitute for in-person learning.
In recent years, there has been a proliferation of online skills-development programs that offer courses related to software development. Some of the most popular include Coursera, edX, Udemy, and Khan Academy. While few of them are tailored to specific geographies, they serve as important training resources. Most of these online courses focus on specific technical skills, although some attempt to cover soft skills, too.
However, in general online programs are not well-equipped to provide hands-on exposure to real-world projects, in-person training, or advice and feedback from peers and more experienced trainers.
“Online learning is great for technical skills, but soft skills, processes and behavior can only be taught in person. Online learning is great to learn a language, but it won’t teach you how to be on a project.”
– Employer, East Africa
This challenge is far from unique to sub-Saharan Africa and is a widely debated question around online learning in general. To address these issues, some online programs have moved towards blended approaches, supplementing their programs with in-person, intensive, “boot camp” learning experiences.
Our research found that while in-person boot camps combined with longer online courses can sometimes be effective, especially if offered alongside real employment, they are better suited to improving specific technical skills rather than wider transferrable skills, such as soft and management skills.
3. Soft skills are critical and need prioritizing.
It is essential to incorporate soft skills into program design, accompanied by suitable ways to practice them. However, fewer than 20% of the skills-development programs we analyzed prioritized essential soft skills. Ideally, these skills are gained through real-world experience. Specifically, students should learn them within complex projects and be exposed to an on-the-job manager who can offer support and coaching. When there are no practical, simulated opportunities to develop these skills by working with peers, interacting with a mentor or coach is critical.
“Right now, we need candidates that have more on-the-job experience. Often, this is more about behaviors than technical knowledge. A theoretical education is never enough.”
– Employer, East Africa
4. Learners need guided reflection and support throughout their training.
To maximize a developer’s ability to translate learning into action and behavior change, it is critical that they receive expert feedback and have guided opportunities to reflect on and discuss their work. There are many mechanisms by which this can be achieved, including on-the-job support from senior colleagues; one-to-one mentoring from experts within the industry; provision of a dedicated coach; and/or support from peers who are also doing the training, studying in other programs, or learning in other parts of the world. In reality, some combination of approaches is likely required.
Recommendations
For skills-development programs
- Programs seeking to move people into professional software development roles should design their curricula around the good practices outlined above and ensure they include all the vital aspects needed for success.
For employers
- Meaningfully engaging with skills-development programs will help ensure a pipeline of local talent from which to recruit. Employers can do this by providing mentors, work experience or capstone projects. This is especially important for NGOs and donors, which have the added challenge of needing to hire people with good technical and soft skills as well as some understanding of the aid and development sector. Therefore, offering opportunities to junior staff to develop this experience during training would be a big help.
For digital development donors and policymakers
- Convene discussions between training providers and employers to determine how best to improve the quality of training to prepare students for the workplace.
- Fund or incentivize blended learning approaches that prioritize real-world opportunities.
- Create incentives for employers (especially smaller and/or social-minded ones) to invest time and resources in upskilling their junior technology employees.
- Provide funding to programs that use good practices to maximize the chances of success.