Under The Hoodie is a weekly series where we talk to people about their journey into tech. It focuses on the intersection between life and career. UTH Week 11.
Shalvah Adebayo is a 24-year-old part-time software developer with Honeybadger.io where he maintains open source libraries. He is also the creator of popular Twitter tools— @RemindMe_OfThis and @this_vid—that have been used millions of times. In this edition of Under The Hoodie, he talks about learning to build for many users, dealing with unfair hiring processes, and much more...
Hard to believe you’re just 24 with all the things you’ve achieved so far, you must have started early...
First off, I think people care a bit too much about age. There was a time when I was hung up on my age because I was typically the youngest in any cohort I was in. Now, I’ve stopped caring about it.
I got into tech in my final year of secondary school. There was a younger student who was a programmer, no one really knew what it meant at the time. Then one day he showed us an interactive console program that he had made. It was just a quiz application but it was so cool. I wanted to learn it, so on my way home, I went to a computer store to ask for programming discs. They gave me a couple of discs.
I watched a couple of the videos and liked them, then I realised I had to get the IDE to run the code, so I went back the next day to buy it. That was how I started writing C++. I think I was 15 then.
That’s a huge head start. Was that when you decided you were going to be a software developer?
Not really. I enjoyed it and thought I'd want to keep doing it, but I wasn't thinking in terms of a career. Thought I was going to be some kind of engineer [laughs].
A lot of my success has been down to hard work, opportunity, and luck. I went to the university shortly after I started coding, but my laptop got stolen before I resumed. So, when I resumed school, I initially didn’t code for a while. When I would get back to coding, it was with my phone. I coded with my phone for a couple of years.
Wait. You coded with your phone?! What was that like?
It was tough, but it was my only option, so I wasn’t complaining. I did C++, C, java, built a couple of android apps, and then started doing some HTML. I just enjoyed building things and trying to solve problems with code. I couldn’t stay away from it. Even when school wasn’t doing anything for me, code was all I had.
Did you have issues with school?
School was a complicated time for me. On one hand, I was a brilliant student, on the other hand, I hated school. To show you what I mean, I quit school in the fourth year of an Electronics Engineering degree at the University of Nigeria, Nsukka (UNN). When I left, I had a first-class CGPA.
I quit because I couldn’t take it anymore. I probably wouldn’t have graduated with a first-class anyways. I was passing courses, but I wasn’t attending classes.
I didn’t plan to quit school. When I got in, the culture shock was a lot for me to handle. I couldn’t understand why people were rushing to go to classes, why the classes were so crowded. We would have to stand by the door of the lecture theatre, so when the person with the key opened it, you could be pushed inside. Everything seemed to be designed to frustrate you.
It got worse every year. Practicals were the only things I could stand about school. Also, they required a minimum attendance, so I had to find a way to attend. But even those got worse with time. Then, I suffered from depression and anxiety and I would have panic attacks when I went around my department.
By the first semester of my fourth year, I was looking forward to the compulsory internship. I also knew that if I went to work somewhere as a developer, I wouldn’t come back to school.
Luckily for me, Konga had a hackathon around that time. I entered with some of my friends who had formed a team. We got to the finals, so we had to travel to Lagos for the event. It was during exams and I was going to miss an exam to attend it. I didn’t care, I went ahead to attend the hackathon.
Primarily, I wanted the grand prize of the hackathon, which was around N500,000. Unfortunately, we came second and didn’t get anything. But the Konga team told us that if we ever wanted to do an internship with them, they would consider us. At that time, I was also considering deferring a year of school.
By the time I got back to school, Konga had sent me an internship offer. I called them back to say I would be deferring for a year, and they said we could work it out. I went ahead to submit the deferment letter to my department.
After completing the deferment process, I started to think to myself that it was pointless. After all, the chances of me returning to school were next to none. So, I made it final; destroyed all my school-related documents to show myself it was final and left school for home.
You told your parents? How did they handle it?
They didn’t like it, but my Dad understood that it was my decision, and I had made up my mind. He was the one who helped my Mom get through it. It also helped that I wasn’t just dropping out of school. I had a job offer in hand, and skills that I could find a way with.
I stayed home for two weeks and left Port Harcourt—where I grew up— for Lagos. That was in 2017.
What was your first job at Konga like?
I was with Konga for eight months. Naturally, I started with the internship which was supposed to be for 6 months. The folks at Konga didn’t know that I had quit school initially. I told the HR person who gave me the offer. She didn’t agree with it, but she was supportive.
I had some anxiety over the uncertainty of what was going to happen when I was done with the internship. Also, I was over N100,000 in debt when I moved to Lagos. I had borrowed a lot of money for issues like my laptop screen which was always breaking then.
Luckily for me, Konga was a very good place then. I met a lot of fantastic people including Andrew, the current CEO of Deimos. Andrew was Head of Engineering then and I told him about my situation. He took an interest in me and tried to help me get a full-time position ahead of when I was done with my internship. There were two internship levels then—one for students, then another for post-NYSC grads called the cadet training. I was on the student internship, but I was already performing at the level of the cadets. So, the arrangement was that I would do a 3-month student internship and complete my 6-month stay by doing 3 months of cadet training. After that, I would be better-poised for a job.
That arrangement helped put a rest to some of the uncertainty. First because as a cadet I earned significantly more than a student intern. Second because it gave me something to look forward to after the internship.
Unfortunately, it wouldn’t work out. Towards the end of my cadet tenure, things started getting weird at Konga, and there were discussions about an acquisition. Internally, we knew there were going to be layoffs. Internal communications were off, very unlike the company culture. Then for our cadet training, they decided to extend it, instead of offering us full-time contracts. They just announced that the training had been extended one day with no prior discussions. It was a shitty move, so most of us started to plan our exit.
Eventually, they laid off a couple of people. I wasn’t laid off, but my mind was made up to leave. They later tried to make me stay by giving me an offer but it was too late.
Where’d you leave Konga for?
I first left for NQLB which was run by a former Konga employee. Before I applied, someone had referred me, and I didn’t even know.
I worked there for about a year, then I left. I didn’t have another job at the time, so I took time off for myself. I liked the job, but I didn’t like the direction of the work then. I didn’t feel like I was growing anymore.
Shortly after I left there, I joined Deimos. I spent nearly two years at Deimos. The work was great, they care about their people. It also got me a lot of useful experience. I got to explore other areas of software development that I might not have been exposed to until much later in my career. There, I got promoted to Senior Software Engineer. It was a lot more responsibility. It wasn’t perfect but Andrew was open to feedback. You could point out things you thought could be better. Eventually, I left because I was trying to find a new adventure in tech.
When did you decide to build tools for Twitter and the public?
Most of the tools I have built came out of challenges I have faced. Back then, Twitter’s video playback was very annoying, it would buffer a lot before playing. So, it made sense for me to just download any video I wanted to watch instead of streaming it on Twitter.
The same thing happened with @RemindMe_OfThis I would want to be able to recall certain tweets at specific times.
How did it feel to have people adopt your tools in their thousands?
It felt really good. I enjoyed it, but it came with its own challenges. First off, a lot of people started to follow me on social media, which is not something I enjoy. Then it came with plagiarisers, and scammers.
Since the code for the tools are open-source, some people copy it line for line and launch their own Twitter clones. I would initially point out to people that those were the wrong handles, but my efforts were limited. On the plus side, it helped inspire a generation of Twitter video download bots, which is good because of Twitter’s limits.
In all, it taught me how to build stuff for many users. I had to make many changes to my initial architecture to handle the user base. For example, Twitter’s reply limits meant I had to create an external website and add push notifications, API limits meant I had to do a lot of caching, etc.
One incident was when I launched the /open page on @this_vid. At first, the page would fetch and calculate the stats fresh for each visitor. When I launched it, it immediately crashed, because too many people were visiting.😅 I immediately realized my stupidity and fixed it to calculate the stats ahead of time, and only display when you visit.
Did you get any negative experiences because of what you built?
Well, people are weird, so that’s bound to happen but it’s not anything I can’t handle. There was however one incident that stuck.
There are dark corners of Twitter where genuinely hideous things happen. One day I received an email from AWS that there was child porn on the website of @/thisvid. Normally, it shouldn’t be my problem since I don’t create the content. I don’t even host the videos, I just link to them on Twitter. But it was going to be difficult to explain. So, I had to fix it myself by blocking the errant users from the social media handle.
I remember coming across one of your tweets where you mentioned your challenges with finding a job. What was that about?
After I left Deimos, I took a break for a couple of months to work on some of my personal projects and just relax. When I decided to get back into the job market, it was brutal. Nothing right was happening for me.
The thing is: hiring is complicated. On the side of the employer, they’re looking for people who are a good fit for them so, they set up signals. It doesn’t matter that these signals are wrong and exclude a lot of people. But that’s what they feel works best for them, and that’s how they’ll hire.
Some employers are looking for a degree—obviously that would exclude people like me; there are those who use automated bots to scan your CV—I don’t even have words for those ones; others were looking for years of experience.
A lot of times, it felt like I wasn’t up to what they wanted. Maybe it was something in my CV presentation. There was also the issue of location; I applied for certain remote gigs which turned out not to hire from certain regions. I don’t know what really happened, but nothing worked out in that period. It was painful and disappointing. There were jobs I would see and they felt like the perfect fit, but I wouldn’t even get to the interview stage.
It was so crazy that people would recommend me for roles in their companies, and I would get rejected before the interview stage. I only made it to two or three interviews in that time.
That sounds brutal...
To be clear, it’s not like I didn’t get any offers. I did get offers, but they were from companies I didn’t want to work with. In one place I interviewed at they had this time tracking policy where you had to be at your desk for 90% of your work hours even if you had finished your tasks. I backed out after the interview. A few Nigerian companies also reached out, but I didn’t want to work for them because I was tired of solving problems for Nigerians.
Beyond that, it was a ton of applications and rejections. I kept trying to reinvent my strategy, but none of them worked. I tried cold emailing, improving my cover letter, referrals etc. nothing really stuck, although my cover letter now looks pretty good
The hoops that employers make you jump through to prove yourself to them suck.
How did you break out of the rut?
I randomly came across the opening—they were looking for someone part-time to work for them. I thought it was right up my alley, so I applied, they liked it, we agreed and shook hands. So, now, I work for them when I can.
When you can?
Yes, there are no real requirements, so I work when I can. I only get paid for the hours that I work, so I get to decide my work hours and all.
It’s a great arrangement, I can work half the hours I did at my previous job, and still get paid about the same amount or more. Some months, I can take it easy.
That’s cool. What’s the future for you like? Do you plan on starting a company? Or do you want to leave the country?
No, I don’t want to start a company. I went through the startup phase in university, but right now it doesn’t interest me. I’m not interested in going into management either. I’m a builder, not a founder. I want to code and build stuff.
Do I plan to leave Nigeria? Yes, but I still haven’t decided when yet. Uprooting your life and going somewhere else is quite difficult for someone like me who has social anxiety. I find it difficult to make friends or relate with the people around me here. Adding culture and language barriers to the mix could make things more complicated. So, it’s not an easy decision for me.
Beyond that, I don’t really know what the future holds. What I want to do is build useful products. I want to be a part of a company where I can take charge and be responsible for a product. It was one of the reasons I left Deimos. I love building dev tools, and other products that are useful to people.
Oh, and I don’t join startups or new companies. I’m not at that point in my life. Maybe in 20 years or so [laughs]