It Takes A Village To Raise Good Software Engineers
There has been a passionate debate about the best way to improve the quantity and quality of software engineers in Nigeria. Part of that debate was centred around “who will build the Nigerian or African focused Andela?” While I think the debate is timely, I don’t think the right question to ask is who will build the Africa-focused Andela. I think Andela could have been doing business in Africa if there are enough African companies with the right engineering culture and maturity for its fellows to work in. Also, they would probably work with African businesses if enough of them value their services enough to pay the right price.
Perhaps the right questions are, how do companies find good engineers? And how do companies develop the right culture and structure to attract and keep them? I’ll focus on the first question in this write-up. The answer is to expand our sources of engineering talent. At Konga, most of the Nigerian engineers were hired from Obafemi Awolowo University (OAU), University of Ibadan and University of Lagos. I don’t think these schools necessarily have the best Computer Science(“CS”) programmes and their students testify to this fact. Most of the engineers were self-taught. Considering that fact, we can conclude that every Nigerian University with a CS programme can produce good talent. We should, therefore, cast the net wider to find talent beyond our usual sources and we should find them at a younger age.
Three weeks ago I visited Federal Government College, Ido-Ani, Ondo State, the secondary school I finished from 24 years ago. On my way back, I scanned through the yearbook (a gift from the principal) and tallied the career aspirations of the 2015/16 class. To my surprise, while 33% of the class wanted to be doctors, less than 5% of the class was interested in Computer Science and about 2 students representing much less than 1% of the class were interested in agriculture. These numbers should alarm government policy makers because the careers with arguably the most promising job prospects have the lowest interest. The level of interest suggests a lack of awareness of the opportunities in CS by students, parents, teachers and counsellors. How do we bridge this gap?
A few days after visiting my old school, I saw a Facebook post from a former colleague, Bodun, who runs Access for Youths to Information Technology Initiatives (AYITI). The programme engages kids from low-income families by teaching them how to code. One of the best students on the programme had just called to inform Bodun of her intention to drop out of the programme over the long holidays because her mum wanted her to learn a different trade. I had always wanted to contribute to Bodun’s project so I volunteered to visit the student’s mum. The following Saturday, we met the lady in the Mushin area of Lagos. I told her how the skills I developed in IT had given me the opportunity to work for one of the best companies in the world. The lady had never heard of Google but as soon as she understood that her child could have the same opportunities, she committed to the programme. We need more programmes like AYITI to enlighten kids about CS from a young age. And we should find more ways to raise awareness about the career opportunities in IT outside of Yaba, Lagos.
To improve the quality of the talent pool, we need good mentorship programmes. Between 2011 and 2014 I ran a mentorship programme with 3 of my university classmates who worked at Intel, Apple and Morgan Stanley. The programme gave some of the best CS students at OAU the opportunity to work on projects. During the course of the programme, we mentored 7 students. We were however not the only group mentoring OAU students, there were other people like Toki, a Software Engineer at Google who spent many Saturday evenings coaching students on good coding practices. The mentorship programmes prepared mentees for the challenges of the workplace. The mentees also became mentors to their peers thereby raising the overall quality of engineers produced by OAU. Using the lessons learnt in mentoring as a solid foundation, I am working on a programme with some talented engineers to expand access and mentorship to aspiring software engineers. A pilot is currently running at dufuna.org.
I often meet people from Nigerian companies looking for good software engineers. They had spent a lot of money on outsourced engineering teams in India and Eastern Europe. As the cost of the dollar began to skyrocket, and access to forex became more difficult, many of these companies were compelled to look inwards. The same people who had complained about the quality of our talent but did little or nothing to contribute to its improvement needed to hire good engineers. Where exactly are they going to find them? To answer this question at Konga, we debated whether to set up a team locally or whether to outsource to companies in India. I argued that outsourcing the company’s engineering capability is like outsourcing the army of a country. My colleagues and Sim, Konga’s founder agreed. We decided to build a local team. The engineers I met at Konga and the ones I had previously mentored gave us a headstart. What they lacked in experience they made up for in determination and enthusiasm. In the process, mistakes were made but the local engineers built systems that other companies from India and Denmark contacted us to either buy or clone. Over time, we replaced the outsourced team and opened a new office in Cape Town to complement the offices in Lagos.
My experience has taught me that no country or university has the monopoly on talent. We can build a great engineering culture in Nigeria if we are determined. We will, however, all need to play our part in improving access and in mentoring future engineers. It takes a village to raise good software engineers. We are that village.