Growing up in Yemen, it was very difficult to get internet access, which made it nearly impossible to learn how to code. When I was 11, the only way for me to learn was to go to an expo held at the end of the school year and hope they had software engineering books. The one thing I found was a pack of three CDs that taught me Visual Basic.
It was my treasure, and I memorized the whole thing. Like everyone else, my first project was a Hello World project, but I added a twist: It said, “Hello World, Marhaba,” which means hello in Arabic. I was so amazed, and made sure to show every single person I knew what I’d done.
Then my father, who was a financial manager, told me he was going to pay someone to code a feature for him. But I said, “I’m your son! How about you pay me?” So he gave me all this data in a Microsoft Access file, and said he wanted his reports in a tree view. It took me a month, but I did it, and my father became my first client. That was the first $100 I made.
Trying to learn without 24/7 electricity and during a civil war
I focused on high school until I graduated in 2011, and then I went back to coding. Because of the Yemeni Civil War, we kept moving from city to city and our whole lives were rooted in uncertainty. I couldn’t go to university, but I could apply to scholarships online. I applied to so many schools. Too many to count. There was one class in IT available at the International University of Technology Twintech (IUTT), but never computer science.
There were new technologies, so I started working in C++, but there was still no good place to learn. This time, however, I did have the internet, so I could use YouTube. This really opened up a new world of possibilities for me, and I started reading about version control systems and discovered GitHub.
In 2015, we moved to the city of Aden. I didn’t have internet access at my house, so I made a deal with this guy at an internet café. He would allow me to use his internet all day so I could learn web development, and in return, I would help him download movies. It was a good deal, and the movies helped him attract more customers. I used to stay for up to 10 hours a day teaching myself how to code: At 10 hours a day, for 30 days, that’s 300 hours of internet, which would have been a lot of money for me. I did what I had to do to learn!
Living in Aden was quite stressful because electricity was not available 24/7. In the summer of 2016, it would work for maybe 20 minutes, then go out for six hours. That summer, thankfully, we moved back to Sanaa. And in 2017, I found a computer science program at IUTT, and finally started my formal education.
From learning alone to finding an equally passionate community
In 2018, I discovered Re:Coded, which started in Turkey. They had been holding coding bootcamps in Turkey and Iraq, and were testing a pilot program in Yemen that year. It was a free bootcamp with a five-month course in HTML, CSS, JavaScript, and React. I’d never heard of React, but I applied anyway and got in!
Up until this point, I was basically on an island trying to figure everything out. I’d been coding and learning alone, which means I didn’t know a single developer in real life. I had studied at IUTT for three months, but I needed more. Finally, at Re:Coded, for the first time, I got to work with other developers who shared my passion for code. They were working hard to learn—something I could relate to. They would compete in hackathons, complete coding challenges, the whole thing. Even if they didn’t know everything about coding yet, I could see the passion.
When I graduated from the bootcamp, one of my Re:Coded instructors hired me at his startup. There were only four of us: the CEO, the CTO, me, and another friend from Re:Coded. The first project was with Android, and was a major shift compared to everything I’d worked on so far. Even though the project never saw the light of day, it was one of the greatest projects I’ve ever worked on.
In 2019, I started working full-time at Black Gem, and part-time as a bootcamp trainer at Re:Coded. The greatest thing about programming is that it keeps you humble. No matter how much you know, there’s someone who knows more than you. This made me want to both keep learning, and pass along the knowledge I had worked so hard for—which I did by teaching at Yemen’s second bootcamp.
The daunting pandemic has a silver lining
Before 2020, there was no such a thing as coding from home here in Yemen. The internet is so unpredictable across the country, that if you try to code and it goes off, it’s a huge demotivator. So when the pandemic happened, we were so scared. The fear was three-fold: First, we thought, “We’re going to lose our jobs. That’s a given.” Second, we thought “We aren’t going to be able to teach the Re:Coded bootcamp.” And third, which was more personal for me: I thought, “I’m not going to be able to finish my degree.”
Amazingly, things actually worked out better than we could have ever anticipated. Using GitHub meant we could work from home. I didn’t lose my job or endanger myself or my family. In fact, we all worked even more efficiently this way. At the office, we joke together, talk, take an hour or more for lunch. But at home, I was able to focus on the code.
On top of this, in 2020, the major pipelines that bring the high-speed internet to Yemen were attacked three times, taking down 60% of the internet. People were screaming, “We’re doomed! We’re not going to be able to work! Nothing’s going to happen!” But again, things went so well with our work because of the tools that enabled us to keep coding, we just doubled down.
Working from home was so successful that we started talking about holding the bootcamp online. Since GitHub CLI was added, it meant that we could manage projects right from within GitHub because everything was in our terminal. To send an assignment, I would just share the link from GitHub Classroom. When students were ready for me to look, they would submit a pull request, which I could check directly from my terminal without needing to open the website.
We tried to do as much as possible in the morning, when the internet was better. This generally went well, except for some students who also had university classes during this time. But as long as they got the work done, it was OK with us. And they all successfully graduated from the bootcamp in the winter of 2020!
I’ll also be graduating soon, and I can’t wait! Learning how to code with no clear educational options, amidst war, and without consistent internet access has been rough, but it was more than worth it. I’m also excited to stopping worry about how to find an education, and refocus my energy on a new project: In September 2020, I left Black Gem and founded a startup with a friend of mine. We named it Tektonic Labs because we want there to be a tectonic shift in the tech community in Yemen.
Yemeni tech companies are quite traditional, and nothing like Silicon Valley, where things are more open and you can easily give and receive feedback: The tech community in Yemen is only beginning its journey. I want to help pave the path and make it easier than it was for me to learn. Everyone deserves an accessible, open and rewarding education experience that is only challenging in its hackathons and coding prompts—not the actual logistics of how to learn. Our aspiring youth deserve it.