Teaching Coding Skills in Developing Countries


This spring I enrolled in a CodePath mobile development course. The experience was remarkably positive and beyond what I had expected; so much so that I was inspired to share their curriculum with an unlikely audience: a group of 20 individuals in Haiti with little-to-no prior programming experience. I was born in Haiti and lived there until I left for college, and now I live and work in San Francisco. Having those two vastly different perspectives and experiences has made clear to me how underserved communities are not on equal footing when it comes to participating in opportunities created by the internet, even when they are able to passively access and engage with it.

CodePath provided access to their Android curriculum to launch the program this past summer. I chose the students from more than 150 applicants — most of whom were recruited through a Facebook ad — and I included a mix of high school and university students, as well as a handful of professionals. Carly Baja, a Haitian developer whom I coached on the CodePath Android material, taught the two-month class starting on July 4th. He spent 20 hours in class with the students every week to discuss the video lectures and offer guidance on the assignments. Saint-Louis de Gonzague, a high school in Port-au-Prince, was kind enough to allow us access to their computer room.

To ensure a reasonable course completion rate, we emphasized two key components: commitment and collaboration. One of the more challenging aspects of learning to code is the willingness to put in the hours it takes to attain proficiency. When first learning to code, it’s easy to feel discouraged and abandon a potential career in programming when struggling to understand key concepts or trying and failing to fix a bug for hours, especially if one lacks the support system to persevere. Within the first two weeks of our course, nine students dropped out or were asked to leave the program because they did not demonstrate the level of commitment required for the course. Paring down the class to only those who were willing to put in the time and effort allowed the remaining students to participate in an environment that encouraged favorable outcomes, and allowed us to make the most of our limited resources. In addition, we encouraged all students to collaborate by helping one another on projects and by creating an online discussion forum to share information and collaborate. Many of the students were unaccustomed to working in groups, but quickly came to understand the value of working collaboratively as it led to them progressing more quickly through the material.

We worked hard to understand and adapt to each student’s specific needs. Through student interviews prior to the class, we realized that many students lacked the infrastructure at home to complete homework on their own, so we provided ample time during the session for them to work on their assignments. Given the slow internet, which worked only intermittently, we downloaded all of the lecture videos and setup files ahead of time, and translated common terms for the students who were not native English speakers. The biggest challenge, however, was something far less obvious: most students lacked the inspiration and confidence to even believe they could become successful developers.

Most of us don’t realize that for many people, minorities in particular, the biggest barrier to success is the lack of conviction that they, too, can succeed in certain professional fields.

Over the years, I have observed that many minorities, including the people in this bootcamp, have never met nor even heard of a successful software engineer from a background similar to their own. Therefore, they seldom pursue these kinds of opportunities even when they are seen as desirable professions. In Haiti, computer science is not yet a well-known career path and there are not many visible role models in the industry. As a result, I spent a lot of time one-on-one with the applicants to share my personal story as well as the stories of those around me to inspire them to embrace a field that feels so very foreign and unattainable to them. Knowing others like them who have gone through a similar process helped inspire the confidence that they too could persevere through the most challenging parts of the course and find success. Unfortunately, I feel that coding bootcamps often fail to address these concerns for minorities and, as a result, both enrollment and completion rates are not where they ought to be for those underrepresented groups.

At the beginning I felt like an outsider because I was the youngest student and one of only 3 women in the class. My parents also told me I should do something more “attainable” instead. But I didn’t want to give up and after a while I fell in love with the subject!

— Sarah, high school student in the course

2015-08-28 17.25.32 like a boss

On the last day of the program, we organized a demo day and invited the students’ family and friends as well as key members of the community, including potential employers. The level of excitement we saw was unprecedented. A number of local companies, in dire need of developers, approached us to discuss internship opportunities.

Though the students have developed a strong foundation in Android as demonstrated by their projects, this experience is only the first step in a long journey ahead of them. We need to help them further their coding skills by giving them continued access to infrastructure — laptops, Android devices, internet, etc — mentorship as well as viable opportunities for work in the field. We also envision scaling up our program in order to reach more students in Haiti and one day hope to launch in other underrepresented countries as well.

The experience in Haiti further concretized the importance of leveraging the internet to empower all people, not just a small percentage of those for whom resources are never lacking.

It’s one thing to ‘connect’ the world with the internet, but it is a completely different and far more meaningful goal to provide everyone with the tools they need to participate in the global internet ecosystem.

A number of tech companies have invested resources in expanding their reach but have yet to give people around the world the tools necessary to solve their own problems and to become equal participants in an ever-changing technological world.