You are reading Factsheet, our series of specific guides on experiencing and using technology platforms in Africa. Whether you are looking for knowledge on getting your African film on Netflix, raising a seed round or finishing an online design course, we are covering all that.
—
Lucas Gompou learned useful programming basics in high school. Upon enrolling into University however, he realised there was a gap between what was being taught in computer science and what happens in the real world.
So he dropped out in the second of his three-year undergraduate program and got a job to start applying his knowledge. In the years since, he has taught himself to be a frontend developer. He works for a startup in his home city of Abidjan, the capital of the Ivory Coast.
In Africa, formal training for programming is often not good enough for professional practice as introductory courses in secondary and tertiary schools barely scratch the surface.
Hence in the last decade, we have seen companies like Andela, Decagon and Semicolon, as well as wholly online learning platforms offering MOOCs (Massive Online Open Courses) spring up to fill the void.
Not many people can get into structured learning programs. For most Africans, the dream of becoming a software developer is pursued by self-learning.
The good news is that Africa is the fastest-growing continent for developers. African talents made 40% of the open source contributions on Github last year.
In 2019, 24% of tech job openings in Nigeria were for frontend developers. A wave of new startups like Africave and WeJapa are joining Andela in the talent matching space.
HTML, CSS and Javascript are the foundations of frontend development, the latter being the most commonly used programming language in the world (for the eighth successive year) according to this year’s Stack Overflow developer survey. Javascript frameworks like React (developed by Facebook), Angular, and Vue are among the most in-demand in the business.
It’s relatively easy to get started, but even the best learners could do with some guidance. Relative to North America or India, the entire field of software development is nascent in Africa.
So from the experience of people in four African countries, here are a variety of pathways to take en route teaching oneself to become a frontend developer.
Ire Aderinokun and Mathekga Leshabane, Nigeria and South Africa
Five years ago, she was a freelance designer and developer. Aderinokun is now the co-founder and VP Engineering at BuyCoins, a cryptocurrency company. She’s also a lead organiser of Frontstack, a developer community in Lagos, Nigeria.
In this step-by-step guide that features blogs, videos and online courses, she shares a great DIY syllabus that leverages multiple platforms and teachers to give access to just about anyone to the frontend engineering profession.
The guide proceeds from the foundations of HTML and CSS, through concepts on web accessibility and Javascript, to an introduction to APIs. The mix of blogs – written by Africans and others – and audiovisual content creates a sense of flexibility to learning.
Transitions from one section to another are mediated by a project to check comprehension, tracking progress by practice. But should learners start applying for jobs as they progress through the courses?
“I think it’s healthy to put yourself out there to see what the options are,” Aderinokun says to TechCabal.
Leshabane, a developer for PwC South Africa, echoes the sentiment. While YouTube was his go-to source, he never had the time just to focus on learning: “The best way to learn is to learn on the job.”
Some of the material in Aderinokun’s guide will take some time to digest for absolute beginners, especially those without relatable scientific backgrounds. What should they do when they hit a mental brick wall?
“Take a break! If I’ve really hit a brick wall, there’s no benefit to continuing because nothing will get done. Usually, some time away from the project will actually help me approach it in a different way when I do revisit it.”
While her advice is to start applying for jobs when one feels ready, the fear of rejection should not be a limitation.
“I’ve been rejected countless times, and yes it hurts, but you learn from the experience and you keep developing.”
André Atchori and Lucas Gompou, Ivory Coast
Atchori started by buying books and taking training courses on Udemy and Coursera. After reading the books and doing the exercises in them, he would visit Behance, a social media platform owned by Adobe for creatives.
“I found a website template posted and reproduced it. That was my challenge. and I’d post it for free on my Github,” he says.
Like his countryman Gompou, he’d learned some things at school but it was behind the times.
Unlike people in Anglophone countries, Gompou and Atchori had one extra hurdle: they needed to learn English.
“All the best books are in English, so i think it’s necessary to learn English to be a good Software developer,” Atchori says.
And so with a good grasp of English and with three years learning through books, he landed his first job. He now works remotely from the Ivory Coast for a company in Italy as a software developer.
If he had to do it all over again, he’d buy more books. YouTube, in his view, was good but “you won’t get too much detail even if there are YouTube channels that stand out from the rest.”
The books are deeper, he says.
But reading without practicing isn’t enough. To be truly competent, Achori advises learners to explore and attempt front-end coding challenges, like the CSS Battle online.
Bahati Robben, Rwanda
Robben’s break into software development was through Andela’s bootcamp. After an eight month stint there, he now works for One Acre Fund, a non-profit in Kenya.
But he was only able to get into those places by relying on YouTube tutorials, Udemy courses and W3Schools. These were his options because he was an undergrad at the time “without enough funds to pay for courses.”
In his view, good investments in time and some financial resources to get decent courses can put anyone on a path to a good junior frontend role in Rwandan companies like iRembo, AC Group, SPENN or one of the telcos.
For those who want the Youtube path, he recommends courses by Mosh Hamedani and Brad Traversy.
These “will give you the overview of what you need from setting up your development environment, to deploying an application,” Robben says.
But beware of ending up in the “tutorial hell” of always watching but with no practice.
“You learn by doing. Once you get the basics, attempt a real world project. This might be internships [including] unpaid internships,” Robben says.
In summary, teaching oneself to be a developer can be a rewarding experience but it takes personal dedication. Out of the many resources online, a lot are actually capable of disorienting the beginner.
But with a good guide, two years of practice can prove to be transformative. Hope this helps.