To help junior staff become senior developers, employers must prioritize both professional development and workplace mentoring.
The digital age has led to enormous opportunities across the world and sub-Saharan Africa, but also significant challenges. This is the third 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.
As the economies of sub-Saharan Africa grow rapidly, the technology needs of all types of businesses and organizations have expanded exponentially. Just five years ago, software development skills were primarily required only by large firms. Today, however, both small- and medium-sized organizations, including NGOs and public-sector agencies, rely on the skills of experienced engineers to create software and solve complex problems.
While a new crop of programs are training junior software engineers, Dalberg Advisors’ research across 10 countries suggests that there is still a significant shortfall of senior engineers. In fact, 73% of employers interviewed reported open vacancies that would hamper their businesses’ growth if left unfilled. Without more senior engineers in the workplace, the mission-critical work of many organizations will be threatened.
One way to help solve this problem is for employers to advance junior engineers from within their internal ranks. Employers can do this by making investments in professional development and workplace mentoring. Our research examined what types of professional development opportunities employers across sub-Saharan Africa currently provide to junior engineers to help them advance within the organization.
Dalberg Advisors interviewed 15 employers of various sizes and five software developers about what is required to advance internally and the challenges in doing so. The observations in this blog series are derived in large part from these interviews.
Challenges to promoting from within
While some larger institutions have well-defined career progression routes for advancement, most of the small- and medium-sized organizations we interviewed, including NGOs and public-sector agencies, do not have clearly defined tracks to take employees from junior developer to senior developer. This can lead to junior developers finding themselves with increasingly greater responsibilities, but without the appropriate skills, experience or role-models to ensure success.
Our research indicates that on-the-job training and mentoring from experienced senior developers are critical requirements to help less-experienced developers advance professionally. Without hands-on support, many junior employees struggle to develop the management and soft skills—like teamwork, communication and collaboration—that employers prize so highly.
Professional development opportunities for junior software engineers are currently limited, particularly in small- to medium-sized organizations. Employers cite limited time and resources for professional development, as well as fears about investing in staff who may be recruited internationally and lured to more lucrative positions. Mentoring, too, presents a challenge, as senior developers are few and far between, and may not have the ability or incentives to mentor newer employees.
“I joined this company to get exposure to mentorship and coaching, as I had heard they really care about that. Other companies don’t, as there aren’t enough senior people and they are all too busy with work to care about someone else’s development. I’m really lucky to be working here.”– Employee, East Africa
Challenges and opportunities for employers to grow more senior developers
While internal advancement for software developers is a challenge, our research identified opportunities that offer potential rewards for employers and employees alike.
1. Prioritizing formal skills-development programs for employees is critical.
Employers often say that training is too costly and time intensive to do internally, as it requires some compromises in business efficiency. In addition, talented software developers are regularly recruited by headhunters. Employers worry that, even if they invest in training, employees may still leave.
According to our research, these concerns seem to have a direct effect on employers’ investment in professional development. More than one-quarter of employers (four of 15 surveyed) do not offer any formal training, though they may respond to developers’ requests for support. While these firms felt that staff could benefit from a formal skills-development program, they had no plans to initiate one in the short term and were hesitant about additional costs.
Another four of 15 employers (27%) provided ad hoc support through individual training budgets for staff. This support is provided online, primarily through Coursera and Udacity, because employers feel that they are unable to find affordable in-person options that are compatible with work, particularly for soft and managerial skills. Just seven of the 15 employers (47%) provide formal skills-development programs, using a combination of in-person sessions on specific topics and online courses (e.g., Coursera).
Time availability and access to resources are major concerns for both employers and employees. Junior developers indicated that they often have little time to work on professional development beyond their regular job responsibilities. In addition, they cited the expense of training courses and the often unreliable access to computers, electricity and connectivity as additional challenges to skills growth.
While larger employers may be willing and able to offer training themselves, the majority of organizations need to partner with an external skills-development program. This means it is vital that these employers are meaningfully engaged with such programs to ensure they deliver the skills, training and experiences that will help their employees thrive.
2. By working together, employers and skills-development programs can improve program offerings.
Employers in our research indicated that many of the existing skills-development programs are not designed to meet their needs and those of their employees. Some reported that existing programs are not equipping their employees with the appropriate skills. Employers reported poor linkages with the skills-development programs themselves, and some felt that programs are too expensive and don’t optimize employees’ time.
As part of our research, we asked employers for recommendations to improve professional development skills-development programs for their software developers. They recommended a range of improvements in educational content, links between programs and employers, and affordability and accessibility.
These criteria could help guide both skills-development programs and senior developers to success and could help craft creative solutions. For example, a well-developed and well-resourced coaching program could provide “surge capacity” to the sector by intensively training CTOs and senior developers. A program that fostered close relationships with employers and carefully identified the most important high-level skills necessary for technology leaders could provide valuable benefits to the sector.
3. To build for the future, junior developers must receive mentoring or apprenticeships from senior engineers.
Most employers recognize the importance of ongoing informal and formal training and support for staff, but also report challenges with transferring project management skills and soft skills, such as communication, problem solving, teamwork and collaboration. These skills require a unique approach to training, which employees can struggle to adapt to and employers struggle to measure.
The transition from junior to senior developer most frequently occurs when a junior developer can learn from a senior developer while working on complex, challenging, real-world projects. Junior engineers indicated that the most effective mentorship occurred when the relationship was based on their actual work as opposed to simulated mentorship and in person instead of remote.
“I tried an app that gives you a case study, some code, and then assigns you to a mentor to talk through it. I really enjoyed it, and felt like I was learning a lot, but I didn’t know how to apply what I was learning at work. It felt like none of it really applied, and it wasn’t helping me do my job. Eventually, I stopped, as I didn’t have time anymore.”– Junior software developer, East Africa
Of course, this requires enough team leads and senior developers to challenge and develop talent on thinking holistically, critically and creatively. Some smaller organizations do not employ senior engineers at all. And for those that do, employees are not always available or incentivized to provide mentoring.
In the short-term, international mentors could be tapped to step in to bridge the gap. While not a sustainable long-term solution, this stop-gap measure could ensure that senior talent is available until enough local senior talent can meet the demand.
The challenges to growing a local pool of senior developers are enormous. Surmounting them will require institutional changes in the way schools and universities deliver technical training, the way career paths are managed, and how organizations hire. In the shorter term, our research identified potential solutions.
For skills development programs
- Engage with employers to improve existing skills-development opportunities for employees and training programs for junior staff. By working closely with employers, programs could develop a pipeline of potential internships or work placements for their trainees.
- Consider larger investments in professional development and mentoring of junior developers to create a more competitive workforce. These investments are likely to be most successful if they are in partnership with local skills-development programs that in turn can offer a pipeline of future employees to companies and organizations.
For digital development donors and policymakers
- Invest in expanding short-term mentoring programs that focus on advancing junior software engineers, using international senior engineers to supplement local staff. Example programs employing this at a small scale include Microsoft’s volunteer program, ODI fellowships and AMP4Health.
- Consider establishing a targeted coaching program that would train 200-300 high-potential software developers across the continent. This short-term initiative would provide intensive one-on-one training, support and mentoring to junior or mid-level engineers, and provide ongoing support as they advance.