cover image

Scratching my own itch with open source: Shalvah Adebayo

Share on:

The one thing I loved as a kid was reading. I read both academic and non-academic (also, TV wasn’t allowed during the school week). I was top in every subject, so I was never sure what I wanted to be in future. We eventually got a computer in my teens, and I fell in love with it (Microsoft Encarta 😍). I would tinker with the different programs on the computer, not knowing what I was doing.

Hello, I’m Shalvah. I am a Senior Backend Developer at Getsafe, a digital insurance company and a technical writer currently based in Germany. When I’m not coding (which is not often), I’m probably cycling, trying to get better at basketball, or studying.

To code or not to code

I started my programming journey after I met a kid at my secondary school who was showing off some basic programs. It got me interested, so I walked into a store one day and bought the first CD on programming I could find (which turned out to be some C++ videos), and I began practising. When I applied to university shortly after, I still wasn’t sure I wanted to do it full-time, so I chose to study Electronics Engineering while continuing to code on the side, In uni, I quickly realized I liked both, but very much wanted to code first. When I eventually quit school (for unrelated reasons), I knew that what I wanted to do full-time was code.

Getting into open source

I honestly don’t remember. I see that I created a GitHub account 2 years into coding, but I didn’t do much with it then. My first personal interaction with open source was as a consumer. There were several cases where I was unable to afford an app and found a great FOSS alternative. It gave me a great admiration for people who effectively give things away, and it tuned my mentality towards this way of building. I still use many open-source apps today, and I try to support them when I can (by contributing or donating).

A major challenge I had was resources. For the first four years, I barely had a working laptop. I coded with what I had available—my phone (J2ME, then Android) and broken laptops. It was also great that I was part of an awesome community, Devcenter Square, which, at one point, donated money to help me fix my laptop.

This was my first contribution to a “big” project. We were using a Yii package at work that was constantly timing out; I looked into it and found out it was making too many database queries, so I made a PR to change that. This feels ordinary now, but it was such a high going from “A package I use is broken” to “I understand why it’s broken, and I know how to fix it!”

I contribute to fewer projects than I’d like, but my main one right now (as a maintainer) is Scribe, a documentation tool for Laravel APIs. I’ve contributed to a few other popular projects, but I’ve not been able to do so regularly.

Meeting personal needs with solutions

My open-source projects listed on Made In Nigeria were created out of personal needs. I wasn’t looking to build something popular; I was just meeting a need I had and thought maybe a few others had, too. But even when building personal stuff, I default to openness.

For @this_vid, I just wanted a better way to watch videos on Twitter. The Twitter video player was so fucked up that I figured it was faster to download the video locally than wait for it to buffer. But of course, the download had to be quick, too. So I made a bot that would give you the download link for a video in seconds.

For @RemindMe_OfThis, I often wanted to be reminded of something, and it struck me that this functionality could also live within Twitter. So out came another bot.

I’ve had a great experience contributing to open-source projects. It’s altruistic (if you’re not being paid), but you also benefit. An open-source project is like a playground where you can try things out. If you’re in charge, you can do things however you wish; knowing it’s open source, though, reminds you that everything you do is out in the open, so it forces you to develop more responsible habits and be more accountable. Of course, it has its downsides, too, but, if you avoid getting overwhelmed, it’s a pretty wonderful experience.

Impacting people's lives

I’ve gotten several DMs and mentions from people who’ve used my bots. Most people leave comments about how they love the bots (and keep asking me to bring them back), and feature requests (which are not always doable). Then a few people propose business ideas or sponsorships. And though I don’t talk about them much, occasionally I do meet someone away from Twitter who has seen my bots in action. It’s pretty cool that this small thing was able to make so many people happy.

So much of the computer technology we use today would not be here without openness. Your device probably uses cURL and SQLite, this website is probably running on a Linux server with an Nginx or Apache webserver. Everyone benefits, even when they don’t know it. We have a responsibility to keep sharing.

I firmly believe that more openness and transparency benefit everyone, and I try to be that way in my personal life. I also think one of the ways we can make the world better is by sharing, and it doesn’t have to be something big. I believe a lot in freedom as a way of empowering people, and open source is a great instance of that (it’s one of the reasons why I love Android).

Learning through the flames of curiosity

I would encourage upcoming devs to read a lot. Fan the flames of your curiosity. Read PRs, issue discussions, blog posts, RFCs, other people’s code, and your old code. There’s a huge amount of content being put out there in the open; take advantage of it. You might not understand most of it, but ultimately you will get better, and then find that you’re able to contribute meaningfully as well. (Of course, there’s some nuance to it—structured learning is still necessary, and you have to watch out for misinformation, but reading is a big help.)

Open source was and is a big lever for my journey and growth. I like to follow along with the PRs and issues of my favourite OSS projects and they’ve taught me both technical and non-technical things—language skills, programming paradigms, useful tools, methodologies, technical design and architecture, project planning, and even communication skills. It’s also a free test you can take whenever you want, to gauge your growth (“Do I understand how this code in my favourite framework works? Can I follow this discussion?”)

Looking into the future

I am excited about nothing and everything in the tech space right now. A lot is going on, and if I look closely enough, any of these frontiers would be exciting. But what’s caught my eye most recently is IoT and its potential for improving the quality of our lives.


Connect with Shalvah on Twitter and GitHub

More stories

made in nigeria

A curation of awesome open source tools and projects built by Nigerian developers for the rest of the world.

githubtwitter

© 2023 Made in Nigeria