Dear Future Zuckerberg/ CTO/ Developer /Andelan,
Learning the craft of software development isn’t always easy, especially here in Africa and here’s why.
You decide you want to become a developer so you attend a University to learn programming. However, the hiccup is that you are taught by someone whose knowledge of Python is a snake (lol, okay yes they know the Python language) but they are gurus in FORTRAN and BASIC (I’m sure you don’t know these languages).Want to circumvent all that? Here’s the trick — an alternate universe that many experienced African developers have traveled to I call it DISTRIBUTED LEARNING.
Distributed Learning involves the different media people use to scale their learning. This leading set of media is giving the conventional learning styles (in-class, instructor-lead learning) a run for its money. So, what are these media and why are they important to the African dev space?
- Open Source Software (OSS): I call this leveraging others’ intellect. Open source is an approach to problem solving using different contextual lenses. It involves scaling using others standards without in-person meet-ups. Usually the proprietor or copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose. Problems are solved through collaboration using different learning experiences from developers across the globe. As a learner, contributing to open source projects allows experienced professionals critique your work and guide you through better ways to optimize your code through open collaboration. An example of a Nigerian developer who participates actively in open source development is Prosper Otemuyiwa, and we have all witnessed his passion for open source and its contribution to the growth of his career.
- Organisational Learning Programs: These are usually programs facilitated by experts within an organisation or a recognised body. These programs are usually stack-specific with the aim of upskilling participants in a particular stack, framework, or technology as the case may be. An example of this is Andela’s Android Learning Community program (ALC) supported byGoogle. The program is targeted at training Nigerians in the craft of Android development. Currently, Andela and Google are supporting almost 2000 people in taking the Udacity intermediate and beginner track of the Android Development nanodegree. They have successfully built a community of android learners and had their first meetup in which 700+ learners gathered in-person in 16 different states across Nigeria. Other examples are Flutterwave’s API development program.
- Online and Offline Content: These are learning materials that can be accessed either online via the internet or offline via manual data transfer. Examples of online content are the Massive Open Online Course (MOOC) platforms such as Udacity, Udemy, Code.org, Codecademy, Pluralsightetc. Offline content describes materials that can be accessed without the use of internet. They can either be mobile or dongles just like the popular Google offline dongles which contains a start to finish curriculum on android development.
- Predetermined Curriculum: These curriculums usually have set levels of minimum learning outcomes for all participants, where learning outcomes are tracked using checkpoints. Learners gain access to a Resource Library to upskill themselves. Each content in the resource library has a set of learning outcomes that a learner must fully grasp in order to complete the checkpoints. Examples of such curriculums is Andela’s Home Study curriculum which has 10 modules and multiple learning outcomes per module.
- Community Meetups + Workshops + Hackathons: A community is made up of people who come together based on their interests, service needs and networks. They might be members of formal and informal networks. Communities are inherently different from networking organizations in that communities are networks with shared ideals or demographics. People concentrate on building valuable relationships rather than using each other. Learning at a community event involves direct interaction with experienced professionals who facilitate sessions based on their experience, core competence and wealth of knowledge. Workshops show practical demonstration through Simulations or a live demonstration/walkthrough of a technology. Examples of community meetups include ForLoopNigeria, ForLoopKenya, GDG, Angular, Laravel, Rails, Women In Tech Makers, NexTech, Nairobi Innovation Week etc. Meetups foster a culture of continuing education and self-improvement.
So! When next you feel stuck and don’t know where to start from to learn something, try any of the above mediums and if one doesn’t work for you switch to another!
Please, do let me know how it goes. I can be found on Twitter.
About the Author
Babajide Duroshola is the Community Manager, Technical Talent at @andela_Nigeria. He is passionate about building the future of Africa through Distributed Learning.