Skip to content
Get 30+ hours of free content from GitHub Universe! Watch now.
Sonia John

Me, my computer, and the will to act

Sonia’s journey from self-taught coder to decentralized web advocate.

Sonia John // @realChainLife

Hello, I’m Sonia✨! I am a blockchain developer 👾, writer, and speaker. I’m passionate about the decentralized web and all the endless possibilities within it! I believe that it is not enough to know and be willing—we must act. 💻

The ReadME Project amplifies the voices of the open source community: the maintainers, developers, and teams whose contributions move the world forward every day.

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.

Photo of Sonia John working on a laptop with a GitHub Universe 'Speaker' badge around their wrist.

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.

Photo of Sonia John smiling in front of a GitHub Universe backdrop. The pink graphics matches their pink jacket.

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.

About The
ReadME Project

Coding is usually seen as a solitary activity, but it’s actually the world’s largest community effort led by open source maintainers, contributors, and teams. These unsung heroes put in long hours to build software, fix issues, field questions, and manage communities.

The ReadME Project is part of GitHub’s ongoing effort to amplify the voices of the developer community. It’s an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source.

Follow us:

Nominate a developer

Nominate inspiring developers and projects you think we should feature in The ReadME Project.

Support the community

Recognize developers working behind the scenes and help open source projects get the resources they need.

Thank you! for subscribing