Skip to content

Commit b21fd7f

Browse files
authored
Merge pull request #153 from geeksblabla/2025-report
2025 report
2 parents de88a16 + f1eb888 commit b21fd7f

File tree

16 files changed

+944
-6
lines changed

16 files changed

+944
-6
lines changed

docs/architecture.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,4 @@ Utility scripts.
6666

6767
- `export-results.ts` - Fetch all Firestore responses and generate results.json
6868
- `generate-questions.ts` - Parse YAML files and create questions.json
69+
- `query-results.ts` - CLI to query and filter survey results (see [docs/query-results.md](./query-results.md))

docs/query-results.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# `query-results` CLI
2+
3+
Query survey results from the command line without running the dev server.
4+
5+
```bash
6+
pnpm query-results <question> [--year=YYYY] [--format=text|json] [--filter=question=choice]
7+
```
8+
9+
## Arguments
10+
11+
- `<question>` — question ID (e.g. `profile-q-0`) or case-insensitive label substring (e.g. `gender`). Must resolve to exactly one question.
12+
- `--year=YYYY` — target year (default: latest available)
13+
- `--format=text|json` — output format (default: `json`)
14+
- `--filter=question=choice` — repeatable; AND logic. `question` resolves same as main arg. `choice` is either a numeric index or a case-insensitive label substring.
15+
16+
## Examples
17+
18+
```bash
19+
# Basic query
20+
pnpm query-results "gender"
21+
pnpm query-results "profile-q-0" --format=text
22+
23+
# Filter by single condition
24+
pnpm query-results "tech-q-3" --filter="gender=Female"
25+
pnpm query-results "tech-q-3" --filter="profile-q-0=1" # choice by index
26+
27+
# Filter by multiple conditions (AND)
28+
pnpm query-results "work-q-4" --filter="gender=Female" --filter="profile-q-1=2"
29+
30+
# Text format with filter
31+
pnpm query-results "gender" --format=text --filter="profile-q-1=25 to 34"
32+
```
33+
34+
## JSON output
35+
36+
```json
37+
{
38+
"id": "tech-q-3",
39+
"question": "What are the front-end frameworks/libraries you are using on a daily basis?",
40+
"multiple": true,
41+
"total": 84,
42+
"skipped": 35,
43+
"choices": [
44+
{ "label": "React.js", "count": 28, "percentage": 33.3 }
45+
],
46+
"filters": [{ "question": "What is your gender?", "choice": "Female" }],
47+
"year": 2025
48+
}
49+
```
50+
51+
`filters` is only present when `--filter` args are used.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
"generate-questions": " tsx ./scripts/generate-questions.ts",
2020
"generate-questions:ci": " tsx ./scripts/generate-questions.ts",
2121
"export-results": " tsx --env-file=.env.local ./scripts/export-results.ts",
22-
"export-results:ci": " tsx ./scripts/export-results.ts"
22+
"export-results:ci": " tsx ./scripts/export-results.ts",
23+
"query-results": "tsx ./scripts/query-results.ts"
2324
},
2425
"dependencies": {
2526
"@astro-community/astro-embed-youtube": "^0.5.3",

results/2025/sections/ai.mdx

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
title: AI
3+
position: 6
4+
---
5+
6+
# AI
7+
8+
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.
9+
10+
## Usage and Learning
11+
12+
The vast majority of respondents now use AI tools daily (78.3%), with only 0.5% never having tried them at all.
13+
14+
<Tabs>
15+
<TabItem title="2025">
16+
<Chart id="ai-q-0" title={false} year={2025} />
17+
</TabItem>
18+
<TabItem title="2024">
19+
<Chart id="ai-q-0" title={false} year={2024} />
20+
</TabItem>
21+
<TabItem title="2023">
22+
<Chart id="ai-q-0" title={false} year={2023} />
23+
</TabItem>
24+
</Tabs>
25+
26+
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.
27+
28+
<Tabs>
29+
<TabItem title="2025">
30+
<Chart id="ai-q-3" title={false} year={2025} />
31+
</TabItem>
32+
<TabItem title="2024">
33+
<Chart id="ai-q-3" title={false} year={2024} />
34+
</TabItem>
35+
<TabItem title="2023">
36+
<Chart id="ai-q-3" title={false} year={2023} />
37+
</TabItem>
38+
</Tabs>
39+
40+
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.
41+
42+
<Chart id="ai-q-5" title={false} />
43+
44+
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%.
45+
46+
<Chart id="ai-q-6" title={false} />
47+
48+
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.
49+
50+
<Tabs>
51+
<TabItem title="2025">
52+
<Chart id="ai-q-4" title={false} year={2025} />
53+
</TabItem>
54+
<TabItem title="2024">
55+
<Chart id="ai-q-4" title={false} year={2024} />
56+
</TabItem>
57+
<TabItem title="2023">
58+
<Chart id="ai-q-4" title={false} year={2023} />
59+
</TabItem>
60+
</Tabs>
61+
62+
## Productivity and Future of AI
63+
64+
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.
65+
66+
<Tabs>
67+
<TabItem title="2025">
68+
<Chart id="ai-q-1" title={false} year={2025} />
69+
</TabItem>
70+
<TabItem title="2024">
71+
<Chart id="ai-q-1" title={false} year={2024} />
72+
</TabItem>
73+
<TabItem title="2023">
74+
<Chart id="ai-q-1" title={false} year={2023} />
75+
</TabItem>
76+
</Tabs>
77+
78+
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.
79+
80+
<Tabs>
81+
<TabItem title="2025">
82+
<Chart id="ai-q-2" title={false} year={2025} />
83+
</TabItem>
84+
<TabItem title="2024">
85+
<Chart id="ai-q-2" title={false} year={2024} />
86+
</TabItem>
87+
<TabItem title="2023">
88+
<Chart id="ai-q-2" title={false} year={2023} />
89+
</TabItem>
90+
</Tabs>
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Community
3+
position: 7
4+
---
5+
6+
# Community
7+
8+
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.
9+
10+
## Barriers to participation <New />
11+
12+
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.
13+
14+
<Chart id="community-q-0" title={false} />
15+
16+
## What would make you attend more events <New />
17+
18+
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.
19+
20+
<Chart id="community-q-1" title={false} />
21+
22+
## Impact on career <New />
23+
24+
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.
25+
26+
<Chart id="community-q-2" title={false} />
27+
28+
## What developers need most <New />
29+
30+
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.
31+
32+
<Chart id="community-q-3" title={false} />
33+
34+
## Most valuable content types <New />
35+
36+
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.
37+
38+
<Chart id="community-q-4" title={false} />
39+
40+
## Open source contribution <New />
41+
42+
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%).
43+
44+
<Chart id="community-q-5" title={false} />
45+
46+
## Primary social network
47+
48+
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%).
49+
50+
<Chart id="community-q-6" title={false} />
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: Learning & Education
3+
position: 3
4+
---
5+
6+
# Education and Learning
7+
8+
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.
9+
10+
## Gaps in formal education <New />
11+
12+
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%).
13+
14+
<Chart id="education-q-0" title={false} />
15+
16+
## Read/Written languages
17+
18+
Arabic and English remain virtually universal among respondents (98.4% and 97.7% respectively), closely followed by French at 87.4%.
19+
20+
<Chart id="education-q-1" title={false} />
21+
22+
## Darija content <New />
23+
24+
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.
25+
26+
<Chart id="education-q-2" title={false} />
27+
28+
## Preferred learning platforms
29+
30+
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%).
31+
32+
<Chart id="education-q-3" title={false} />
33+
34+
## Learning challenges <New />
35+
36+
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.
37+
38+
<Chart id="education-q-4" title={false} />

results/2025/sections/overview.mdx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: Overview
3+
position: 1
4+
---
5+
6+
# Overview
7+
8+
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.
9+
10+
Here are the most striking findings:
11+
12+
- **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.
13+
14+
- **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.
15+
16+
- **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.
17+
18+
- **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.
19+
20+
- **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.
21+
22+
- **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.
23+
24+
<br />
25+
Dive into the sections below to explore the full data, and share the results with your network.
26+
27+
## A word about methodology
28+
29+
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).
30+
31+
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.
32+
33+
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.
34+
35+
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.
36+
37+
<br />
38+
<br />

results/2025/sections/profile.mdx

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Profile
3+
position: 2
4+
---
5+
6+
# Profile
7+
8+
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.
9+
10+
## Gender
11+
12+
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.
13+
14+
<Chart id="profile-q-0" pie title={false} />
15+
16+
## Age
17+
18+
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.
19+
20+
<Chart id="profile-q-1" title={false} />
21+
22+
## Location
23+
24+
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.
25+
26+
<Chart id="profile-q-2" title={false} />
27+
28+
## Roles
29+
30+
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%.
31+
32+
<Chart id="profile-q-3" title={false} />
33+
34+
## Highest degree
35+
36+
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.
37+
38+
<Chart id="profile-q-4" pie title={false} />
39+
40+
## Years coding professionally
41+
42+
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.
43+
44+
<Chart id="profile-q-5" title={false} />
45+
46+
## Coding as a hobby
47+
48+
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%).
49+
50+
<Chart id="profile-q-6" title={false} />
51+
52+
## Plans to work abroad
53+
54+
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.
55+
56+
<Tabs>
57+
<TabItem title="2025">
58+
<Chart
59+
id="profile-q-7"
60+
year={2025}
61+
condition={(v) => v["profile-q-7"] !== 3}
62+
title={false}
63+
showEmptyOptions={false}
64+
/>
65+
</TabItem>
66+
<TabItem title="2024">
67+
<Chart
68+
id="profile-q-7"
69+
year={2024}
70+
condition={(v) => v["profile-q-7"] !== 3}
71+
title={false}
72+
showEmptyOptions={false}
73+
/>
74+
</TabItem>
75+
<TabItem title="2023">
76+
<Chart
77+
id="profile-q-7"
78+
year={2023}
79+
condition={(v) => v["profile-q-7"] !== 3}
80+
title={false}
81+
showEmptyOptions={false}
82+
/>
83+
</TabItem>
84+
<TabItem title="2022">
85+
<Chart
86+
id="profile-q-7"
87+
year={2022}
88+
condition={(v) => v["profile-q-7"] !== 3}
89+
title={false}
90+
showEmptyOptions={false}
91+
/>
92+
</TabItem>
93+
</Tabs>
94+
95+
## Plans to come back to Morocco
96+
97+
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.
98+
99+
<Chart
100+
id="profile-q-8"
101+
condition={(v) => v["profile-q-7"] === 3}
102+
title={false}
103+
/>

0 commit comments

Comments
 (0)