Why software engineers are leaving Morocco

In 2018, between 50 to 100 software engineers left Morocco every month, usually for France. While Morocco is proud of this achievement, as it shows his good education system, there is something we need to ask ourselves: Why?

I’ve worked in the Moroccan software industry for nearly 2 years before quitting. These years were more than enough for me to raise some red flags. Especially if you’re open to the international market and know what happens elsewhere.

I don’t consider myself an expert. But I’ll present my point of view from my own experience and the people I’m hanging up with (usually engineers, with 2 – 5 years of experience). This is general feedback and represents what happens in 90% of the cases. I do know that there are some good companies out there, but let’s talk about the majority:

Salaries

We can summarize the problem by:

If you’re a software engineer, or an engineer in general, and you can not afford to rent a place on your own, and you live from paycheck to paycheck. Then there is something wrong.

Here is a problem: 90% of jobs are based in Rabat and Casablanca. And speaking about my experience in Casablanca, if you want to rent a home for yourself, in a nice neighborhood, you need to spend at least 40-50% of your salary. Add to this groceries and leisures. And you’re living from paycheck to paycheck. Want to do some savings? Not that easy.

Casablanca’s prices compared to the rest of Morocco, are like San Francisco’s prices compared to the rest of the USA. The difference is: Casablanca’s salaries don’t match those of San Francisco.

When a French company approaches a Moroccan engineer. It provides a good salary (usually 2 to 3 times what you can get in Morocco). Also, it takes care of all paperwork for you, providing housing for at least a month, and helping you find rent once there! All this and you still think someone will say, no thanks, I want to stay here? Wrong! Because, even with the difference in living costs, you can still live better and do some savings.

Why these low salaries you ask? I think part of it is because Morocco sells itself to investors, as having cheap labor. So big companies coming here are expecting to find cheap labor. Big companies like Renault, Yazaki, Capgemini, and others aren’t coming to Morocco because we are cute. It’s because we are cheap. That’s the business model. And that’s why they aren’t willing to raise salaries. Also, for them, there are always people willing to work for a low salary until they find something better. And they are taking advantage of those. For them, they always search for people who can fill a post for few months and then hire another one after they depart. No wonder they have a lot of HR people.

Experience

I share my experience working for an international company vs working for a Moroccan one on the mailing list. Subscribe to get this information in your email:

Learn how to get a remote job with our FREE e-book.

  • How to analyze job postings to get useful data
  • How to develop the required skills for a remote position
  • How to market yourself online prior to applying
  • How to apply for remote jobs and show you can work remotely
  • cheat sheet of the process you can keep at reach 🙂
  • A list of useful apps and resources you can use in your journey

In Morocco, as a software engineer, you have two options: 1. You work for a big software company. 2. You work in the IT department of some company, public sector, etc.

If you chose the later, you’ll get small to no real experience in software engineering. The more you spend there, the more time you lose!

Now let’s talk about the former:

The software companies we have in general are some big brands offshoring their work. And the magic word here is offshoring. This basically means you have a set of repetitive work you need to do every day/week, or some tickets assigned to you to work on.

The process of creating these tickets looks like this:

  • Some people on the top (you usually hear their names in wide company emails) decide to do X for some reason A
  • The IT department is assigned to do the technical part of X. Let’s call it X-IT
  • Some people, you don’t know probably, prepare the architecture of X-IT
  • Managers start picking parts of the architecture in order to work on it depending on their team’s skills. Let’s take a part and call it X-IT-1 for example
  • The manager start decoupling it to small pieces. If you’re lucky enough, you’ll take your tasks from the manager. Otherwise, there is someone between you and the manager. Usually called a team lead. So your team lead take a chunk of that work, let’s call it X-IT-1- 1
  • Your team lead get the chunk into smaller pieces too. And suddenly, a morning you get assigned a new ticket, it’s X-IT-1-1-1 (or if you work with a manager directly, it’s X-IT-1-1)

That’s it, you ended up with a ticket assigned to you. Probably in Jira.

You’ll be lucky to know what’s the whole project (X). And extra lucky to know the reason why we did it in the first place (A). And extra extra lucky to know why we used that architecture!

All this to say, you’ll gain small experience in the software engineering process. Software engineering is not taking a ticket, debugging a problem, and fixing it. Software engineering is taking an idea and implement it using code. And in this process of transforming an idea into a product, you’ll pass by different stages: architecture, design, user experience, how you interact with other systems, security… Coding things is actually the last step in the system.

You’ll tell me:

If I spend some years, I can be a team lead. Then after some, a manager. So then I can know how all these things work.

Well, you’re correct. But let me tell you:

If you’re ready to spend 7-10 years working on something you don’t know hoping that someday you’ll understand how things work. Then good luck, but I’m not. Especially when I know I can get that knowledge elsewhere without losing all that time.

The hiring process

You know those people on radio stations who talk about some nonsense, like how vegetables can cure cancer, but your mother still believes them because they are doctors from a french school? Yeah, we have the same stereotype in the hiring process, it’s called: Anyone, with a french diploma, is worth more. And it’s deep in our minds.

I’ve seen freshly graduated people from french schools getting accepted at jobs in Morocco while other experienced Moroccan candidates, asking for the same salary, if not less, getting rejected.

“We’ll go for a master, work some years there then come back, because we’ll be worth more” Is what a lot of people say. It’s sad to hear this, but they are right.

Nearly all job offers from the USA and Canada have this line: Computer science degree or equivalent experience. I’ve never seen it in a French or Moroccan job offer. Because we value diplomas more than experience.

The second point is related to HR people:

If you’re an HR reading this, I don’t know exactly what your job is, but I do know that part of your job is to answer emails from candidates.

When you post for a job, using any medium: email, website, LinkedIn, etc. In 99% of the cases, you’ll not hear back. It’s not a No, nor a Yes. It’s nothing! If you’re lucky enough, you can get that automatic email saying “We’ll look at your resume… bla, bla, bla”

For international companies, if you’re rejected, in 99% of the cases, they will send you an email. And sometimes giving you feedback on your resume or cover letter. Why can’t we do that in Morocco?


People not hearing back from HR, people not getting hired for what they are, people not getting enough experience to grow their career, and people not earning much to live a good life. That’s the receipt for disaster and pushing people to go elsewhere.

Going elsewhere and starting a new life was the only solution. But now we have remote working!

What if you can get good experience, with awesome people from all around the globe, travel, work whenever you like, get good compensation, and still live in Morocco. It sounds like a scam, right? No, it’s a reality!

There are multiple articles to help you learn about remote working in our Start Here page. If you’re interested to hear more about it, or interested in our future articles where we’ll give advices on how to land a remote job, then we recommend following this blog!

8 responses to “Why software engineers are leaving Morocco”

  1. Excellent article. I Worked in morocco and France. Both in privatze and public sectors. I could not agree more. Keep up the good work !

  2. wow, good work mr ahmed i want to comment in english but in our local language we call that – about the HR – ou five them ” l’3assir f kass kbir ” braavoo

  3. This is a good writing but the information you’re giving are not all correct.
    For example, average net salary for beginner in R&D engineering in Morocco is about 800USD. If you spend 40 to 50% in rent, you’re just crazy 😅.
    You mentioned JIRA and the process working using tickets. This is used everywhere not only in offshoring. It is efficient when you have to deal with hundreds of engineers working in the same project.
    There is no experience in private sector and only repetitive tasks because most of engineers don’t want to get involved and risk their confort zones starting from the manager to down levels.
    I think people living the country for other reasons stronger than the climate of working. For example: poor education services, corruption in public administration, political issues, religion..

Leave a Reply