I was 25 when I lost 90 percent of my savings. My job in telecommunications was going great: I could see a clear career path ahead of me until hyperinflation hit South Sudan and there were mass lay-offs.
With only $600 to my name, I felt like I had lost everything.
I couldn’t stay in South Sudan but I had to do something. I considered starting a business, but I didn’t have enough money. So I moved to Kenya, bought a cheap laptop, installed Ubuntu (because that’s what I heard programmers do), and taught myself how to code.
Over the next 18 months, I left the house three or four times. It started as pure desperation. I read day and night. It was interesting but painfully difficult. Maybe it would have been different if I went to school and studied computer science for four years and had an internship, but I didn’t. It was just me and my laptop.
I learned HTML/CSS, then started building basic websites and Python-based messenger bots for Telegram and Facebook. When someone offered to pay me for a messenger bot, I didn’t believe them. “Are you sure you want to do that?” I asked. They did, and that was my first paid programming job.
That’s when I realized I could really do this.
Following the open source path to a new life
When you’re trying to learn by yourself and the solutions you’re looking for are closed, it’s tough. I taught myself how to code because of open source software. At first, I questioned the validity of published open source code. But now, when I’m building solutions and decide to keep them closed, I recognize this removes an opportunity for someone else. So most of my work is open source.
Encouraging other African developers to contribute to open source software development has been a challenge. In most cases, the monetary component of our OSS economic models is still undefined. For a continent with high unemployment rates and a large informal sector, this makes OSS development seem uninviting. As more Africans come online and interact with open source technologies, we can encourage involvement in three ways: access to learning materials, availability of jobs, and opportunities for more OSS conferences, workshops, and seminars.
Another way we can encourage adoption is by inviting other ecosystem stakeholders, like proprietary software development companies, to redefine their role in this space. Earlier this year, a customer wanted me to build an application to sell to insurance companies. I explained that I could build an open source version with a suite of customization options that they could charge for, and they loved it. They get customers who will pay for customization, and we attract more open source contributors.
For African developers, designing a contribution model that incorporates monetary compensation as one of the deferred benefits to being a contributor or maintainer will go a long way to increasing the number of developers in this space. If we can get more people to contribute to open source, we’ll discover better solutions in every industry. One person suggests a feature, another fixes a bug. It cascades. And the result is something far greater than what you started with.
Bringing the power of the internet to the user
At a conference in 2016, I heard Juan Benet, the founder of Protocol Labs, speak about the InterPlanetary File System (IPFS) and its mission to decentralize the web. I was drawn to his idea of a peer-to-peer hypermedia protocol synthesized from multiple systems (like DHTs, BitTorrent, Git, and SFS) into one cohesive system that evolves into the web itself, replacing its more commonly known centralized counterparts such as HTTP.
My firsthand experience with the failure of centralized systems led me to seek out solutions that minimize reliance on these systems. My life experiences lend themselves to a decentralized vision, one where people don’t have to live in fear of losing everything overnight. I cannot begin to explain how much I lost due to hyperinflation. I’ve since moved on from my losses—and now I can ensure that doesn’t happen to anyone else.
Since joining this space, I’ve worked with various companies and teams as a protocol developer and contributor to build decentralized systems and solutions that offer real value to different audiences and customers. I’ve contributed to various Protocol Labs initiatives, including IPFS and ProtoSchool.
As a passionate advocate of web decentralization, my motto “Knowing is not enough, we must apply” is deeply reflected in my work. It actually translates nicely into open source development as an inspirational call to action for programmers in other industries.
The perfect path isn’t always the obvious one
Formal education is important, but beyond that, your ability to build systems that work is what will attract users, companies, and other developers to your solutions. Employers are also beginning to realize we can build great things without that degree.
When I hit that huge, painful fork in the road when I was 25, I didn’t give up. I acted. I’m still kind of amazed. There are some things I could have done better, but I’m happy with where I am now. I actually love it. I talk to people who knew me before I was a developer, and they ask how I didn’t realize I’d be good at programming. And I ask myself the same question. It had never crossed my mind. I’d see friends coding and wonder what they were doing. And now I’m one of them.
My GitHub handle is @realChainLife, and it’s a daily reminder of how I came out of the other side of adversity stronger because of the chain links that surround me: both my family and eventually the open source community. “We must act” has the power to transform and make all of us better. Just think of the possibilities.