Sparkplug, what we have learnt so far.
Tags: code, javascript
Published: 2019-10-24 18:30:52

As an African Software Engineer, I have always thought about ways of solving problems in Africa, 3 years ago, I setup an experiment. The plan was to find young people interested in learning how to build things and solve problems using software by training and mentorship. I referred to this group as pluggers. 

The premise was simple, 
- Design a curriculum with productivity as a core component
- Look for a clear metric to measure interest
- Help the interested ones by mentoring and solving problems together
- Focus on problem solving as a deliberate art
- Mentor and Teach remotely 
- Expose Pluggers to real world projects  


**The Sparkplug Event.**
So I asked a group of friends for their old laptops. I gave them full context about my approach and January 2017, I went to Lagos with 20 laptops and introduced the first set of Pluggers to my experiment.  


![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/sf243tlw3mchv288xd73.jpg)


**The Sparkplug Hub**

So we set the ball rolling by teaching javascript, vanilla javascript, no frameworks, no libraries, pure javascript. We did this remotely using slack for communication. As time went on, we realized the group performed better in clusters and small cohesive groups, so I decided to rent a 4 bedroom house in Ife, Osun state, 15 minutes away from Obafemi Awolowo University... and we got to work

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/gu34f5h49in4srjgvtx1.png)

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/c2t8irb8685gd84dqgv5.jpeg)

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/07o58lajtstpx6p8aevz.png)


**Key Learnings**

- Rate of Assimilation has no correlation to how well you eventually grasp the material, in fact, in a situation where all learners are exposed to the same level of teaching and mentorship, the 'slower' learners had a stronger understanding of the core concepts of the material.

- Its very hard to kickstart interest, an uninterested learner can be toxic to the group. Alex lived in lagos and was part of the first group, he requested for accommodation in the hub because he felt he will learn faster. It's hard to teach that. 

- Project based learning works really well because it simulates the real problem solving scenarios as opposed to exclusively sticking to abstract concepts.  

- Familiar illustrations helps with driving the point home. The first time I introduced `map, filter and reduce` higher order functions to a particular group, I used the graphic below as an introduction. It just made sense before introducing any code. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/gscgvir9i79w3eb8x84o.png)

**Success Stories**

The success stories have been fulfilling to say the least, they validate my assumptions, time, effort and resources invested into this experiment. 


![](https://thepracticaldev.s3.amazonaws.com/i/0jirdhzxt8acqd6u40ev.jpeg)

Israel Adura was part of the first group I worked with, in fact, he was the first person to get to the Sparkplug event in Lagos even though he came from a different state (Osun State). He was invited to join an AI startup in London England as a Software Engineer after outperforming other applicants. The picture above was his first day with his team. Isreal led the efforts in setting up the first Sparkplug Hub in Ife and was a champion in mentoring other pluggers. 


![](https://thepracticaldev.s3.amazonaws.com/i/hmgxvrnybz2e4bi6yo10.jpeg)

Alex Nnakwe fits the typical Igbo stereotype, hungry to succeed and ready to make sacrifices that align with the path to success. He is currently a Software Engineer at a Big Data startup in Lagos (Terragon). He also mentors junior devs in Sparkplug in his free time. 


As I continue to learn about learning and teaching, the next phase feels right around the corner.