Story of a developer, from Iran 🇮🇷 to Europe 🇪🇺 (+ open source story)

This is a talk I gave at WEBDeLDN meetup on December 12th, 2017 which I am proud of and it was literally my first speaking experience at a meetup and in English! This meetup is fantastic!

WEBDeLDN 13, 12 Dec


This is my story, the story of how a developer from Iran met the open source community and made lots of great friends. I wanted to break the boundaries of nations and make my way to a lovely job, and I did it!

I’ll show you how the tech scene looks like in Iran and will discuss all the questions you might have in your head — the answer is not what you think!

In case you want me presenting it for you, just watch this video, it’s 20 minutes long:

I pushed the slides to Netlify so you can see them here. There are lots of photos in it so you need to wait for them to load :)

Intro — Who am I?

Hey! How are y’all feeling now? I’m Mohammad, currently living in Iran. I’m currently part-time open source engineer at Graphcool.

Facts: I never crossed the border physically but as you can see now, I was in various countries virtually so far. I worked as a freelancer for 5 years, had paid Android apps in our local market and started 2 startups in the last 2 years. I was born on November 1st, 2000.

Our startup featured in Iran Startup Magazine (The online article)

Goals — What are you going to achieve

Why I’m giving this talk and what are you going to gain from it?

Well, I’ll give you an understanding of Iran tech scene and how it looks like. After my talk, you’d know how you can bypass your limitations and some tips to do really better in your career. Either it is learning new things, getting a job or being a better developer.

I’m gonna tell you my story and during that I’ll highlight what I learnt.

What were the problems?

To be honest my motivation for starting to do things to make me a really better developer, was to move from Iran to another country. That involved getting a job to make the necessary money. There are a couple of reasons for moving.

For years since even before my teenage, I worked here in different fields, as freelancer doing web, mobile and IoT projects, or as a startup founder. I was enjoying this journey until there were limitations which blocked me and I simply hated those.

Question for you: What are the limitations? Or better to say, what problems do you think a 16 y/o developer in Iran living with his parents might have?

  1. School
  2. Parents
  3. Limitations in Iran

Do what you love, don’t live for others

I went to school and worked at the same time and kept all my marks straight-A. I really believe you don’t need to repeat what others do normally and you should think about what’s best for you, what do YOU love. It’s not gonna be easy, since you’re not normal anymore. You know.

So I said to myself: “If you don’t convince your parents now for what you love, you’re gonna regret today 20 years from now.”

Then I prepared a plan in my head to eliminate all of my 3 main problems.

Let’s start with “School and parents”

9 months ago I finally convinced my parents to drop out of the damn high school and it was SO hard. So many tears and nightmares I experienced, but it was worth it. It was worth it. You need to fight for your future, sometimes alone when no one believes in that.

Biggest limitation: Iran — Limited from outside and inside

Being in Iran was both good and bad, I like our culture but for some reasons beyond the scope of this talk, Iran’s success is not something some powerful countries want.

Some of things you may never felt someone might not have access to them are these limitations:

  • 💳 No global payments — we can’t pay or accept money with credit card or PayPal for international services, we’re banned from outside. So every paid service is almost inaccessible from Iran — I personally have PayPal from UAE (not to mention how I got it) and I must use VPN to access it.
  • 📦 No access to Amazon and alike
  • 🔐 A majority of services are not usable for Iranians (mostly US-based ones) — e.g. Google dev docs
  • ✈️ Visa problems — probably this is not something you experienced but for a country like Germany we should get an appointment for an interview at embassy from at least 3 months before! Leave alone the processing time (you know we need special checks).
  • ❌ Filtered internet — It was initially started for another purpose but eventually became a tool for government to eliminate apps or sites they claim they’re not appropriate.

Just recently, Slideshare got filtered too!

Anyway banned services and filtering services, made opportunities for local founders to make alternative local copies for Iranians.

Iran — But a promising tech scene trying to improve itself

Over the recent years, the tech scene evolved a lot and there are huge Iranian startups now. Recently our own local version of Amazon (Digikala) raised $100M from a dutch VC (not sure if it was a VC though). That’s good news. Our biggest startup, however, is the local version of Uber (Snapp).

Although Apple removed their iOS app from the App Store and the interesting thing is they prepared the PWA web app in a week for users. Great job. We are used to these things here.

There are women in tech here too!
Cafe Bazaar team and office

Government started to make the tech scene better for startups but it’s way behind and Iran will need another decade to fully catch up in my opinion. People are being more informed and aware of their rights in terms of internet and technology.

Due to problems mentioned above, we are behind the west world in local engineering talent and innovation, but it’s promising. I myself tried to make my friends and Iranian devs more and more aware of latest tech happening overseas. Even my ex-classmates started development too.

These days there are meetups and conferences happening, but the number is not even near those in Europe. People meet and exchange ideas, they find clients and sometimes hire. Big startups sponsor events but they’re not as concerned as global unicorns in hiring.

I lived in a town far away from the capital, Tehran. There weren’t and there aren’t any meet-ups here in the town (and most other towns) but in the capital there’s certainly more buzz. I learnt web dev from books and in DreamWeever.

Less than 6 months to get a job

For moving to Europe to eliminate Iran limitations too, I needed a job to make the necessary money or get my visa. With some searching and reading, I initially found these the most important things that are needed to get a job:

  1. Learn everyday
  2. Meet lots of people
  3. Github‘s contribution graph is the new resume

I started reading tutorials and watching videos everyday. But I couldn’t meet people so ignore it for now. I had my Github account, for posting issues once in a while. So my Github wasn’t so active.

Question for you: Alright, imagine you need to take your career a step further, and get a better job in no more than 6 months. What would be the thing you’d do to achieve all of the above at once? The best and the fastest way?

Me on Github

I wanted my contribution graph on my Github profile, shine and be all green so everyday I planned to do at least 1 commit or make an issue/PR so the square would be green.

You can see I started around June

After some time I suddenly was contributing to some awesome projects like ts-jest package with 400 stars on Github. I published styled-media-query and it got near 300 stars. I was getting lots of retweets when tweeted my first serious open source library. It tasted so good, I liked it!

Max invited me and Sara Vieira to the team

Soon after I joined the Styled Components team for helping with the website. Most people were so nice and welcoming that made me love this world. I made lots of friends including Phil, Max and Sara. He uses lots of emoji in Github and I love that!

This was the moment I realized open source is not about your contribution graph on Github, it’s about learning and people.

Andrew Clark part of the React core team @ Facebook

They are about giving away, helping others, and paying forward. Twitter is about people too. That’s the best way you can boost your career, learn a lot, and make nice friends.

On top of that, It’s a practice to train all kind of skills you’d need in your career, for example communication.

Phil is part of the Styled Components’ core team. Phil (if you’re here) as someone who is actively involved in the open source, confirmed this.

What was special about this for me?

On top of both learning and making job opportunities for yourself, there was one awesome thing about it for me. I didn’t have access to global conferences, but I had access to something more powerful, for free. And that was open source.

In this strange world almost no one asks you about your nationality, age or these sorta stuff, they don’t judge you based on that. That was how I broke the boundaries of nations. Tehran was not so far away from SF this time, no border control, no one thought I’m a terrorist. Yes, that’s sad in the real world as long as you hold an Iranian passport for example, but not here, it’s way different.

Alright, how to contribute to open source?

Lots of developers ask frequently “How do I create my first open source project?”. As Max Stoiber mentioned in his short and sweet blog post, the open source aspect is a byproduct of the actual thing you do every single day: solving problems.

  1. Solve your own damn problems
  2. No downside

The worst thing that can happen by pushing something to GitHub is that you’ve now solved your own problem and nobody else uses your solution. So what, who cares? You’ve solved your problem, and next time you have it again, you can fall back to your ready-made solution.

On top of that, you maybe learned something new or trained your refactoring skills and thought about API design to make it usable for users. As I said there are a lot of skills involved in doing open source work.

A book that helped me a lot

The Complete Software Developers’ Career Guide is written by John Sonmez, an experienced developer and writer.

These are the 5 chapters of the book:

  • Getting Started as a Software Developer
  • Getting a Job
  • What You Need to Know About Software Development
  • Working as a Developer
  • Advancing Your Career

It covers every stage you might be in your career and you’ll never find it boring. Once you picked it up, you can’t put it down!

This development industry is sometimes tricky and complicated. This book helps you to understand it better. For example I never had a PDF resume, and I got my job in Slack!


My next step is to actually move to Europe for reasons I told you before. The tech scene here is promising but I don’t have enough time and energy to fight here, maybe I’ll come back later but my life is limited, so I have to physically cross the border for good.

For the following years, I want to build my own products and make a friendly startup team.

I’m addicted to open source and I’ll continue to open source as much as I can. I’ll continue to make new friends and every new relationship is a whole new world for me.

After moving, the first thing I would do there is to get a fucking credit card and enjoy accepting and even paying money on the web :)

Take my money!

that seems like a ridiculous dream. Also, I’ll come to London and will hopefully give a real talk this time at this awesome meet up.

You are my new friends

Don’t look at my face down there, thanks!

Come and chat with me, send me photos of your dinner, cats, codes, or share your first open source project with me! I’ll star and share it on my Twitter. By the way, I’m a maker of things so share any idea with me, happy to hear them.

I’m @morajabi on Twitter and Github. I have a blog too.

Thank you!

First thank you for listening to my story, hope it wasn’t just my story and you gained something from it, that was my only goal. Then I want to thank the organizers and specially Cristiano for inviting me to speak here. Thank you my friends for coming and helping me. These folks helped me so much, and I’m in touch with them (these are in no particular order):

  1. Josh Comeau (He helped me on Github a lot too)
  2. Sara Vieira (My super friend, thanks for your support)
  3. Max Stoiber (You inspire so many folks and thanks for answering my messages)
  4. Andreas Klinger (You care about people a lot, thank you)
  5. Nilan Marktanner (My awesome friend, working @ Graphcool)
  6. Johannes Schickling (Founder & CEO @ Graphcool)
  7. Kent C. Dodds (You answered my questions and helped me when I know you were so busy)
  8. Oliver Turner (Thank you for your support and messages Oliver, keep in touch!)
  9. Phil Pluckthun (He’s so nice, certainly one of my best friends)
  10. Behnam Rajabifard — My brother (He taught me HTML for the first time and kept me updated, thank you my companion, looking forward to next stages in our lives)

I’m sure there are others which I haven’t put their names here, anyway forgive me and thank you all!

Feedbacks — Beyond my expectations 😍

And so much more! My new friends are amazing 💫 Lucky me! 👊

Thanks to Zac’s awesome live demo, I travelled to London:

My selfie before the talk is printed in London! I will pick it up once I moved :)

Anyone who read this can be my friend, looking forward to your messages on Twitter and here. 💖🤞

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.