Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,4 @@ Utility scripts.

- `export-results.ts` - Fetch all Firestore responses and generate results.json
- `generate-questions.ts` - Parse YAML files and create questions.json
- `query-results.ts` - CLI to query and filter survey results (see [docs/query-results.md](./query-results.md))
51 changes: 51 additions & 0 deletions docs/query-results.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# `query-results` CLI

Query survey results from the command line without running the dev server.

```bash
pnpm query-results <question> [--year=YYYY] [--format=text|json] [--filter=question=choice]
```

## Arguments

- `<question>` — question ID (e.g. `profile-q-0`) or case-insensitive label substring (e.g. `gender`). Must resolve to exactly one question.
- `--year=YYYY` — target year (default: latest available)
- `--format=text|json` — output format (default: `json`)
- `--filter=question=choice` — repeatable; AND logic. `question` resolves same as main arg. `choice` is either a numeric index or a case-insensitive label substring.

## Examples

```bash
# Basic query
pnpm query-results "gender"
pnpm query-results "profile-q-0" --format=text

# Filter by single condition
pnpm query-results "tech-q-3" --filter="gender=Female"
pnpm query-results "tech-q-3" --filter="profile-q-0=1" # choice by index

# Filter by multiple conditions (AND)
pnpm query-results "work-q-4" --filter="gender=Female" --filter="profile-q-1=2"

# Text format with filter
pnpm query-results "gender" --format=text --filter="profile-q-1=25 to 34"
```

## JSON output

```json
{
"id": "tech-q-3",
"question": "What are the front-end frameworks/libraries you are using on a daily basis?",
"multiple": true,
"total": 84,
"skipped": 35,
"choices": [
{ "label": "React.js", "count": 28, "percentage": 33.3 }
],
"filters": [{ "question": "What is your gender?", "choice": "Female" }],
"year": 2025
}
```

`filters` is only present when `--filter` args are used.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"generate-questions": " tsx ./scripts/generate-questions.ts",
"generate-questions:ci": " tsx ./scripts/generate-questions.ts",
"export-results": " tsx --env-file=.env.local ./scripts/export-results.ts",
"export-results:ci": " tsx ./scripts/export-results.ts"
"export-results:ci": " tsx ./scripts/export-results.ts",
"query-results": "tsx ./scripts/query-results.ts"
},
"dependencies": {
"@astro-community/astro-embed-youtube": "^0.5.3",
Expand Down
90 changes: 90 additions & 0 deletions results/2025/sections/ai.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: AI
position: 6
---

# AI

AI adoption among Moroccan developers has reached a tipping point. Daily usage has surged to 78.3%, nearly 4 in 5 respondents — up sharply from previous years. Beyond tools, developers are actively building with AI, and companies are beginning to put it into production.

## Usage and Learning

The vast majority of respondents now use AI tools daily (78.3%), with only 0.5% never having tried them at all.

<Tabs>
<TabItem title="2025">
<Chart id="ai-q-0" title={false} year={2025} />
</TabItem>
<TabItem title="2024">
<Chart id="ai-q-0" title={false} year={2024} />
</TabItem>
<TabItem title="2023">
<Chart id="ai-q-0" title={false} year={2023} />
</TabItem>
</Tabs>

Around 80% of respondents are actively engaging with AI for development: 33.8% have started learning the basics, 27.4% can already build simple apps with third-party APIs, and 14.1% can build complex applications.

<Tabs>
<TabItem title="2025">
<Chart id="ai-q-3" title={false} year={2025} />
</TabItem>
<TabItem title="2024">
<Chart id="ai-q-3" title={false} year={2024} />
</TabItem>
<TabItem title="2023">
<Chart id="ai-q-3" title={false} year={2023} />
</TabItem>
</Tabs>

ChatGPT remains the most-used AI tool at 81.6%, but Claude (59.9%) and Gemini (60.5%) have both climbed to second place territory. Cursor (22.1%) and GitHub Copilot (25.4%) lead among coding-specific tools.

<Chart id="ai-q-5" title={false} />

On the frameworks and models side, the OpenAI API leads at 47.5%, followed by Google Gemini API (32%) and Anthropic Claude API (27%). DeepSeek shows strong early adoption at 11.3%, and Llama (Meta) reaches 10.2%.

<Chart id="ai-q-6" title={false} />

Companies are increasingly moving AI from experimentation to production: 26.6% report having several use cases in production, and 15.7% have at least some. Still, 28.3% have not yet started adopting AI.

<Tabs>
<TabItem title="2025">
<Chart id="ai-q-4" title={false} year={2025} />
</TabItem>
<TabItem title="2024">
<Chart id="ai-q-4" title={false} year={2024} />
</TabItem>
<TabItem title="2023">
<Chart id="ai-q-4" title={false} year={2023} />
</TabItem>
</Tabs>

## Productivity and Future of AI

79.2% of respondents report meaningful productivity gains from AI tools (10%+), with nearly 30% saying they are now very productive (30–50% improvement) and 10.7% claiming 10x gains.

<Tabs>
<TabItem title="2025">
<Chart id="ai-q-1" title={false} year={2025} />
</TabItem>
<TabItem title="2024">
<Chart id="ai-q-1" title={false} year={2024} />
</TabItem>
<TabItem title="2023">
<Chart id="ai-q-1" title={false} year={2023} />
</TabItem>
</Tabs>

On the question of AI replacing developers, 32% believe AI will displace 30–50% of developers, and 25% think 10–30%. Only 3.2% believe AI will completely replace developers, while 23.4% think the impact will be minimal.

<Tabs>
<TabItem title="2025">
<Chart id="ai-q-2" title={false} year={2025} />
</TabItem>
<TabItem title="2024">
<Chart id="ai-q-2" title={false} year={2024} />
</TabItem>
<TabItem title="2023">
<Chart id="ai-q-2" title={false} year={2023} />
</TabItem>
</Tabs>
50 changes: 50 additions & 0 deletions results/2025/sections/community.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Community
position: 7
---

# Community

The Moroccan tech community is growing, but participation gaps remain. This year we asked developers what holds them back, what they need, and how the community has shaped their careers.

## Barriers to participation <New />

Time and discoverability are the two biggest obstacles: 46.4% cite work commitments, and 44.7% simply don't know where to find communities or events. Geographic distance (26.4%) and financial constraints (17.8%) also play a role.

<Chart id="community-q-0" title={false} />

## What would make you attend more events <New />

More events closer to home tops the list (60.2%), followed by better timing like evenings and weekends (53.6%) and better networking opportunities (51.9%). Better speakers and hands-on workshops are also important factors.

<Chart id="community-q-1" title={false} />

## Impact on career <New />

54.3% of respondents say the community hasn't had a direct impact on their career yet — a signal that there's still room to connect engagement with real outcomes. Among those who benefited, 24.4% learned career-advancing skills, 18.5% built their professional network, and 18.2% discovered new opportunities.

<Chart id="community-q-2" title={false} />

## What developers need most <New />

Networking (58%), job opportunities and career guidance (57.2%), and mentorship from experienced developers (51.4%) are the top three needs. Collaboration on projects (47%) and access to advanced technical content (37.4%) also rank highly.

<Chart id="community-q-3" title={false} />

## Most valuable content types <New />

Architecture and system design discussions top the list at 50.9%, closely followed by technical workshops (50%) and career development sessions covering interviews, negotiations, and CVs (48.4%). Case studies from Moroccan companies (46.3%) and freelancing/entrepreneurship guidance (41.7%) also show strong demand.

<Chart id="community-q-4" title={false} />

## Open source contribution <New />

Only 10.7% of respondents already contribute to open source. The main barriers are not knowing how to get started (44.1%), not knowing how to find projects (34.4%), lack of time (33.8%), and self-doubt about code quality (32.1%).

<Chart id="community-q-5" title={false} />

## Primary social network

LinkedIn dominates as the primary professional network for Moroccan developers at 55.3%. X (Twitter) is second at 14.6%, followed by YouTube (12.9%), Reddit (6.3%), and Discord (5.7%).

<Chart id="community-q-6" title={false} />
38 changes: 38 additions & 0 deletions results/2025/sections/education.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: Learning & Education
position: 3
---

# Education and Learning

Learning is a continuous process for software developers, who must constantly keep up with new technologies, paradigms, and tools. We asked respondents about what formal education missed, how they learn, and what challenges they face.

## Gaps in formal education <New />

Only 17.5% of respondents feel their formal education prepared them well across the board. The top gaps identified are modern tech stacks (44.7%), development practices like version control and testing (42.5%), and real-world project experience (40.7%).

<Chart id="education-q-0" title={false} />

## Read/Written languages

Arabic and English remain virtually universal among respondents (98.4% and 97.7% respectively), closely followed by French at 87.4%.

<Chart id="education-q-1" title={false} />

## Darija content <New />

Around 80% of respondents would benefit from some form of Darija content, with podcasts/audio (51.2%), tutorial videos (47%), and community discussions (45.8%) being the most requested formats.

<Chart id="education-q-2" title={false} />

## Preferred learning platforms

YouTube remains the dominant learning resource at 81.5%, but AI Assistants (ChatGPT, etc.) have surged to second place at 68.2%, ahead of official documentation (56.7%) and blog posts (39.4%).

<Chart id="education-q-3" title={false} />

## Learning challenges <New />

Lack of time is the biggest obstacle to learning new technologies, cited by 61.9% of respondents. Keeping up with rapid changes (41%) and information overload (39.7%) follow closely, while only 7.4% cite language barriers as a challenge.

<Chart id="education-q-4" title={false} />
38 changes: 38 additions & 0 deletions results/2025/sections/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: Overview
position: 1
---

# Overview

The sixth annual survey on Software Developers in Morocco brings together 1,007 responses from developers across Morocco and abroad. This year, we went beyond the usual "what" to ask more "why" — adding new questions on community barriers, education gaps, learning challenges, open source, and entrepreneurship to make the results more actionable for the community.

Here are the most striking findings:

- **AI has crossed a tipping point.** 78.3% of respondents use AI tools daily — up sharply year over year. Even more telling: AI assistants (91.1%) have overtaken Google (77.7%) as the go-to when stuck on a problem, for the first time in survey history.

- **The community gap is real.** 54.3% say the tech community has had no direct impact on their career. Time and discoverability are the top barriers to participation. Only 10.7% contribute to open source, and most don't know where to start.

- **Emigration pressure remains high.** Nearly 40% of respondents plan to work outside Morocco within the next 24 months — and among those already abroad, most are not planning to return soon.

- **Formal education is falling short.** Only 17.5% feel their education prepared them well. The biggest gaps: modern tech stacks, development practices like version control and testing, and real-world project experience.

- **Entrepreneurship is rising.** 32% of respondents are already building a side project or planning to start a business in the next year — a signal of growing ambition beyond employment.

- **Remote work preference vs. reality.** Over 92% prefer hybrid or full remote, yet back-to-office arrangements have grown to 26% — a widening gap between what developers want and what employers offer.

<br />
Dive into the sections below to explore the full data, and share the results with your network.

## A word about methodology

At our core, we value anonymity and as such, all collected data from the survey is anonymized. Raw results and the website code are also available under the BY-NC-SA 2.0 license on the [GeeksBlaBla GitHub organization](https://github.com/geeksblabla/stateofdev.ma).

Please note that not all fields in the survey were mandatory, which may result in some results and graphics not reflecting the total number of respondents for every question.

We extend our heartfelt thanks to all our contributors and those who helped share the survey, and we eagerly await your feedback and for you to share the results with your network.

Finally, we express our gratitude to all participants who took the time to complete the survey. Your input is invaluable and we hope you find the results as interesting as we do.

<br />
<br />
103 changes: 103 additions & 0 deletions results/2025/sections/profile.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
title: Profile
position: 2
---

# Profile

The objective of this first section is to get insights into the profile and the skills of the people working in Software Engineering in Morocco and abroad. The vast majority of respondents (88%) are men. Most are young developers aged 18 to 34 (93%), primarily based in Casablanca-Settat and Rabat-Salé-Kénitra, with a growing share working or planning to work abroad.

## Gender

Although the presence of women in the IT sector is slowly increasing, the field remains highly dominated by men — 88.2% male and 11.8% female among the 1,007 respondents who answered this question.

<Chart id="profile-q-0" pie title={false} />

## Age

Over 93% of respondents are aged between 18 and 34 years old, indicating a predominantly junior to mid-level talent pool with a strong demand for entry-level and intermediate positions.

<Chart id="profile-q-1" title={false} />

## Location

Casablanca-Settat leads with 37.1% of respondents, followed by Rabat-Salé-Kénitra at 17.5%. Europe-based respondents account for 8.4%, reflecting a notable diaspora presence.

<Chart id="profile-q-2" title={false} />

## Roles

Full-stack development dominates at 40.1%, making it by far the most common role. Students coding professionally represent 14.3%, and back-end developers come in third at 10.1%. AI engineering emerges as a distinct category at 3.2%.

<Chart id="profile-q-3" title={false} />

## Highest degree

Nearly half of respondents (47.9%) hold a Bac+5 (Master's equivalent). Coding schools such as 1337, YouCode, and Solicode represent 16.6% of education backgrounds, reflecting their growing footprint in the ecosystem.

<Chart id="profile-q-4" pie title={false} />

## Years coding professionally

The majority of participants have limited professional coding experience: 15% have none, 19.1% have less than a year, and 26.7% have 1–2 years. Together, these three groups make up over 60% of respondents.

<Chart id="profile-q-5" title={false} />

## Coding as a hobby

87.2% of respondents code outside of work or studies. The most common motivations are fun or learning (59%), portfolio/career building (36.5%), and freelance or product work (27%).

<Chart id="profile-q-6" title={false} />

## Plans to work abroad

Close to 40% of respondents plan to work outside Morocco within the next 24 months (13.9% within 12 months, 24.6% within 24 months). 30.8% are still hesitating, and only 19.6% have no plans at all.

<Tabs>
<TabItem title="2025">
<Chart
id="profile-q-7"
year={2025}
condition={(v) => v["profile-q-7"] !== 3}
title={false}
showEmptyOptions={false}
/>
</TabItem>
<TabItem title="2024">
<Chart
id="profile-q-7"
year={2024}
condition={(v) => v["profile-q-7"] !== 3}
title={false}
showEmptyOptions={false}
/>
</TabItem>
<TabItem title="2023">
<Chart
id="profile-q-7"
year={2023}
condition={(v) => v["profile-q-7"] !== 3}
title={false}
showEmptyOptions={false}
/>
</TabItem>
<TabItem title="2022">
<Chart
id="profile-q-7"
year={2022}
condition={(v) => v["profile-q-7"] !== 3}
title={false}
showEmptyOptions={false}
/>
</TabItem>
</Tabs>

## Plans to come back to Morocco

Among the 112 respondents currently working outside Morocco, most are not planning a return soon: 26.2% plan to stay abroad, 40.2% would return but not in the near future, and 22.4% are still hesitating.

<Chart
id="profile-q-8"
condition={(v) => v["profile-q-7"] === 3}
title={false}
/>
Loading