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 with this achievement, as it shows his good education system, there is something we need to ask ourself: 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 a 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, is like San Francisco’s prices compared to the rest of 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), taking care of all paperwork for you, providing housing for at least a month, and helping you find a 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 a 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 is 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 lot of HR people.

Experience

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 to 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 in 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 mind.

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 comeback, 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!

4 thoughts on “Why software engineers are leaving Morocco

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s