How To Get A Computer Science Degree in a Warzone

by Nate Berkopec (@nateberkopec)

Summary: An appeal to any Canadian readers or friends of mine to help one of our own: a young computer programmer fleeing the Syrian Civil War. (2580 words/12 minutes)

In June of 2016, I received an email:


The original email

Dear sir: I'm from Syria , expected to graduate this semester (Computer Science) , and as you sir my role model in Ruby also Rails , I need some advice about open source projects in Ruby to learn from. Thanks in advance and sorry if I waste your time

Actually, he wasn't just in Syria. He was at the University of Aleppo. His name was Mohammed.


Russian drone footage of Aleppo in February 2016. Mohammed: 'The damage now is much much bigger than this video.' Youtube

At this point, the Syrian Civil War had been raging in Aleppo for almost four years. One tenth of the total deaths of the war so far have happened in Aleppo. When Mohammed wrote this email in 2016, the tide was just starting to turn in favor of Assad's forces. You would be forgiven if, like me, you thought that life did not go on inside of a warzone, especially in a city where entire city blocks had been leveled to dust. But, it does - although life is hard, life goes on.


Aftermath of the 2013 Aleppo University bombing. Mohammed: 'When I saw the photo of the University bombing in the post I saw everything: I saw who did it, how he did it, the bodies, legs, arms, blood, glass, melted metal, I was there. My heart beat is getting faster and the inhales and exhales is disturbing my body better to close this thing.' NYTimes

The veil of ignorance had been stripped away. Here was someone my age, on the other side of the world, with the same interests as I do, but living in an actual warzone. He played video games with his friends, like I do, enjoyed programming in Ruby on Rails, like I do, but his university was being bombed.

Mohammed and I continued corresponding. He never asked for anything except advice, and that was all I gave (or really, could give).

In January of this year, Mohammed fled Syria and made it to Turkey, where he is officially a Syrian refugee.


Mohammed with his public key fingerprint. We both signed this post, see the end. Keybase

I'll turn it over to Mohammed to let him tell you his story. Mohammed's English is not bad, but I did heavily edit this section for readability and clarity.

Enter Mohammed

My name is Mohammed Elias Al-Hussein. I was born and raised in Qamishli, Syria. Qamishli is in northeastern Syria, right on the border with Turkey. Before the civil war, in 2011, about 200,000 people lived there. Since then, refugees from other cities and Iraq have grown the city to over 500,000 people. All of my family is still there: my Mom, Dad, 2 amazing brothers and 5 beautiful sisters.


Screenshot of Project I.G.I., released in 2000

When I was growing up, I got the dream to be a game developer after playing a game called Project I.G.I. As I got older, my passion and curiosity for technology grew stronger, and I read about webpages and HTML in secondary school. I was fascinated by the internet and how it worked. Throughout my studies with my focus on programming, I also grew fond of the Japanese culture.

When I was in the 11th grade, I remember watching a TV show about Japan. The show talked about Japanese culture, Japan's technology sector, as well as the anime and manga like Death Note and Detective Conan. This really fed my imagination. After all of this, I made a promise to complete my graduate studies in Japan.


In September 2010, I was accepted and attended the University of Aleppo for computer science (in Syria, we call it Informatics Engineering). In Syria, we have a high school final exam that's required to enter a university's corresponding field of study. At the time, University of Aleppo's minimum score was 92.8% to get accepted in their computer science program. I studied tediously for the exam, and earned a 94%! I was excited to attend college and study computer science and Japanese. I especially was looking forward to what the future had to bring.

In Syria, most programmers are trying to learn C# or ASP.net, with some PHP and Android. The curriculum at school was very old. It was put together in 2000 and had not been changed since. It didn't include any of the technologies I really wanted to learn, like Unity, iOS, Ruby or Node.js. The faculty tried to change the situation, but with no response from the University.

Most of the students had very old hardware. Only a handful had brand new laptops, some have older laptops or desktops. The school had some desktops from 2011.

In the spring of 2011, the Arab Spring spread to Syria. That summer, the civil war began.

Washington Post, April 2013: 'Kidnappings of ordinary Syrians are rising at an alarming rate, a stark sign of the spreading lawlessness in their country after two years of war.'

On January 15 2013, Aleppo University was bombed. 82 people were killed and 160 were injured. Shortly after, while travelling back to Al-Qamishli to my family, I was kidnapped by thugs. I was in captivity for 32 days, 7 hours and about 21 minutes. I know because I counted, second by second. The gang that kidnapped me released me after forcing my family to pay a ransom of about $12,000 USD. Well, this was my savings to travel to Japan, and since the Syrian Lira had inflated so much since the war started it was even worse.


NY Times, February 23 2013: 'Antigovernment activists in Syria said the military fired Scud missiles into at least three rebel-held districts of Aleppo on Friday, flattening dozens of houses, killing at least 12 civilians and burying perhaps dozens of others under piles of rubble.' Youtube video of the attack.

Aleppo was getting very bad at this time. There was no safe road to exit or enter Aleppo. In addition, if the faculty left or the university shut down, I would immediately be drafted into military service for the Assad regime. I started looking for ways to leave Syria. I emailed every foreign embassy on Earth to complete my undergraduate study. They all refused me because I did not have refugee status with the UNHCR.

I believe from 2013 to 2015 we had electricity 4 hours a week, except the first days of Eid al-Fitr and Eid al-Adha. There would usually be a cease fire at those times between Al-Assad's regime and The Free Army or any of the 22 other armies there. Almost every website was blocked. Even before the war, the fastest internet you could get was usally about 1Mbps. If you wanted more, you needed permission from the political security office, which was not a place you wanted to go. We have a saying in Arabic: "the person who enters is missed, and the one who exits that place is born." If you got involved with the political security office, people should just forget you ever existed. My friend's father was there for 11 years (1983-1994), and no one has any idea if he is still alive or not. That was before the revolution, now, it is worse.


Mohammed (center) with some faculty members of the University of Aleppo.

I started working in a dessert shop for 13 hours a day for 6 days a week for $70 US a month. I was thinking about trying to build my savings again so I could leave, but I knew it was crazy. I would need to work for 14 years at this rate. It was during this dark time that I understood that no one will care about you if you don't prove to them who you are and show them your soul as a fighter, dreamer - clever and ambitious. I felt like I was reborn as a programmer and self-learner. I feel like I proved to my teachers and supervisors at the University, too, that despite the circumstances with no fresh water, no food, no electricity and no internet I could be a world-class engineer.

At this time (2014) I was at the third of five years in my studies. I started learning Japanese in the Japanese Language Center at Aleppo University, which was in a bad state because of the situation in Aleppo. The Syrian Lira had inflated so much by this point that all of the faculty were basically volunteers.


Playstation with some friends after an exam.

The situation forced me to study for the university and work as a computer maintainer in Al-Jamelaiah, which is the "IT zone" of Aleppo. I started playing with Unity, a video game engine, but I couldn't finish a game. We only had 2 hours of electricity a day at this time, and we didn't even know when those 2 hours would be.

In the summer I got in touch with a friend in Turkey asking him about making real games. He told me to look at mobile development or web development instead, because my school wouldn't accept a video game as my final project. I eventually found Ruby and Rails, which I enjoyed very much. After a few months of struggling with little electricity and no internet, I found some online courses, read some books and a partner and I decided to build a social network with Rails.


Mohammed and friends from university

We struggled a lot to build the social network. For one three month period there wasn't any internet access in Aleppo at all. After that I reached my final year of studies. For my final project, we built a face recognition server using Ruby and OpenCV. We built the server with very poor hardware and without any fancy cameras or good processors, but it worked. After we finished the app the accuracy was about 81-84% due to poor processing power.

By the end of 2016, I finished 5 levels of Japanese, took a preparation course for the IELTS (a standardized test for English proficiency), and finished my Computer Science degree.


This was taken 5 hours before Mohammed left Aleppo.

In Syria, military service is compulsory for males over the age of 18 who are not in school. My exemption from service would expire after my graduation in March of 2017. I decided to leave Syria before that happened, before I could get caught by Assad's regime and turned into a cold-blood killer or to be killed by his mercenaries.

In December of 2016, I crossed the border to Turkey after a very tough journey. I spent a night on the Syrian-Turkish border, surrounded by rocket fire and bombs falling. The next day, after I had left, 22 died from rocket fire near where I slept. 3 weeks later, I got a job as a junior iOS developer in a small office in Istanbul. I work 50 hours per week for about $430 per month. After 5 months I moved to Bursa, a smaller and cheaper city than Istanbul, where I got another job in a more reliable office than the previous one for $500 per month.

Now, I am trying to immigrate to Canada. It is my dream to live somewhere peacefully with different races, cultures and religions. It is important to me that everyone is treated as a human being.


In front of the Hagia Sophia, Istanbul.

My name is Mohammed Elias Al-Hussein - let's explain it word by word: Mohammed, for Sunni Muslims, stands for the prophet Muhammad (pbuh). Elias is my father's name and in the Christian Syriac language (Syriac Aramaic) it means Elijah. Al-Hussein is for Husayn ibn Ali, grandson of Muhammad (pbuh), who is very important for Shia Muslims. My name has all the basic materials of Syrian society. I have promised my mom to name my son Sam to add the Jewish component to my name.

I have been wondering: what's the purpose of creating me and making me struggle to obtain even the most basic human rights? I believe the answer would be to fight and use my knowledge as engineer on behalf of the poor, the disabled, and the refugees all over the world. From the bottom of my heart, I want to make the world better place. I don't know where I will be after 5 years, but I'm going to tell you something: I will do my best to be a world-class engineer to help others. I'm taking Google's CEO position into consideration!

What's Next and How You Can Help


Trudeau's government, unlike my own, has been increasingly welcome to refugees from all parts of the world.

Hi, it's Nate again.

Mohammed is out of the frying pan, but he's not out of the fire yet. If you've been following the news, you know that Turkey's future is highly unstable. After some discussion, Mohammed thinks his best chance at a safe and steady life and career is to immigrate to Canada. Canada has an extensive refugee immigration program, and I know there are a lot of companies there that might want to help.

For a refugee who cannot return to their country due to civil war, there are a few conditions you have to meet before you can apply to immigrate to Canada:

In 2016, a temporary policy allowed private sponsors in Canada to refer refugees who did not have official refugee status with the UNCHR or a foreign state. Although this policy has expired, Mohammed still qualifies because he has official refugee status in Turkey.

  • "You must be outside your home country." Mohammed is in Turkey.
  • "You have been seriously affected by civil war or armed conflict" Hopefully obvious from the above.
  • "You will still need the UNHCR, a referral organization, or a private sponsorship group to refer you." The UNHCR protects refugees who are fleeing persecution based on their race, ethnicity or other status, which Mohammed is not (he's in the Member of the Country of Asylum class). He will need a private sponsor.

The reason why I've written this post is to help Mohammed find a private sponsor. In Canada, you can do that through two ways: by forming a Group of Five, private citizens and permanent residents of Canada who all live in the same city and pledge to help the refugee they sponsor to resettle in Canada. The second way is a Community Sponsor, which can be a corporation or community organization.

All private sponsorships entail financial and non-financial support, for the period of about a year or until Mohammed becomes self-sufficient. Since Mohammed is a junior computer programmer, hopefully that won't take very long. For more about what a sponsor has to do, check out Canada's official explanation of the role of a sponsor.

If you are a permanent resident of Canada (and, uh, haven't murdered anybody) and are interested in helping Mohammed resettle in Canada, please let Mohammed know by contacting him through this form.

If you are a Canadian corporation and want to help, you can contact Mohammed through this form. Mohammed has experience as a Ruby and iOS developer, and is currently working both at an iOS shop and with me on some Ruby projects. Here's his resume. I think he would be a great asset to any Canadian employer. However, your organization does not have to hire Mohammed to be his Community Sponsor.

In addition, if you live in any country whose immigration laws might allow someone like Mohammed immigrate, and you think you could help - please do get in contact.

Mohammed is active on Twitter and Github.

This blog post has been cryptographically signed by both myself and Mohammed. You may verify our signatures on Keybase. I also signed the commit on Github (repository here) for this blog post.

Want a faster website?

I'm Nate Berkopec (@nateberkopec). I write online about web performance from a full-stack developer's perspective. I primarily write about frontend performance and Ruby backends. If you liked this article and want to hear about the next one, click below. I don't spam - you'll receive about 1 email per week. It's all low-key, straight from me.

Now Available: The Complete Guide to Rails Performance

I've authored an in-depth course for making Ruby and Rails applications faster. The Complete Guide to Rails Performance is a full-stack course that gives you the tools to make Ruby on Rails applications faster, more scalable, and simpler to maintain. It includes a 361 page PDF and over 15 hours of video content.

Learn more at railsspeed.com.

More Posts

Do better, not best - transitioning to a growth mindset

On how setting goals like 'run a marathon' or 'write 1000 words per day' hurt me more than helped, and what I'm doing now instead.

Read more

2019 Year in Review

Here's what I did in 2019: my business doubled, made new friends, stretched myself and picked up some new habits.

Read more

On the packaging of ideas

The meta-content of an idea and how it is presented can have a big impact on how persuasive our ideas are to our intended audience

Read more

What does it mean to be a open-source project maintainer?

What does it actually mean to be a maintainer? Can you be a maintainer without commit privileges, and does having commit privileges automatically make you a maintainer?

Read more

I'm Glad I Failed In Front of Millions on Shark Tank

I appeared on Shark Tank, the American adaptation of the business-themed reality television show Dragon's Den, when I was 19. I've spent almost 10 years dealing with that experience and my perceptions of my own failure. Now, though, I'm glad I failed.

Read more

How I Made $220,033.50 Self-Publishing a Book About Ruby on Rails

A step-by-step walkthrough of how I made a nearly-full-time income from my Ruby on Rails course in 2016, and how it radically transformed my freelancing career.

Read more