A developer advertised at 18,000 MAD gross per month does not cost the company 216,000 MAD a year. Add the thirteenth month, the employer share of social contributions, hardware, licences, paid leave and the first weeks of ramp-up, and the first-year figure lands somewhere between 300,000 and 340,000 MAD. Spread across the days actually worked, that is roughly 1,400 to 1,600 MAD per day.
That number, not the gross salary, is what belongs next to a freelancer’s or an agency’s rate. Comparing “18,000 MAD a month” with “3,500 MAD a day” distorts the decision in both directions: the provider looks extravagant and the hire looks almost free.
To make the arithmetic useful, here is a deliberately hypothetical working case, and you should swap in your own figures as you read: a 60-person manufacturing SME in Casablanca with an e-commerce site, an internal order back office, two to four changes a month and light on-call cover for incidents.
The advertised salary is not the cost of a developer
Three numbers circulate in the same conversation without meaning the same thing. The net figure the candidate negotiates, the gross figure you write into the contract, and the employer cost that leaves your bank account. Between net and gross sit income tax and the employee share of contributions. Between gross and employer cost sits the employer share, which nobody mentions during the interview.
In Morocco that employer share covers family allowances, social benefits, AMO health cover and the professional training levy. Part of these CNSS and AMO payroll charges is capped and part applies to the full gross, which means the effective rate drops mechanically for higher salaries. Do not work from memory here: rates and the ceiling change. Check them on the CNSS website or with your accountant before you freeze a budget.
For the working case I am assuming an employer share of around 35,000 MAD a year on an annual gross of 234,000 MAD across thirteen months. That is a modelling assumption, not a published scale.
What an internal hire adds beyond the salary
Loaded payroll is only part of the real cost of an IT hire. The rest sits in lines that never appear in the job ad and rarely appear in the budget.

- The recruitment itself. Posting, screening, technical interviews, a code test. Through an agency, the going practice is one to two months of salary. Hiring on your own, you pay in your team’s time instead, easily ten hours of technical leadership for a properly filtered role.
- Ramp-up. An experienced developer becomes genuinely autonomous on your codebase in six to ten weeks. Over the first year that is roughly a month and a half of output you pay for without receiving.
- The workstation. Machine, screen, licences, cloud accounts, tracking tools, a test environment. Modest on its own, visible once it joins the total.
- Days not worked. Statutory annual leave starts at a day and a half of working time per month worked, on top of public holidays, sick days and training. Out of a theoretical 250 working days, around 210 to 220 are genuinely available.
- Supervision. Someone has to prioritise, review and arbitrate. If that someone is the managing director, the cost appears nowhere and is paid in attention.
- Attrition risk. A developer who leaves after fourteen months takes the knowledge of the code with them and puts you back at the start, recruitment and ramp-up included.
None of these lines is an argument against hiring. They simply move the threshold at which hiring becomes the right call.
What an agency bills, and what that rate covers
On the outsourced side, everything is priced in days. Ranges vary a lot by stack, seniority and city, but to anchor the working case: an experienced freelancer on a common stack often negotiates between 1,800 and 3,500 MAD a day, while an agency or an IT services firm sits between 3,000 and 6,000 MAD a day for a comparable profile. Treat those as orders of magnitude to test against the quotes you actually receive, not as a price list.
The gap between the two is not pure margin. Inside a firm’s rate you also pay for continuity when the person is ill, code review by a second developer, project management, contractual commitment on deadlines, and the ability to put two or three people on a sprint when a commercial date is closing in. The freelancer is cheaper per day and more exposed on the day they are unavailable. That is where most of the choice between a freelancer and an agency is decided, and we went through it in our comparison of freelancers, IT companies and consultancies.
One detail changes the whole calculation: a provider only invoices the days consumed. No paid leave, no thirteenth month, no quiet weeks on payroll. That is the genuine economic advantage of outsourcing, and it is also where it stops working once the need becomes continuous.
Side by side: hire developer Morocco or outsource
Back to the 60-person SME, with a mid-to-senior profile at 18,000 MAD gross.
Internal cost, first year (assumption):
- Annual gross over thirteen months: 234,000 MAD
- Estimated employer contributions: 35,000 MAD
- Recruitment amortised over two years: 12,000 MAD
- Hardware, licences, environments: 15,000 MAD
- Desk, connectivity, share of overheads: 12,000 MAD
That totals around 308,000 MAD for roughly 215 available days, part of which goes into learning the context. Cost per genuinely productive day lands near 1,500 MAD in year one and falls towards 1,300 MAD in year two, once recruitment is absorbed and autonomy is reached.
Outsourced cost, same scope:
- Freelancer at 2,200 MAD a day: 308,000 MAD buys 140 days, about 11.5 days a month
- Agency at 3,500 MAD a day: 308,000 MAD buys 88 days, about 7.5 days a month
So for the price of one internal developer you buy between one week and two and a half weeks of external work per month. Per day, the internal hire wins clearly. Provided you can fill those days.
The break-even: when hiring starts to pay
In this case the threshold sits around 8 development days a month against an agency, and around 12 days against a freelancer. Below that, outsourcing costs less and leaves the variability with the provider. Above it, hiring takes the lead and the gap widens fast: at 20 days a month an agency invoices more than double the internal cost.
The real trap is estimating the volume. Plenty of directors count the projects in their head and forget that an internal developer’s week also contains bug fixes, requests from the sales team, security updates, exports for accounting and meetings. Others overestimate in the opposite direction: three changes a month on an existing site is not a full-time role, even counting generously.
A simple method before you decide. Take the last six months, list every technical request that was handled or postponed, and size each one in days. If the total passes 100 days over six months, hiring makes a serious case. If it tops out around 40, posting a job ad means paying for capacity you will not use.
What outsourcing never replaces
Counting in days ignores a variable that always ends up costing something: product memory. An internal developer knows why the “customer code” field accepts letters, why the Tuesday import fails when the file exceeds 5,000 rows, and what was tried and abandoned two years ago. A provider can acquire that knowledge, but you buy it again every time the person on the account changes.
Then there is responsiveness. An incident on a Thursday evening during a sales push plays out very differently depending on whether your developer is in the next office or a purchase order has to be approved first. It can be written into a contract through on-call terms, response times and penalties, but it gets negotiated before signature, not during the outage.
Finally there is dependency. If the code, the credentials and the environments all live with a provider, leaving is expensive. Insist from day one on owning the repository, holding accounts in your own name and receiving maintained documentation, three points we cover in the guide on switching IT provider without losing your code.
The hybrid model, and why it usually holds up better
In most SMEs weighing this up, the right answer is neither one nor the other. One internal profile, not necessarily the strongest developer on the market but someone who understands the business and stays, plus an external team brought in by waves on the heavy work.
The split that works in practice: the internal person keeps day-to-day work, the relationship with users, bug fixes and functional knowledge. The external team takes what needs deep, occasional expertise, a rebuild, a payment integration, a database migration, an analytics module. The internal developer becomes the keeper of context and the reviewer rather than a bottleneck.
This arrangement has a hidden cost worth planning for: it assumes someone on your side can write down what the provider is expected to deliver. That is exactly what a properly written IT brief is for, and it is the skill most often missing in companies that outsource badly.
Decide before you write the job ad
Five answers worth putting in writing before you publish a role or send out a request for proposals:
- How many days of actual technical work over the last six months, postponed requests included?
- Is that volume steady, or concentrated in two or three projects that will eventually end?
- Who internally will prioritise and review the work, whether it happens inside or outside?
- What is your genuine tolerance for a two-day outage on the system concerned?
- If the person you hire leaves within a year, what remains documented?
If the answer leans towards outsourcing, the next decision is how you read the proposals. Price gaps between two offers rarely come from the day rate and almost always from scope, something we work through in our guide on reading an IT quote before you sign.
Frequently asked questions
What salary should I budget for a developer in Morocco in 2026?
The spread is wide depending on technology, seniority, city and how hard offshore companies are competing in the same talent pool. Rather than taking a figure you read somewhere, build your own reference: track advertised pay on comparable roles in Casablanca, Rabat and Tangier for two weeks, and ask two recruitment firms for a range. The developer salary Morocco 2026 that matters is the one in your local market, not a national average.
Is a freelancer always cheaper than an agency?
Per day, almost always. Across a full project, not necessarily. The real cost includes the days they are unavailable, the time you spend coordinating, and the risk of a stop if the engagement drags on. For a two-week change, a freelancer is hard to beat. For a four-month build with dependencies between workstreams, the gap narrows considerably.
How long does it take to hire a developer in Morocco?
Between posting the ad and the person actually starting, plan for several weeks: sourcing, interviews, a technical test, negotiation, then the candidate’s notice period, which is usually the longest and least negotiable part. That delay carries a real opportunity cost if a project is waiting behind it.
Can we outsource first and bring it in-house later?
That is often the healthiest sequence. A provider builds the first version, you measure the real maintenance volume over six to twelve months, then you hire once the break-even is crossed. On one condition: the contract must provide from the start for handover of the code, the credentials and the documentation, with no surprise exit fees.
At Arrowlancer we work with Moroccan business owners on exactly this decision, as part of our digital transformation consulting: costing the real loaded figure, estimating twelve months of workload, arbitrating between internal, external and hybrid, then framing the requirement before anything is signed. Our service lines are set out on the site, and if you want to put your numbers next to ours before publishing the role, write to us through the contact form.
