├── website ├── .nvmrc ├── static │ ├── .nojekyll │ ├── img │ │ ├── stats │ │ │ ├── .gitkeep │ │ │ ├── age.png │ │ │ ├── agile.png │ │ │ ├── gender.png │ │ │ ├── roles.png │ │ │ ├── education.png │ │ │ ├── hcn-jr-post.png │ │ │ ├── cib-web-data.png │ │ │ ├── living-abroad.png │ │ │ ├── employment-type.png │ │ │ ├── happiness-index.png │ │ │ ├── salarie-in-eur.png │ │ │ ├── bac-and-esi-scores.png │ │ │ ├── job-posting-on-fb.png │ │ │ ├── online-ads-report-icon.png │ │ │ ├── external │ │ │ │ ├── StatCounter-dz-mobile-users.png │ │ │ │ └── google-trends-programming-langs.png │ │ │ └── mobile-network-experience-opensignal-2024-dz.png │ │ ├── logo.png │ │ ├── favicon.ico │ │ ├── social-card.png │ │ ├── logo-white-bg.png │ │ ├── chabiba-ta3-code.png │ │ ├── challenges │ │ │ ├── cf-radar.png │ │ │ └── wesbos-js-course.png │ │ ├── icons │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── apple-touch-icon.png │ │ │ ├── mstile-150x150.png │ │ │ ├── android-chrome-192x192.png │ │ │ └── android-chrome-512x512.png │ │ └── 2020-survey │ │ │ ├── salaries-in-dz.png │ │ │ ├── salaries-in-algiers.png │ │ │ └── programming-language-2020-trend.png │ ├── CNAME │ ├── robots.txt │ ├── 6808392d8d15417d9844bcda8b776d49.txt │ ├── favicon.ico │ ├── .well-known │ │ └── security.txt │ ├── yandex_2723daaae68c4f0b.html │ ├── browserconfig.xml │ ├── site.webmanifest │ ├── humans.txt │ ├── manifest.json │ └── safari-pinned-tab.svg ├── babel.config.js ├── blog │ ├── authors.yml │ ├── 2024-02-01-kickstart │ │ └── index.md │ └── 2024-02-29-end │ │ └── index.md ├── src │ ├── components │ │ └── HomepageFeatures │ │ │ ├── styles.module.css │ │ │ └── index.js │ ├── pages │ │ ├── contact.md │ │ ├── report.md │ │ ├── feedback.md │ │ ├── LICENSE.md │ │ ├── index.module.css │ │ ├── mentions-and-discussions.md │ │ ├── cookie.md │ │ ├── support.md │ │ ├── index.js │ │ ├── terms-of-use.md │ │ ├── about.md │ │ └── privacy.md │ └── css │ │ └── custom.css ├── docs │ ├── insights │ │ ├── index.md │ │ ├── missing-roles.md │ │ ├── talents-migration.md │ │ ├── agile-ways-of-working.md │ │ ├── e-payment-solutions.md │ │ ├── education-and-learning.md │ │ ├── data-and-ml.md │ │ ├── cybersecurity.md │ │ ├── open-source.md │ │ └── communities.md │ ├── appendix │ │ ├── index.md │ │ ├── methodology.md │ │ ├── glossary.md │ │ └── references-and-further-reading.md │ ├── index.md │ └── closing.md ├── .gitignore ├── README.md ├── package.json ├── functions │ └── _middleware.js └── docusaurus.config.js ├── data-processing ├── datasets │ ├── .gitkeep │ └── json-outputs │ │ ├── .gitkeep │ │ └── question-maps │ │ ├── ar.json │ │ ├── fr.json │ │ └── question-map-by-language.json ├── main.js ├── package.json ├── pipelines │ ├── load-csv.js │ └── translate-questions.js ├── pnpm-lock.yaml ├── agile.js └── load-and-count.js ├── .vscode └── settings.json ├── .readme └── assets │ └── pwa-trends-page.png ├── .gitignore ├── .github ├── FUNDING.yml └── workflows │ └── website.yaml └── README.md /website/.nvmrc: -------------------------------------------------------------------------------- 1 | v20.18.2 2 | -------------------------------------------------------------------------------- /website/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data-processing/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website/static/img/stats/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website/static/CNAME: -------------------------------------------------------------------------------- 1 | state-of-algeria.dev -------------------------------------------------------------------------------- /data-processing/datasets/json-outputs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website/static/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: -------------------------------------------------------------------------------- /website/static/6808392d8d15417d9844bcda8b776d49.txt: -------------------------------------------------------------------------------- 1 | 6808392d8d15417d9844bcda8b776d49 -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "hackathons", 4 | "Kanban" 5 | ] 6 | } -------------------------------------------------------------------------------- /website/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/favicon.ico -------------------------------------------------------------------------------- /website/static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/logo.png -------------------------------------------------------------------------------- /website/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/favicon.ico -------------------------------------------------------------------------------- /website/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /website/static/img/stats/age.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/age.png -------------------------------------------------------------------------------- /.readme/assets/pwa-trends-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/.readme/assets/pwa-trends-page.png -------------------------------------------------------------------------------- /website/static/img/social-card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/social-card.png -------------------------------------------------------------------------------- /website/static/img/stats/agile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/agile.png -------------------------------------------------------------------------------- /website/static/img/stats/gender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/gender.png -------------------------------------------------------------------------------- /website/static/img/stats/roles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/roles.png -------------------------------------------------------------------------------- /website/static/img/logo-white-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/logo-white-bg.png -------------------------------------------------------------------------------- /website/static/img/chabiba-ta3-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/chabiba-ta3-code.png -------------------------------------------------------------------------------- /website/static/img/stats/education.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/education.png -------------------------------------------------------------------------------- /website/static/img/stats/hcn-jr-post.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/hcn-jr-post.png -------------------------------------------------------------------------------- /website/static/img/challenges/cf-radar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/challenges/cf-radar.png -------------------------------------------------------------------------------- /website/static/img/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/icons/favicon-16x16.png -------------------------------------------------------------------------------- /website/static/img/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/icons/favicon-32x32.png -------------------------------------------------------------------------------- /website/static/img/stats/cib-web-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/cib-web-data.png -------------------------------------------------------------------------------- /website/static/img/stats/living-abroad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/living-abroad.png -------------------------------------------------------------------------------- /website/static/img/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /website/static/img/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/icons/mstile-150x150.png -------------------------------------------------------------------------------- /website/static/img/stats/employment-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/employment-type.png -------------------------------------------------------------------------------- /website/static/img/stats/happiness-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/happiness-index.png -------------------------------------------------------------------------------- /website/static/img/stats/salarie-in-eur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/salarie-in-eur.png -------------------------------------------------------------------------------- /website/static/img/stats/bac-and-esi-scores.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/bac-and-esi-scores.png -------------------------------------------------------------------------------- /website/static/img/stats/job-posting-on-fb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/job-posting-on-fb.png -------------------------------------------------------------------------------- /website/static/img/2020-survey/salaries-in-dz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/2020-survey/salaries-in-dz.png -------------------------------------------------------------------------------- /website/static/img/challenges/wesbos-js-course.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/challenges/wesbos-js-course.png -------------------------------------------------------------------------------- /website/static/img/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /website/static/img/icons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/icons/android-chrome-512x512.png -------------------------------------------------------------------------------- /website/static/img/stats/online-ads-report-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/online-ads-report-icon.png -------------------------------------------------------------------------------- /website/static/img/2020-survey/salaries-in-algiers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/2020-survey/salaries-in-algiers.png -------------------------------------------------------------------------------- /website/blog/authors.yml: -------------------------------------------------------------------------------- 1 | Fcmam5: 2 | name: Abdeldjalil Fortas 3 | title: Software engineer 4 | url: https://about.me/Fcmam5 5 | image_url: https://github.com/fcmam5.png 6 | -------------------------------------------------------------------------------- /website/static/img/stats/external/StatCounter-dz-mobile-users.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/external/StatCounter-dz-mobile-users.png -------------------------------------------------------------------------------- /website/static/img/2020-survey/programming-language-2020-trend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/2020-survey/programming-language-2020-trend.png -------------------------------------------------------------------------------- /website/static/img/stats/external/google-trends-programming-langs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/external/google-trends-programming-langs.png -------------------------------------------------------------------------------- /website/static/.well-known/security.txt: -------------------------------------------------------------------------------- 1 | Contact: https://state-of-algeria.dev/contact 2 | Expires: 2030-01-01T09:10:00.000Z 3 | Preferred-Languages: en,ar,fr,de 4 | Policy: https://state-of-algeria.dev/privacy 5 | -------------------------------------------------------------------------------- /website/static/img/stats/mobile-network-experience-opensignal-2024-dz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fcmam5/state-of-dz-swe-2024/HEAD/website/static/img/stats/mobile-network-experience-opensignal-2024-dz.png -------------------------------------------------------------------------------- /website/static/yandex_2723daaae68c4f0b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Verification: 2723daaae68c4f0b 6 | 7 | -------------------------------------------------------------------------------- /website/src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | .features { 2 | display: flex; 3 | align-items: center; 4 | padding: 2rem 0; 5 | width: 100%; 6 | } 7 | 8 | .featureSvg { 9 | height: 200px; 10 | width: 200px; 11 | } 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | data-processing/datasets/**/*[.json, .csv, .db] 2 | !data-processing/datasets/json-outputs/question-maps/*.json 3 | **/*/node_modules/* 4 | NOTES.md 5 | *-NOTES.md 6 | NOTES-*.md 7 | x*.txt 8 | local-docs/* 9 | TO-ASK.md 10 | .env 11 | x.* 12 | .DS_Store -------------------------------------------------------------------------------- /website/docs/insights/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: insights 3 | sidebar_position: 2 4 | description: Explore insights on software engineering trends in Algeria. 5 | --- 6 | 7 | # Insights 8 | 9 | import DocCardList from '@theme/DocCardList'; 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /website/docs/appendix/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | pagination_prev: intro 4 | custom_edit_url: https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/website/docs/appendix/index.md 5 | --- 6 | 7 | # Appendix 8 | 9 | import DocCardList from '@theme/DocCardList'; 10 | 11 | -------------------------------------------------------------------------------- /data-processing/main.js: -------------------------------------------------------------------------------- 1 | import { loadFilesAndWriteAsJSON } from "./pipelines/load-csv.js"; 2 | import { mapQuestionsAndTranslations } from "./pipelines/translate-questions.js"; 3 | 4 | (async () => { 5 | const dataByLanguages = await loadFilesAndWriteAsJSON(); 6 | mapQuestionsAndTranslations(dataByLanguages); 7 | })(); 8 | -------------------------------------------------------------------------------- /website/static/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #ffffff 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /website/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /data-processing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "data-processing", 3 | "version": "0.0.0", 4 | "description": "", 5 | "type": "module", 6 | "main": "main.js", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "author": "", 11 | "license": "MIT", 12 | "dependencies": { 13 | "csvtojson": "^2.0.10" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /website/src/pages/contact.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Contact the author of this report. 3 | --- 4 | # Contact Us 5 | 6 | If you have any questions, feedback, or would like to learn more about our work, please don't hesitate to reach out to me at: 7 | 8 | - Twitter/X: [@Fcmam5](https://twitter.com/Fcmam5) 9 | - LinkedIn: [@fcmam5](https://www.linkedin.com/in/fcmam5/) 10 | - Email: `au54vz9rk[at]mozmail[.]com` 11 | - Discussion on GitHub: https://github.com/Fcmam5/state-of-dz-swe-2024/discussions -------------------------------------------------------------------------------- /website/static/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The state of Algerian Software engineering 2024", 3 | "short_name": "#dzDevSurvey24", 4 | "icons": [ 5 | { 6 | "src": "/img/icons/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/img/icons/android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /website/src/pages/report.md: -------------------------------------------------------------------------------- 1 | # 🚧 Report 2 | 3 | This page is still in progress, this part of the work is deprioritized due to the overwhelming amount of work we have/had to ship. 4 | 5 | You may [donate](https://ko-fi.com/fcmam5) to encourage us to continue work on this part, and summarize our findings in one printable PDF. Your donations may also contribute in paying creative designers, or paying for online tools for non-creative developers (like us) to ship the work in a nice format 😅. 6 | 7 | If you can support us with this, head to our [support](/support) page or open a new [discussion on GitHub](https://github.com/Fcmam5/state-of-dz-swe-2024/discussions). -------------------------------------------------------------------------------- /website/src/pages/feedback.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Feedback form for this report. 3 | --- 4 | 5 | # Feedback 6 | 7 | *A Google form should appear in this page, if you face any issues please [use this link to open it on Google Forms](https://forms.gle/aQEw4RTpwi7m5owM7)' website.* 8 | 9 |
10 | 11 | -------------------------------------------------------------------------------- /website/src/pages/LICENSE.md: -------------------------------------------------------------------------------- 1 |

2 | The State of Software Engineering in Algeria by 3 | Abdeldjalil Fortas is licensed under 4 | 5 | CC BY-NC-ND 4.0 License 6 | 7 |

-------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 7 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 8 | liberapay: # Replace with a single Liberapay username 9 | issuehunt: # Replace with a single IssueHunt username 10 | otechie: # Replace with a single Otechie username 11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | ko_fi: fcmam5 13 | buy_me_a_coffee: ngcmbf6 -------------------------------------------------------------------------------- /website/src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * CSS files with the .module.css suffix will be treated as CSS modules 3 | * and scoped locally. 4 | */ 5 | 6 | .heroBanner { 7 | padding: 4rem 0; 8 | text-align: center; 9 | position: relative; 10 | overflow: hidden; 11 | } 12 | 13 | @media screen and (max-width: 996px) { 14 | .heroBanner { 15 | padding: 2rem; 16 | } 17 | } 18 | 19 | .buttons { 20 | display: flex; 21 | align-items: center; 22 | justify-content: center; 23 | } 24 | 25 | 26 | .demoVideo { 27 | display: flex; 28 | flex-direction: column; 29 | align-items: center; 30 | margin: 20px 0; 31 | } 32 | 33 | .demoVideo iframe { 34 | width: 70%; 35 | height: auto; 36 | aspect-ratio: 16 / 9; 37 | } 38 | 39 | .demoVideo h2 { 40 | margin: 50px 0px; 41 | } 42 | 43 | .future { 44 | margin: 140px 0px; 45 | text-align: center; 46 | } 47 | -------------------------------------------------------------------------------- /website/docs/insights/missing-roles.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 10 3 | draft: true 4 | --- 5 | 6 | # Roles hard to fill 7 | 8 | The majority of our participants are developers with small percentages of other roles (e.g. IoT and embedded systems engineers, AI/ML Specialists), while other roles like QA and testing engineers are missing. 9 | 10 | ![what's your job title](/img/stats/roles.png) 11 | 12 | """ Less offers, less profiles, more devs with skills in that role""" 13 | 14 | """ swiss knife person can't do everything """ 15 | 16 | ## IoT and embedded systems engineers 17 | 18 | TBD 19 | 20 | ## QA and test automation engineers 21 | 22 | TBD 23 | 24 | https://www.emploitic.com/entreprise/algeria-gulf-bank-agb/offres-d-emploi/offre-d-emploi/10081648-un-ingenieur-testeur-assurance-qualite-informatique-qa-el-biar-alger-algerie 25 | 26 | 27 | ## DevOps and Site Reliability engineers -------------------------------------------------------------------------------- /website/static/humans.txt: -------------------------------------------------------------------------------- 1 | ___ 2 | / \ 3 | \ // 4 | | |_________________________________ 5 | | |//////////////// | 6 | | |//////////////// | 7 | | |//////////////// | 8 | | |/////////////a$$$$$e. | 9 | | |////////////$$P/_ ,i` | 10 | | |///////////$$$//\$$$>, | 11 | | |///////////$$$///'\$ | 12 | | |///////////\$$a/ `, | 13 | | |/////////////"$$$$P" | 14 | | |//////////////// | 15 | | |//////////////// | 16 | | |//////////////// | 17 | | |dz-1""""""""""""""""""""""""""""" 18 | | | 19 | | | 20 | | | Done by an Algerian, with the great help of Algerians, for the Algerian community 21 | | | About us: https://state-of-algeria.dev/about 22 | | | 23 | | | 24 | | | 25 | | | 26 | | | 27 | | | 28 | | | 29 | | | 30 | | | 31 | | | 32 | | | 33 | -------------------------------------------------------------------------------- /website/README.md: -------------------------------------------------------------------------------- 1 | # Website 2 | 3 | This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. 4 | 5 | ### Installation 6 | 7 | ``` 8 | $ yarn 9 | ``` 10 | 11 | ### Local Development 12 | 13 | ``` 14 | $ yarn start 15 | ``` 16 | 17 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 18 | 19 | ### Build 20 | 21 | ``` 22 | $ yarn build 23 | ``` 24 | 25 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 26 | 27 | ### Deployment 28 | 29 | Using SSH: 30 | 31 | ``` 32 | $ USE_SSH=true yarn deploy 33 | ``` 34 | 35 | Not using SSH: 36 | 37 | ``` 38 | $ GIT_USER= yarn deploy 39 | ``` 40 | 41 | If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. 42 | -------------------------------------------------------------------------------- /data-processing/pipelines/load-csv.js: -------------------------------------------------------------------------------- 1 | import csv from "csvtojson"; 2 | import { writeFileSync } from "fs"; 3 | 4 | async function readFilesForForALanguage(lang) { 5 | return csv({ 6 | noheader: false, 7 | }).fromFile(`./datasets/${lang}.csv`); 8 | } 9 | 10 | async function writeJson(jsonObj, lang) { 11 | writeFileSync( 12 | `./datasets/json-outputs/${lang}.json`, 13 | JSON.stringify(jsonObj), 14 | "utf-8" 15 | ); 16 | 17 | return jsonObj; 18 | } 19 | 20 | export async function loadFilesAndWriteAsJSON() { 21 | const supportedLanguages = ["en", "ar", "fr"]; 22 | const dataByLanguages = ( 23 | await Promise.all(supportedLanguages.map(readFilesForForALanguage)) 24 | ).reduce((acc, dt, idx) => { 25 | return { ...acc, [supportedLanguages[idx]]: dt }; 26 | }, {}); 27 | 28 | // Because JSON is always nicer to read 29 | Object.entries(dataByLanguages).forEach(([k, v]) => writeJson(v, k)); 30 | 31 | return dataByLanguages; 32 | } 33 | -------------------------------------------------------------------------------- /website/src/css/custom.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Any CSS included here will be global. The classic template 3 | * bundles Infima by default. Infima is a CSS framework designed to 4 | * work well for content-centric websites. 5 | */ 6 | 7 | /* You can override the default Infima variables here. */ 8 | :root { 9 | --ifm-color-primary: #2e8555; 10 | --ifm-color-primary-dark: #29784c; 11 | --ifm-color-primary-darker: #277148; 12 | --ifm-color-primary-darkest: #205d3b; 13 | --ifm-color-primary-light: #33925d; 14 | --ifm-color-primary-lighter: #359962; 15 | --ifm-color-primary-lightest: #3cad6e; 16 | --ifm-code-font-size: 95%; 17 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); 18 | } 19 | 20 | /* For readability concerns, you should choose a lighter palette in dark mode. */ 21 | [data-theme='dark'] { 22 | --ifm-color-primary: #25c2a0; 23 | --ifm-color-primary-dark: #21af90; 24 | --ifm-color-primary-darker: #1fa588; 25 | --ifm-color-primary-darkest: #1a8870; 26 | --ifm-color-primary-light: #29d5b0; 27 | --ifm-color-primary-lighter: #32d8b4; 28 | --ifm-color-primary-lightest: #4fddbf; 29 | --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); 30 | } 31 | 32 | 33 | .forced-bg { 34 | background-color: #3cad6e; 35 | } -------------------------------------------------------------------------------- /website/static/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "The state of Algerian Software engineering 2024", 3 | "short_name": "#dzDevSurvey24", 4 | "theme_color": "#2e8555", 5 | "background_color": "#424242", 6 | "display": "standalone", 7 | "scope": "./", 8 | "start_url": "./index.html", 9 | "related_applications": [ 10 | { 11 | "platform": "webapp", 12 | "url": "https://state-of-algeria.dev/manifest.json" 13 | } 14 | ], 15 | "icons": [ 16 | { 17 | "src": "/img/icons/apple-touch-icon.png", 18 | "sizes": "152x152", 19 | "type": "image/png" 20 | }, 21 | { 22 | "src": "/img/icons/android-chrome-192x192.png", 23 | "sizes": "192x192", 24 | "type": "image/png" 25 | }, 26 | { 27 | "src": "/img/icons/android-chrome-512x512.png", 28 | "sizes": "512x512", 29 | "type": "image/png" 30 | }, 31 | { 32 | "src": "/img/icons/mstile-150x150.png", 33 | "sizes": "150x150", 34 | "type": "image/png" 35 | }, 36 | { 37 | "src": "/img/icons/favicon-16x16.png", 38 | "sizes": "16x16", 39 | "type": "image/png" 40 | }, 41 | { 42 | "src": "/img/icons/favicon-32x32.png", 43 | "sizes": "32x32", 44 | "type": "image/png" 45 | } 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /data-processing/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | csvtojson: 9 | specifier: ^2.0.10 10 | version: 2.0.10 11 | 12 | packages: 13 | 14 | /bluebird@3.7.2: 15 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} 16 | dev: false 17 | 18 | /csvtojson@2.0.10: 19 | resolution: {integrity: sha512-lUWFxGKyhraKCW8Qghz6Z0f2l/PqB1W3AO0HKJzGIQ5JRSlR651ekJDiGJbBT4sRNNv5ddnSGVEnsxP9XRCVpQ==} 20 | engines: {node: '>=4.0.0'} 21 | hasBin: true 22 | dependencies: 23 | bluebird: 3.7.2 24 | lodash: 4.17.21 25 | strip-bom: 2.0.0 26 | dev: false 27 | 28 | /is-utf8@0.2.1: 29 | resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} 30 | dev: false 31 | 32 | /lodash@4.17.21: 33 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 34 | dev: false 35 | 36 | /strip-bom@2.0.0: 37 | resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} 38 | engines: {node: '>=0.10.0'} 39 | dependencies: 40 | is-utf8: 0.2.1 41 | dev: false 42 | -------------------------------------------------------------------------------- /website/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "website", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "docusaurus": "docusaurus", 7 | "start": "docusaurus start", 8 | "build": "docusaurus build", 9 | "swizzle": "docusaurus swizzle", 10 | "deploy": "docusaurus deploy", 11 | "clear": "docusaurus clear", 12 | "serve": "docusaurus serve", 13 | "write-translations": "docusaurus write-translations", 14 | "write-heading-ids": "docusaurus write-heading-ids" 15 | }, 16 | "dependencies": { 17 | "@docusaurus/core": "3.7.0", 18 | "@docusaurus/plugin-google-gtag": "^3.7.0", 19 | "@docusaurus/plugin-pwa": "^3.7.0", 20 | "@docusaurus/preset-classic": "3.7.0", 21 | "@docusaurus/theme-mermaid": "^3.7.0", 22 | "@mdx-js/react": "^3.0.0", 23 | "clsx": "^2.0.0", 24 | "prism-react-renderer": "^2.3.0", 25 | "react": "^18.0.0", 26 | "react-dom": "^18.0.0" 27 | }, 28 | "devDependencies": { 29 | "@docusaurus/module-type-aliases": "3.7.0", 30 | "@docusaurus/types": "3.7.0" 31 | }, 32 | "browserslist": { 33 | "production": [ 34 | ">0.5%", 35 | "not dead", 36 | "not op_mini all" 37 | ], 38 | "development": [ 39 | "last 3 chrome version", 40 | "last 3 firefox version", 41 | "last 5 safari version" 42 | ] 43 | }, 44 | "engines": { 45 | "node": ">=18.0" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /data-processing/pipelines/translate-questions.js: -------------------------------------------------------------------------------- 1 | import { writeFileSync } from "fs"; 2 | 3 | function generateQuestionsMap(dataByLanguages) { 4 | const myMap = Object.keys(dataByLanguages).reduce((acc, lg) => { 5 | return { ...acc, [lg]: Object.keys(dataByLanguages[lg][0]) }; 6 | }, {}); 7 | 8 | // because I'm lazy, and you know.. JSON is nicer to read 9 | writeFileSync( 10 | `./datasets/json-outputs/question-maps/question-map-by-language.json`, 11 | JSON.stringify(myMap), 12 | "utf-8" 13 | ); 14 | 15 | return myMap; 16 | } 17 | 18 | /** 19 | * Get translated questions 20 | * @param {*} questionByLanguageMap 21 | * @param {string} targetLang {en, fr, ar} 22 | * @returns translated question 23 | */ 24 | function mapQuestionsForLanguage(questionByLanguageMap, targetLang) { 25 | return questionByLanguageMap.en.map((q, idx) => ({ 26 | [questionByLanguageMap[targetLang][idx]]: q, 27 | })); 28 | } 29 | 30 | export function mapQuestionsAndTranslations(dataByLanguages) { 31 | const qmp = generateQuestionsMap(dataByLanguages); 32 | 33 | const mappedFrQuestions = mapQuestionsForLanguage(qmp, "fr"); 34 | const mappedArQuestions = mapQuestionsForLanguage(qmp, "ar"); 35 | 36 | writeFileSync( 37 | `./datasets/json-outputs/question-maps/ar.json`, 38 | JSON.stringify(mappedArQuestions), 39 | "utf-8" 40 | ); 41 | 42 | writeFileSync( 43 | `./datasets/json-outputs/question-maps/fr.json`, 44 | JSON.stringify(mappedFrQuestions), 45 | "utf-8" 46 | ); 47 | 48 | return { 49 | fr: mappedFrQuestions, 50 | ar: mappedArQuestions, 51 | }; 52 | } 53 | -------------------------------------------------------------------------------- /data-processing/agile.js: -------------------------------------------------------------------------------- 1 | import { readFileSync } from "fs"; 2 | 3 | const fileName = process.argv[2]; 4 | 5 | if (!fileName) { 6 | console.error("Please provide the file name as a command-line argument."); 7 | process.exit(1); 8 | } 9 | 10 | try { 11 | const counts = {}; 12 | const data = readFileSync(fileName, "utf8"); 13 | const lines = data.split("\n").filter((line) => line.trim() !== ""); 14 | 15 | lines.forEach((elm) => { 16 | const [size, method] = elm.split(",,"); 17 | if (counts[size]) { 18 | counts[size][method] = (counts[size][method] || 0) + 1; 19 | } else { 20 | counts[size] = { 21 | [method]: 0, 22 | }; 23 | } 24 | }); 25 | 26 | console.log(counts); 27 | Object.entries(counts).forEach(([size, stats]) => { 28 | const sorted = Object.entries(stats) 29 | .sort(([, a], [, b]) => b - a) 30 | .reduce((r, [k, v]) => ({ ...r, [k]: v }), {}); 31 | 32 | const howManyElmsItHas = Object.values(sorted).reduce((acc, v) => acc + v); 33 | 34 | console.log("```mermaid"); 35 | console.log(size); 36 | console.log(toPieChart(sorted, howManyElmsItHas)); 37 | 38 | console.log("```"); 39 | console.log("\n-----------"); 40 | }); 41 | 42 | console.log("```"); 43 | console.log("\n-----------"); 44 | } catch (error) { 45 | console.error("Error reading the file:", error); 46 | } 47 | 48 | function toPieChart(obj, total) { 49 | return Object.entries(obj).reduce((acc, [k, v]) => { 50 | const percentage = `(${((v * 100) / total).toFixed(2)}%)`; 51 | console.log(k, percentage); 52 | return acc + ` "${k}" : ${v}\n`; 53 | }, "pie\n"); 54 | } 55 | -------------------------------------------------------------------------------- /.github/workflows/website.yaml: -------------------------------------------------------------------------------- 1 | name: Deploy website GitHub Pages 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | permissions: 9 | contents: write 10 | 11 | jobs: 12 | deploy: 13 | name: Deploy to GitHub Pages 14 | runs-on: ubuntu-latest 15 | defaults: 16 | run: 17 | working-directory: website 18 | steps: 19 | - uses: actions/checkout@v4 20 | with: 21 | fetch-depth: 0 22 | 23 | - uses: actions/setup-node@v4 24 | with: 25 | node-version-file: 'website/.nvmrc' 26 | 27 | - uses: pnpm/action-setup@v4 28 | with: 29 | run_install: false 30 | package_json_file: website/package.json 31 | version: latest 32 | 33 | - name: Get pnpm store directory 34 | shell: bash 35 | run: | 36 | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV 37 | 38 | - uses: actions/cache@v4 39 | name: Setup pnpm cache 40 | with: 41 | path: ${{ env.STORE_PATH }} 42 | key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} 43 | restore-keys: | 44 | ${{ runner.os }}-pnpm-store- 45 | 46 | - name: Install dependencies 47 | run: pnpm install 48 | - name: Build website 49 | run: pnpm build 50 | 51 | # Popular action to deploy to GitHub Pages: 52 | # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus 53 | - name: Deploy to GitHub Pages 54 | uses: peaceiris/actions-gh-pages@v4 55 | with: 56 | github_token: ${{ secrets.GITHUB_TOKEN }} 57 | publish_dir: website/build 58 | user_name: 'github-actions[bot]' 59 | user_email: 'github-actions[bot]@users.noreply.github.com' -------------------------------------------------------------------------------- /website/docs/insights/talents-migration.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | draft: true 4 | --- 5 | 6 | # Talents migration 7 | 8 | In the evolving landscape of IT and software engineering, Algerians chase opportunities within and beyond national borders. In this section we will explore this phenomena according to our survey data and interviews we conducted. 9 | 10 | ## Regional dynamics 11 | 12 | According to our survey data, **76%** of the participants who work in Algeria relocated to other wilayas for work in IT. 13 | 14 | ```mermaid 15 | pie title Did participants relocate for work 16 | "No" : 332 17 | "Yes" : 85 18 | "Prefer not to say" : 18 19 | ``` 20 | 21 | Among those who relocated: 22 | 23 | - **49%** went to Algiers. 24 | - **9%** went to Oran 25 | - The rest went to other wilayas (Blida, Tiaret, Tlemcen, Annaba, Sétif, Djelfa, M'Sila, Chlef, Jijel, Tipaza, Mila, El Oued, etc). 26 | 27 | To confirm the assumption that most of the IT jobs are located in Algiers, the capital, we crawled one of the country's biggest job posting portals the findings were the following: 28 | 29 | Across 195 job postings, **90%** are based in Algiers, **1%** are in Oran, the remaining **9%** are jobs in different wilayas (Tipaza, Jijel, Constantine, Blida, Sétif, Aïn Témouchent, Sétif, Tizi Ouzou, Béjaïa, Boumerdès, etc). 30 | 31 | Some companies (both in private and public sectors) provide housing for employees who moved for working, other companies help their employees relocate and find housing in their new locations, while others don't (or can't) afford that. 32 | 33 | According to our interviewees, some startups provide shared accommodations for their employees justified by cutting costs and solidifying the culture. 34 | 35 | According to our data and interviews, some engineers who secure remote working positions move to smaller wilayas. Some of our interviewees claim that they prefer being closer to their friends and family while working, in addition to being able to save more on rent and transportation. 36 | 37 | :::danger TBD 38 | primes IFRI 39 | ::: 40 | 41 | ## International 42 | 43 | ### Education in Algeria vs abroad 44 | 45 | ### Going back to Algeria -------------------------------------------------------------------------------- /website/src/components/HomepageFeatures/index.js: -------------------------------------------------------------------------------- 1 | import clsx from "clsx"; 2 | import Heading from "@theme/Heading"; 3 | import styles from "./styles.module.css"; 4 | 5 | const FeatureList = [ 6 | { 7 | title: "For all Algerians", 8 | Svg: require("@site/static/img/undraw_real_time_analytics_re_yliv.svg") 9 | .default, 10 | description: ( 11 | <> 12 | Gain insights into the Algerian tech landscape with detailed survey 13 | results, showcasing the work and trends of Algerian software engineers 14 | both within Algeria and abroad. 15 | 16 | ), 17 | }, 18 | { 19 | title: "Exploring opportunities", 20 | Svg: require("@site/static/img/undraw_pair_programming_re_or4x.svg") 21 | .default, 22 | description: ( 23 | <> 24 | Uncover diverse opportunities within the Algerian tech sector through 25 | insightful survey findings, empowering strategic decision-making and 26 | fostering innovation. 27 | 28 | ), 29 | }, 30 | { 31 | title: "Navigating Challenges", 32 | Svg: require("@site/static/img/undraw_data_re_80ws.svg").default, 33 | description: ( 34 | <> 35 | Gain valuable insights into the challenges facing the Algerian tech 36 | industry, equipping you with knowledge to navigate obstacles and drive 37 | positive change. 38 | 39 | ), 40 | }, 41 | ]; 42 | 43 | function Feature({ Svg, title, description }) { 44 | return ( 45 |
46 |
47 | 48 |
49 |
50 | {title} 51 |

{description}

52 |
53 |
54 | ); 55 | } 56 | 57 | export default function HomepageFeatures() { 58 | return ( 59 |
60 |
61 |
62 | {FeatureList.map((props, idx) => ( 63 | 64 | ))} 65 |
66 |
67 |
68 | ); 69 | } 70 | -------------------------------------------------------------------------------- /data-processing/load-and-count.js: -------------------------------------------------------------------------------- 1 | import { readFileSync } from "fs"; 2 | 3 | const fileName = process.argv[2]; 4 | 5 | if (!fileName) { 6 | console.error("Please provide the file name as a command-line argument."); 7 | process.exit(1); 8 | } 9 | 10 | try { 11 | const counts = {}; 12 | const data = readFileSync(fileName, "utf8"); 13 | const lines = data.split("\n").filter((line) => line.trim() !== ""); 14 | 15 | lines.forEach((elm) => { 16 | // counts[elm] = (counts[elm] || 0) + 1; 17 | elm.split(",").forEach((s) => { 18 | s = s.trim(); 19 | if (s.length) { 20 | counts[s] = (counts[s] || 0) + 1; 21 | } 22 | }); 23 | }); 24 | 25 | const sortedCounts = Object.entries(counts) 26 | .sort(([, a], [, b]) => b - a) 27 | .reduce((r, [k, v]) => ({ ...r, [k]: v }), {}); 28 | 29 | console.log(sortedCounts); 30 | 31 | console.log("\n-----------"); 32 | console.log("```mermaid"); 33 | console.log(toPieChart(sortedCounts)); 34 | // console.log(toXYChart(sortedCounts)); 35 | // console.log(toMdTable(sortedCounts)); 36 | 37 | console.log("```"); 38 | console.log("\n-----------"); 39 | 40 | console.log( 41 | "Total", 42 | Object.entries(sortedCounts).reduce((acc, e) => acc + e[1], 0) 43 | ); 44 | } catch (error) { 45 | console.error("Error reading the file:", error); 46 | } 47 | 48 | function toPieChart(obj) { 49 | return Object.entries(obj).reduce((acc, [k, v]) => { 50 | // const percentage = `(${((v * 100) / 517).toFixed(2)}%)`; 51 | // console.log(k, percentage); 52 | return acc + ` "${k}" : ${v}\n`; 53 | }, "pie showData\n"); 54 | } 55 | 56 | function toMdTable(obj) { 57 | return Object.entries(obj).reduce((acc, [k, v]) => { 58 | // const percentage = `(${((v * 100) / 517).toFixed(2)}%)`; 59 | // console.log(k, percentage); 60 | 61 | return acc + `|${k}|${v}|\n`; 62 | }, "\n"); 63 | } 64 | 65 | function toXYChart(obj) { 66 | const filtered = Object.fromEntries( 67 | Object.entries(obj).filter(([, v]) => v > 0) 68 | ); 69 | const chart = `xychart-beta horizontal 70 | x-axis ${JSON.stringify(Object.keys(filtered))} 71 | bar ${JSON.stringify(Object.values(filtered))} 72 | `; 73 | 74 | return chart; 75 | } 76 | -------------------------------------------------------------------------------- /website/src/pages/mentions-and-discussions.md: -------------------------------------------------------------------------------- 1 | --- 2 | toc_max_heading_level: 4 3 | --- 4 | # Mentions and Discussions 5 | 6 | Welcome to the **Mentions and Discussions** page, where you'll find some of the references, appearances, and discussions related to our report. Below is a timeline of our engagements with content creators, bloggers, press, and social media. 7 | 8 | ## Timeline 9 | 10 | ### 2024 11 | 12 | #### July 13 | 14 | - **05.07.2024** - **[مختلف الاحصاءات حول اللغات و اطر العمل البرمجية في الجزائر و فرنيسا](https://youtu.be/HkxtD8HAD5U)** (Invited) 15 | - **Platform**: [Abdelali Zekiri's Facebook page](https://www.facebook.com/zekiri.abdelal/videos/975695507688005/) (Recording on Youtube) 16 | - **Description**: An overview of the report, and some of the key insights from [trends](/docs/insights/technology-trends) and [salaries](/docs/insights/remuneration) pages. 17 | 18 | #### August 19 | 20 | - **01.08.2024** - **[Insights from Algeria Developer survey](#)** (Invited) 21 | - **Platform**: [Algerian Tech hub community on Discord](https://discord.gg/rkjp7JXy) 22 | - **Description**: A Discord stage session where we talked about key insights from our survey, then we opened a discussion on how we can solve some of the challenges we raised. Some participants highlighted the confusion and different challenges we have with e-payments, and others pointed to the need of having more podcasts for Algerian developers. 23 | 24 | - **15.08.2024** - **[مناقشة تقرير إحصائيات المطوّرين](https://www.youtube.com/watch?v=b0T0h8wr0m8)** (Invited) 25 | - **Platform**: [Algerian Tech Makers on Discord](https://discord.gg/ZaFbxVmH?event=1273061671933579284) 26 | - **Description**: A Discord stage session where we talked about key insights from our survey. The session was recorded and will be published on [ATM's Youtube channel](https://www.youtube.com/watch?v=b0T0h8wr0m8) 27 | 28 | #### December 29 | 30 | - **29.12.2024** - Insights from the State of Software engineering in Algeria 31 | - **Location**: Oran (In-person event) 32 | - **Description**: First time presenting the project for a live audience in-person. The project was presented in one of **Ga3da of code** local meetup my friend [Taym](https://x.com/taym95) and I organized in Oran (Algeria). 33 | 34 | ## Contact Information 35 | 36 | For inquiries or collaboration opportunities, please find our [contact here](/contact). 37 | -------------------------------------------------------------------------------- /website/functions/_middleware.js: -------------------------------------------------------------------------------- 1 | async function errorHandling(context) { 2 | try { 3 | return await context.next(); 4 | } catch (err) { 5 | return new Response(`${err.message}\n${err.stack}`, { status: 500 }); 6 | } 7 | } 8 | 9 | /** 10 | * Parse HTTP Basic Authorization value. 11 | * @param {Request} request 12 | * @throws {Error} 13 | * @returns {{ user: string, pass: string }} 14 | */ 15 | function basicAuthentication(request) { 16 | const Authorization = request.headers.get("Authorization"); 17 | 18 | const [scheme, encoded] = Authorization.split(" "); 19 | 20 | // The Authorization header must start with Basic, followed by a space. 21 | if (!encoded || scheme !== "Basic") { 22 | throw new Error("Malformed authorization header."); 23 | } 24 | 25 | // Decodes the base64 value and performs unicode normalization. 26 | // @see https://datatracker.ietf.org/doc/html/rfc7613#section-3.3.2 (and #section-4.2.2) 27 | // @see https://dev.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/normalize 28 | const buffer = Uint8Array.from(atob(encoded), (character) => 29 | character.charCodeAt(0) 30 | ); 31 | const decoded = new TextDecoder().decode(buffer).normalize(); 32 | 33 | // The username & password are split by the first colon. 34 | //=> example: "username:password" 35 | const index = decoded.indexOf(":"); 36 | 37 | // The user & password are split by the first colon and MUST NOT contain control characters. 38 | // @see https://tools.ietf.org/html/rfc5234#appendix-B.1 (=> "CTL = %x00-1F / %x7F") 39 | if (index === -1 || /[\0-\x1F\x7F]/.test(decoded)) { 40 | throw new Error("Invalid authorization value."); 41 | } 42 | 43 | return { 44 | user: decoded.substring(0, index), 45 | pass: decoded.substring(index + 1), 46 | }; 47 | } 48 | 49 | async function authentication(context) { 50 | // The "Authorization" header is sent when authenticated. 51 | if (context.request.headers.has("Authorization")) { 52 | // extract env vars 53 | const BASIC_USER = context.env.BASIC_USER; 54 | const BASIC_PASS = context.env.BASIC_PASS; 55 | 56 | // Throws exception when authorization fails. 57 | const { user, pass } = basicAuthentication(context.request); 58 | if (BASIC_USER !== user || BASIC_PASS !== pass) { 59 | return new Response("Invalid credentials. Please login.", { 60 | status: 401, 61 | headers: { 62 | // Prompts the user for credentials. 63 | "WWW-Authenticate": 'Basic realm="my scope", charset="UTF-8"', 64 | }, 65 | }); 66 | } 67 | 68 | if (BASIC_USER === user && BASIC_PASS === pass) { 69 | return context.next(); 70 | } 71 | } else { 72 | // Not authenticated. 73 | return new Response("You are not authenticated", { 74 | status: 401, 75 | headers: { 76 | // Prompts the user for credentials. 77 | "WWW-Authenticate": 'Basic realm="my scope", charset="UTF-8"', 78 | }, 79 | }); 80 | } 81 | } 82 | 83 | export const onRequest = [authentication]; 84 | -------------------------------------------------------------------------------- /website/src/pages/cookie.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Cookie policy for this website. 3 | --- 4 | 5 | # Cookie Policy for The State of Software Engineering in Algeria 6 | 7 | This is the Cookie Policy for The State of Software Engineering in Algeria, accessible from https://state-of-algeria.dev/ 8 | 9 | **What Are Cookies** 10 | 11 | As is common practice with almost all professional websites this site uses cookies, which are tiny files that are downloaded to your computer, to improve your experience. This page describes what information they gather, how we use it and why we sometimes need to store these cookies. We will also share how you can prevent these cookies from being stored however this may downgrade or 'break' certain elements of the sites functionality. 12 | 13 | **How We Use Cookies** 14 | 15 | We use cookies for a variety of reasons detailed below. Unfortunately in most cases there are no industry standard options for disabling cookies without completely disabling the functionality and features they add to this site. It is recommended that you leave on all cookies if you are not sure whether you need them or not in case they are used to provide a service that you use. 16 | 17 | **Disabling Cookies** 18 | 19 | You can prevent the setting of cookies by adjusting the settings on your browser (see your browser Help for how to do this). Be aware that disabling cookies will affect the functionality of this and many other websites that you visit. Disabling cookies will usually result in also disabling certain functionality and features of the this site. Therefore it is recommended that you do not disable cookies. 20 | 21 | **The Cookies We Set** 22 | 23 | * Site preferences cookies 24 | 25 | In order to provide you with a great experience on this site we provide the functionality to set your preferences for how this site runs when you use it. In order to remember your preferences we need to set cookies so that this information can be called whenever you interact with a page is affected by your preferences. 26 | 27 | 28 | **Third Party Cookies** 29 | 30 | In some special cases we also use cookies provided by trusted third parties. The following section details which third party cookies you might encounter through this site. 31 | 32 | * This site uses Google Analytics which is one of the most widespread and trusted analytics solution on the web for helping us to understand how you use the site and ways that we can improve your experience. These cookies may track things such as how long you spend on the site and the pages that you visit so we can continue to produce engaging content. 33 | 34 | For more information on Google Analytics cookies, see the official Google Analytics page. 35 | 36 | 37 | **More Information** 38 | 39 | Hopefully that has clarified things for you and as was previously mentioned if there is something that you aren't sure whether you need or not it's usually safer to leave cookies enabled in case it does interact with one of the features you use on our site. 40 | 41 | For more general information on cookies, please read [the Cookies Policy article](https://www.cookiepolicygenerator.com/sample-cookies-policy/). 42 | 43 | However if you are still looking for more information then you can contact us through one of our preferred contact methods: 44 | 45 | * By visiting this link: https://state-of-algeria.dev/contact -------------------------------------------------------------------------------- /website/src/pages/support.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Information on how to support our initiative. 3 | --- 4 | 5 | # Support Our Initiative 6 | 7 | Thank you for visiting our website and showing interest in our research project! We've dedicated our time and resources to conduct a comprehensive survey and research study to benefit the Algerian developer community. Your support can help us make this initiative a success. 8 | 9 | ## Our Impact 10 | 11 | Over the course of more than three months, while juggling a full-time job and personal commitments, my wife and I dedicated ourselves to conducting a comprehensive survey and research study to benefit the Algerian developer community. In this time, we collected 517 responses from Algerian developers, conducted extensive research, and interviewed industry experts. Our efforts have resulted in valuable insights that can empower developers and contribute to the growth of the tech industry in Algeria. 12 | 13 | ## How You Can Help 14 | 15 | Your support, even as a one-time contribution, can make a significant difference. Here's how you can contribute: 16 | 17 | - **Donate:** Your donation, no matter the amount, will directly support our research efforts and ensure that our findings reach as many developers as possible. Click the link below to make a secure donation through [`Ko-fi`](https://ko-fi.com/fcmam5), [PayPal](https://www.paypal.com/donate/?hosted_button_id=HFAWPMCD3FVF6), or using [🩷 Sponsor] link on this website's Github repository: https://github.com/Fcmam5/state-of-dz-swe-2024. 18 | 19 | - **Spread the Word:** Share our page with your networks and help us reach individuals who may be interested in supporting our cause. Your help in spreading the word is greatly appreciated. 20 | 21 | - **Contribute to the Website's Source Code:** If you have expertise in web development or coding, you can contribute to enhancing the functionality and usability of our website. Please file an issue on our [GitHub repository](https://github.com/Fcmam5/state-of-dz-swe-2024) if you're interested in suggesting improvements or reporting any issues. 22 | 23 | 24 | - **Translate Content:** If you're fluent in languages other than English, such as French, Arabic, or Tamazight, you can help us translate our content to reach a wider audience. Your assistance in making our resources accessible to more people is invaluable. Please contact us at if you're willing to contribute in this way. 25 | 26 | - **Send Nice Messages or Make Duaa (دعاء):** Your kind words and prayers are also a form of support. If you'd like to send us a message of encouragement or include us in your prayers, we would be deeply grateful for your thoughtful gesture. 27 | 28 | ## Thank You! 29 | 30 | Your contribution, whether big or small, is deeply appreciated. We extend our heartfelt gratitude to all those who choose to support our initiative. Together, we can make a meaningful impact on the Algerian developer community. 31 | 32 | ## Contact Us 33 | 34 | If you have any questions, feedback, or would like to learn more about our work, please don't hesitate to reach out to me at: 35 | 36 | - Twitter/X: [@Fcmam5](https://twitter.com/Fcmam5) 37 | - LinkedIn: [@fcmam5](https://www.linkedin.com/in/fcmam5/) 38 | - Email: `au54vz9rk[at]mozmail[.]com` 39 | - Discussion on GitHub: https://github.com/Fcmam5/state-of-dz-swe-2024/discussions 40 | 41 | Together, Let's Empower Algerian Developers! 42 | 43 | Buy Me a Coffee at ko-fi.com 44 | 45 | -------------------------------------------------------------------------------- /website/docs/appendix/methodology.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | description: Methodology used in the Algerian software engineering report. 4 | --- 5 | 6 | # Methodology 7 | 8 | ## The survey 9 | 10 | The survey was fielded form February 1st to February 29th, 2024. It collected **517 entries**. 11 | 12 | We estimated that the survey should take between 5 to 10 minutes to complete. The form was first designed in English then we made sure to translate it to Arabic and French. 13 | 14 | We used [Google Forms](https://www.google.com/forms/about/) to capture answers to have a user experience that our participants are used to, and because it was a free and easy option to go for. 15 | 16 | The survey was anonymous, we didn't collect any personal identifiable information, and we didn't use any analytics tools on the forms, or on [the landing page](/blog/kickstart-survey-2024/). 17 | 18 | #### Confidentiality & data usage 19 | 20 | Participation in the survey was entirely voluntary. All responses were kept confidential. No personal identifiable information was collected or disclosed in any reports or publications. 21 | 22 | All data was analyzed and reported in aggregate, ensuring that individual responses cannot be traced back to specific participants. 23 | 24 | To ensure compliance with Algerian regulations, we went through the law N°18-07, and we requested a confirmation from [ANPDP](https://anpdp.dz/fr/quand-et-a-qui-sapplique-la-loi-n18-07/) that we are not collecting any personally identifiable information. 25 | 26 | #### Data analysis 27 | 28 | In the first phase of our data analysis we mapped data from different forms with [our scripts](https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/data-processing). Then we cleaned up our data from fake entries. 29 | 30 | To determine "fake entries" we cross checked some inputs, compared salaries to role and experience levels and checked free-text answers. 31 | 32 | Data cleaning was done in serval phases: 33 | 34 | ##### 1. Cleaning pass 1: Manually flagging entries 35 | 36 | We ran a manual scan (yes, we went through 500+ lines of Excel) and flagged entries with 3 colors: 37 | 38 | 1. 🟩 **Green**: Entries that seems coherent e.g. age, years of experience, job title/level and salary are reasonable. 39 | 2. 🟧 **Orange**: Entries that seem "odd", an exaggerated salary, or a high title for few years of experience, a long list of selected "used" technologies, etc. 40 | 3. 🟥 **Red**: Entries that have conflicting data and it's clear that it's fake (for example we had an entry from a student who has 2 years of experience and who claimed that their salary is 2000000000 euros per year), or duplicated. 41 | 42 | While doing that, we redacted company names and swear words in some entries (some company names were mentioned in free text fields in "challenges" question). 43 | 44 | After flagging all entries, we did a second pass on the dataset to cross-check the flags before we export the "clean" dataset. 45 | 46 | ##### 2. Cleaning pass 2: Creating data clusters and find anomalies 47 | 48 | In this phase we clustered data to identify abnormal entries that we might missed, or mis-flagged in the first phase. 49 | 50 | ##### 2. Cleaning pass 3: Interviewing experts and actors in Algerian tech industry 51 | 52 | Since data is unavailable or outdated, and our team is not working in the Algerian market, It was only fair to run our findings through experts and personas who are working day-to-day in the Algerian tech industry. 53 | 54 | The experts and personas are defined in our [insights page](/docs/insights). 55 | 56 | ## Interviews 57 | 58 | ## Research & Crawling -------------------------------------------------------------------------------- /website/static/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.14, written by Peter Selinger 2001-2017 9 | 10 | 12 | 14 | 17 | 20 | 35 | 43 | 44 | 48 | 49 | 52 | 53 | 55 | 57 | 59 | 61 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /website/src/pages/index.js: -------------------------------------------------------------------------------- 1 | import clsx from "clsx"; 2 | import Link from "@docusaurus/Link"; 3 | import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; 4 | import Layout from "@theme/Layout"; 5 | import HomepageFeatures from "@site/src/components/HomepageFeatures"; 6 | 7 | import Heading from "@theme/Heading"; 8 | import styles from "./index.module.css"; 9 | 10 | function HomepageHeader() { 11 | const { siteConfig } = useDocusaurusContext(); 12 | return ( 13 |
14 |
15 | 16 | {siteConfig.title} 17 | 18 |

{siteConfig.tagline}

19 |
20 | 24 | Read the full report 25 | 26 |
27 | {/*

28 | 29 | Explore the Algerian landscape 30 | 31 |

*/} 32 |
33 |
34 | ); 35 | } 36 | 37 | function DemoVideo() { 38 | return ( 39 |
40 |

Have a sneak peek into the report!

41 | 49 |
50 | ); 51 | } 52 | 53 | function SubscribeToMailingList() { 54 | return ( 55 |
56 |

It's just the beginning

57 | 58 |

59 | This work has been challenging, and taught us a lot. Now we are more 60 | ready to raise the challenge again! 61 |

62 |

63 | For the next editions, we plan to gather more data, get more 64 | participants, talk to more people, and to make a lot of noise! 65 |

66 |
67 | 71 | 📨 Subscribe to our newsletter! 72 | 73 |
74 |

75 | 76 | We hate spam as much as you do (or maybe more), 77 |
so we're keeping this mailing list only for{" "} 78 | #dzDevSurvey24-related news 79 |
80 |

81 |
82 | ); 83 | } 84 | 85 | function FeedbackComponent() { 86 | return ( 87 |
88 |

Feedback and Support

89 | 90 |

91 | This work isn't the first of its kind in Algeria, and it might not be 92 | the perfect work Algeria deserves 93 |

94 |

95 | If you think we did a good job or have suggestions on how we can 96 | improve, we'd love to hear from you: 97 |

98 |
99 | 100 | Say Thanks and Support Our Work 101 | {" "} 102 | 103 | Share Your Thoughts or Suggestions 104 | 105 |
106 |
107 | ); 108 | } 109 | export default function Home() { 110 | const { siteConfig } = useDocusaurusContext(); 111 | return ( 112 | 116 | 117 |
118 | 119 | 120 | 121 |
122 | 123 |
124 |
125 | ); 126 | } 127 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The state of Algerian Software engineering 2024 2 | 3 | Welcome to the official repository for [**The state of Algerian Software engineering 2024** (state-of-algeria.dev)](https://state-of-algeria.dev/) report and website. 4 | 5 | This project is dedicated to providing a comprehensive overview of the software engineering landscape in Algeria as of 2024. The report aims to capture key trends, challenges, and opportunities in the Algerian software engineering sector, serving as a valuable resource for developers, companies, educators, and policymakers. 6 | 7 | We based this study on a survey we ran from February to March 2024, where we collected inputs from 517 participants. Then we conducted several interviews with experts and different actors in IT fields. 8 | 9 | The report is published as a website ([state-of-algeria.dev](https://state-of-algeria.dev/)), and we are working on providing a PDF summary for it. 10 | 11 | > [!TIP] 12 | > The website is also available as a [progressive web app (PWA)](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/What_is_a_progressive_web_app) and it can be browsed offline 13 | > ![Screenshot of the trends page](.readme/assets/pwa-trends-page.png) 14 | 15 | We intentionally used [MermaidJS](https://mermaid.js.org/) for plots and graphs to make content translatable and searchable by website users, and to make it easier for us in code-reviews, also, it's fun to work with! 16 | 17 | ## About this repository 18 | 19 | This repository contains the website's content under [`website`](https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/website) directory. 20 | 21 | The website is build with [`Docusaurus`](https://docusaurus.io/), a framework that just makes sense. 22 | 23 | We used it for different reasons: 24 | 25 | 1. Easy setup, with a comprehensive documentation. 26 | 2. Allows to both use Markdown and React. Markdown made it easier convenient to just focus on writing the content and not caring much about the website's structure. And React made things flexible enough when needed. 27 | 3. It had enough tools and integrations to get the job done (e.g. Algolia and Mermaid libraries). 28 | 4. Developers, who are our main target audience, are (or should be) used to navigate in documentation websites, or some OSS books online, and we wanted to provide the same UX to them. 29 | 30 | In the second folder ([`data-processing`](https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/data-processing)) I shamelessly pushed some dirty and hacky scripts I used to perform some operations, transformations and formatting to markdown or Mermaid graphs. 31 | 32 | Some data science was done by my brother [Oussama Fortas](https://github.com/spertch9a), and he pushed its code on a private repository. 33 | 34 | ## Support 35 | 36 | If you want to support this initiative, head to our support page: https://state-of-algeria.dev/support (since you're on Github: [`website/src/pages/support.md`](website/src/pages/support.md)) 37 | 38 | You can donate through the platforms we linked to in that page, or on this repository's sponsor button. 39 | 40 | ## Contributing 41 | 42 | We would like to freeze the content for this first edition, we appreciate your feedback and we are collecting it from different sources (social media, [our feedback page](https://state-of-algeria.dev/feedback), etc). 43 | 44 | If you want to improve our website's usability, SEO, etc. Please [create a Github issue](https://github.com/Fcmam5/state-of-dz-swe-2024/issues/new). 45 | 46 | And if you want to extend our content, please contact us first and we see how to incorporate your contribution. It would most likely be published in an appendix or as a page in our blog (https://state-of-algeria.dev/blog). 47 | 48 | ### Help us spread the word about this project, and start conversations around it 49 | 50 | Please use `#dzDevSurvey24` and/or tag me (Abdeldjalil Fortas, or "Fcmam5") when you start a discussion about one of the topic we brought in this report. 51 | 52 | If you are a content creator, and you mentioned our work, please link to it [here in `mentions-and-discussions.md` file](website/src/pages/mentions-and-discussions.md), it will appear in: https://state-of-algeria.dev/mentions-and-discussions 53 | 54 | ## License 55 | 56 | This project is licensed under the [MIT License](./LICENSE). -------------------------------------------------------------------------------- /website/blog/2024-02-01-kickstart/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: kickstart-survey-2024 3 | date: 2024-02-01T00:00 4 | title: Algeria Developer Survey 2024 5 | authors: 6 | - Fcmam5 7 | tags: [general, english] 8 | --- 9 | 10 | In early February 2024 we initiated an effort to audit and assess the Algerian software engineering industry. 11 | 12 | We have created a survey available in three languages: [Arabic](https://forms.gle/gZWWXLC9Gh1d1BJFA), in [English](https://forms.gle/CCks5wiEXB7MgBqV7), and in [French](https://forms.gle/D9GLGqS7bR3qQr43A). 13 | 14 | The objective of this survey is to identify trends and challenges within the Algerian IT sector. It covers Algerians residing both in Algeria and abroad, regardless of whether they work full-time, part-time, or freelance, and whether they are employed by Algerian agencies or work remotely for foreign companies. 15 | 16 | 17 | 18 | Our goal is to gather input from our community to gain a better understanding of our industry's trends, average salaries, preferred Wilayas for engineers, and the most commonly used programming languages or CI/CD tools. 19 | 20 | The primary goal of our survey is to provide a comprehensive overview of the Algerian landscape and to publicly share aggregated results from our three surveys on this website. This will enable all stakeholders to gain a deeper understanding of our field and identify potential opportunities for investment. 21 | 22 | 23 | ## FAQ 24 | 25 | ### Who can participate in this survey? 26 | 27 | This survey is open to **Algerians work in software engineering industry**. To the Algerians who work from Algeria either for local or foreign companies, on-site or remotely. 28 | 29 | The survey also allocates a section for Algerians who live and work abroad. 30 | 31 | If you are still a student and you are learning to hack and code, you must not participate but please keep an eye on the results, maybe this will answer some of your questions. 32 | 33 | ### Is this survey anonymous? 34 | 35 | Yes, as stated above and in the headers of our forms: The survey is anonymous, we do not record any personal data. 36 | 37 | When the survey is done, we will run a scan to make sure that no PIIs were added in free text inputs before we start processing results. 38 | 39 | The results will be shared as aggregates, as numbers and percentages or graphs, we won't share individual entries to save people's privacy (we believe you are smart and that it's a smart world, so we don't trust anyone). 40 | 41 | ### Where can I see the results 42 | 43 | We will publish the results in this website and we will do our best to breakdown the results for a better analysis. We will also make sure to share the links to our results page to different channels of our social media (where you probably found out about this link). 44 | 45 | ### Who can benefit from this survey? 46 | 47 | We believe this survey can answer some questions we always ask, we want this survey to help: 48 | 49 | - **Startups** by highlighting the trends, as they may want to use technologies which are trending in the market to make their tech stacks attractive to talents. 50 | - **Hiring managers and headhunters** by showing the trends in salaries and perks to better incentivize and attract talents. 51 | - **Aspiring engineers and students** by highlighting the trends, the salaries and opportunities in the country or abroad. We want our new engineers to see what other Algerians are using. 52 | - **Tech bloggers and IT schools** by highlighting what natural languages Algerian engineers are using, and what are their main interests. 53 | - **Clubs, associations and government agencies** by highlighting the main non-technical challenges Algerians are facing. 54 | - **Software engineers** by expanding the landscape they might know, and pointing to opportunities in other countries, other Wilayas, other working models, other industries, or for different tools and skills. 55 | - **Entrepreneurs** who can see an opportunity in some of the challenges Algerians face, or who can invest in one of the strength they can see in from the results. 56 | 57 | ### How can I participate? 58 | 59 | You can fill one of the forms in the language you feel the most comfortable with: 60 | 61 | - For English: [https://forms.gle/CCks5wiEXB7MgBqV7](https://forms.gle/CCks5wiEXB7MgBqV7) 62 | - For Arabic: [https://forms.gle/gZWWXLC9Gh1d1BJFA](https://forms.gle/gZWWXLC9Gh1d1BJFA) 63 | - For French: [https://forms.gle/D9GLGqS7bR3qQr43A](https://forms.gle/D9GLGqS7bR3qQr43A) 64 | 65 | If you want to support us more, please share this initiative with your network. 66 | 67 | -------------------------------------------------------------------------------- /website/src/pages/terms-of-use.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: Terms of use & license of this website. 3 | --- 4 | 5 | # Terms of Use 6 | 7 | Welcome to ["The State of Software Engineering in Algeria" (state-of-algeria.dev)](https://state-of-algeria.dev/) website (the "Website"). This Website is owned and operated by Abdeldjalil Fortas ("we," "us," or "our"). By accessing or using this Website, you agree to comply with and be bound by the following terms and conditions of use. If you do not agree with any part of these terms, you may not use the Website. 8 | 9 | ## 0. License 10 | 11 | This website is licensed under a [Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/). You are free to: 12 | 13 | - Share: copy and redistribute the material in any medium or format; 14 | 15 | Under the following terms: 16 | 17 | - Attribution: You must give appropriate credit, provide a link to the license, and indicate if any changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. 18 | - NonCommercial: You may not use the material for commercial purposes. 19 | - NoDerivatives: You may not remix, transform, or build upon the material (**you may only distribute the material as provided by the licensor**). 20 | 21 | 22 | ## 1. Content Ownership and Copyright 23 | 24 | All content published on the Website, including but not limited to articles, reports, survey results, interviews, and research findings, is the property of Abdeldjalil Fortas and contributors mentioned in https://github.com/Fcmam5/state-of-dz-swe-2024/graphs/contributors page, other contributors will be indicated otherwise. This content is protected by copyright laws and international treaties. 25 | 26 | ## 2. Permitted Use 27 | 28 | You may view, download, and print copies of the content solely for your personal use or for educational purposes related to software engineering in Algeria, provided that you do not remove or alter any copyright, trademark, or other proprietary notices from the copies of the content. 29 | 30 | ## 3. Prohibited Use 31 | 32 | You may not: 33 | - Reproduce, distribute, modify, create derivative works of, publicly display, or perform the content except as expressly permitted herein; 34 | - Use the content for any commercial purpose without obtaining prior written consent from Abdeldjalil Fortas; 35 | - Use any automated means, such as data mining, robots, or similar data gathering and extraction tools, to access or scrape the content; 36 | - Circumvent any technological measures employed to control access to or use of the Website or its content. 37 | 38 | ## 4. Updates and Modifications 39 | 40 | We may update, modify, or remove content from the Website at any time without prior notice. We reserve the right to modify these Terms of Use at our discretion. Any changes will be effective immediately upon pushing to the `main` branch on https://github.com/Fcmam5/state-of-dz-swe-2024. Your continued use of the Website after any such changes constitutes your acceptance of the new terms. 41 | 42 | ## 5. Privacy 43 | 44 | Your use of the Website is also subject to our Privacy Policy, which governs the collection, use, and disclosure of your personal information. By using the Website, you consent to the terms of the Privacy Policy. 45 | 46 | ## 6. Disclaimer of Warranties 47 | 48 | The content on the Website is provided "as is" without warranties of any kind, either express or implied. Abdeldjalil Fortas disclaims all warranties, including but not limited to warranties of merchantability, fitness for a particular purpose, and non-infringement of intellectual property rights. 49 | 50 | ## 7. Limitation of Liability 51 | 52 | In no event shall Abdeldjalil Fortas be liable for any direct, indirect, incidental, special, or consequential damages arising out of or in any way connected with your use of or inability to use the Website or its content, even if we have been advised of the possibility of such damages. 53 | 54 | ## 8. Governing Law 55 | 56 | These Terms of Use shall be governed by and construed in accordance with the laws of Algeria, without regard to its conflicts of law principles. 57 | 58 | ## TL;DR (م-التالي/م-لخّر) 59 | 60 | You can read and learn from our content, but don't steal it or use it for commercial purposes without asking. We update the site sometimes, and if you use it, you agree to play nice and follow Algerian laws. 61 | 62 | 63 | ## 9. Contact Us 64 | 65 | If you have any questions about these Terms of Use, please contact us at `au54vz9rk[at]mozmail[.]com`, or on the links in our [contact page](/contact) 66 | -------------------------------------------------------------------------------- /website/blog/2024-02-29-end/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: 2024-survey-closing 3 | date: 2024-02-29T00:00 4 | title: Closing Algeria Developer Survey 2024 5 | authors: 6 | - Fcmam5 7 | tags: [general, english] 8 | --- 9 | 10 | After one month of [starting this initiative](/blog/kickstart-survey-2024), we come to end for this first sprint of collecting input. 11 | 12 | We want to thank each and every one of you who participated, shared our links or gave constructive feedback. 13 | 14 | Thanks to all who endorsed this initiative and shared it on their social media with their networks, and many thanks to all people who feedbacked the first drafts and iterations of the forms. 15 | 16 | With this first sprint coming to an end, we are thrilled to start the second (and most fun 🤓) part of our study: Cleaning up, then analyzing the data, then hopefully presented to you in a nice format in this website. 17 | 18 | 19 | 20 | ## What's next? 21 | 22 | In order to provide good insights, we want to go through each entry and cleanup fake or non-meaningful entries. After the cleanup phase, we want to merge inputs from all 3 forms programmatically then start processing them. 23 | 24 | Our survey used Google Forms, and we ran the research with 3 forms, one for each language ([Arabic](https://forms.gle/gZWWXLC9Gh1d1BJFA), [English](https://forms.gle/CCks5wiEXB7MgBqV7), and [French](https://forms.gle/D9GLGqS7bR3qQr43A)), therefor we have to merge them, then translate them to one language to make clustering and aggregation possible for us. 25 | 26 | This second phase of clustering should produce our first output: A page for graphs per question (exactly as we were watching on our Google Forms UI). 27 | 28 | Since that page won't be enough, we want to go an extra mile and run analysis to extract insights by clustering data. We want to answer questions like: 29 | 30 | - What's the most used programming language? 31 | - Do Algerians with no degrees in IT get paid as well as IT graduates? 32 | - What roles IT are missing? 33 | - Do Algerians move to other Wilayas for a job in IT? What perks (besides the salary) their jobs offer? 34 | 35 | Some answers cannot be answered with our data sample only, so we will need to interview experts who are working in the Algerian market, and/or have a long experience working in IT fields in Algeria. And that would be our phase three. 36 | 37 | Then in the last phase, we will draft a document in this website and publish it publicly. 38 | 39 | ## When are we gonna publish the results? 40 | 41 | That's one of the most frequent questions we had, and the answer is: Hopefully by Ramdhan, mid-March 2024. 42 | 43 | This work will take time, and we all have jobs and personal responsibilities which prevents us from pushing more for this project to deliver it sooner. 44 | 45 | ## Where will we publish the results? 46 | 47 | The results will be published in [this](https://state-of-algeria.dev/) (~~https://fcmam5.me/state-of-dz-swe-2024/~~ https://state-of-algeria.dev) website. 48 | 49 | ## In which format? 50 | 51 | Results format will be textual, tabular and in graphs. 52 | 53 |
54 | Example 55 | 56 | **Do you live in Algeria?** 57 | 58 | ```mermaid 59 | pie 60 | "Yes": 1 61 | "No": 1 62 | "Preferred not to say": 1 63 | 64 | ``` 65 | 66 | | Label | Count | 67 | | :------------------: | :---: | 68 | | Yes | 1 | 69 | | No | 1 | 70 | | Preferred not to say | 1 | 71 |
72 | 73 | ## How can I support? 74 | 75 | You can support us by contributing to [this initiative's repository](https://github.com/Fcmam5/state-of-dz-swe-2024), by fixing typos, or by improving this website. 76 | 77 | You can also contribute by asking questions you think our data can answer to have a richer website, and a more interesting analysis for everyone. 78 | 79 | And if you want to support me (Abdeldjalil), you are also very welcome to [buy me a coffee](https://ko-fi.com/fcmam5) online, or let's catch up to have a real coffee in Berlin, in Oran or probably anywhere else ☕️🇩🇿. 80 | 81 | I refused, and I refuse to sell raw data. The raw answers/entries are not for sale! We stated in our privacy note that we won't share individual answers, and we keep that promise. 82 | 83 | ## How can I stay notified when new results are published? 84 | 85 | When results are ready, I will publish the link to this website again on all of my social media ([@Fcmam5 on Twitter](https://twitter.com/fcmam5), on [LinkedIn](https://www.linkedin.com/in/fcmam5/), and on multiple groups on Facebook). 86 | 87 | I wouldn't enable Push notifications, or bother to ask you to insert your email to stay on touch. 88 | 89 | ---- 90 | 91 | Until the results are ready, I wish you all happy and fun hacking! May your pipelines be always green 🙏 92 | -------------------------------------------------------------------------------- /website/src/pages/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: About us. 3 | --- 4 | # About us 5 | 6 | Hi there! 7 | 8 | I'm Abdeldjalil Fortas ([Fcmam5](https://about.me/Fcmam5)), an Algerian software engineer currently living in Berlin. 9 | 10 | I graduated from Oran University1 Ahmed Ben Bella (ex-IGMO). I am grateful for what my country and my community taught me and for everything they gave me. 11 | 12 | I always try to give my community back, and always try to give my country the best I can. In a typical "Immigri" fashion, I have hope in Algeria, and I don't want to miss the chance building a better country for us and for our future generations. 13 | 14 | The idea to launch this survey is obviously not a creative one, and my initiative is definitely not the first one. I just did it because I felt like it has to be done, because I myself needed to understand some trends, and know more about some challenges so I can capitalize (or invest) in them when I start a business in my home country. 15 | 16 | Being an active member, sometimes a lurker, and a moderator of [DZ DÉVELOPPEURS](https://www.facebook.com/groups/dzdevs) one of the biggest Facebook groups in Algeria, I always see the same questions from entrepreneurs, from students and from different actors in the Algerian ICT system... People asking about average salaries, or if a certain language is still relevant in the market, or what's the most used language for building applications for a certain platform. 17 | 18 | I wished we had a study, I wished I could see Algeria in the different global developer surveys (like StackOverflow's or the stateOfJS), and when I didn't find any recent reports (other than [Assem's](https://medium.com/@yasserdrif/solving-algerias-engineering-brain-drain-%EF%B8%8F-a-study-about-salaries-and-military-training-b383293683ca) for 2020) I pulled the trigger on starting this one. 19 | 20 | I got inspired from different surveys, for example: 21 | 22 | - [StackOverflow Survey](https://survey.stackoverflow.co/2023/) 23 | - [Assem's survey about software development salaries in Algerian market](https://forms.gle/ddab5UbcNiQxTsif8) 24 | - [State of JavaScript](https://survey.devographics.com/en-US/survey/state-of-js/2023) 25 | - [DAAS and Digital Arabia Network's paper: DZGITAL TRANSFORMATION IN ALGERIA](https://digitalarabia.network/media/pages/articles/grab-a-coffee-read/da075f7bd5-1637052954/strategy_paper_algerien_20210406.pdf) 26 | 27 | I also collected some frequently asked questions in DZ DÉVELOPPEURS group, and (of course) used ChatGPT for brainstorming. 28 | 29 | My wife provided a great help in designing the survey, fixing PLENTY of typos in the questionnaire, reviewing reports and helping in designing questions for interviews, then of course: fixing PLENTY of typos in the different articles and pages in this website. 30 | 31 | Data science and machine learning magic becomes a must when it comes to analyzing 42 Q&A from 500+ people, and that requires people who speak fluent Python and algebra, there where my brother Oussama came to help, he translated my Excel sheets and my questions to Python and interactive graphs. 32 | 33 | When I was writing about Open Source, I wanted to interview Djalal Harouni and get his opinions, he replied as the pillar of Algerian Open source he is: he asked me to add him to this website/content repository, and he wrote a big part of the page and enriched it with resources and with positive examples from the Algerian Open Source community. 34 | 35 | These people are the reason I use "we", "us" and "our" when talking about this initiative. 36 | 37 | This project took us around 4 months, from designing the survey, translating the questionnaire to French and Arabic, validating it and collecting feedback, then promoting it (almost) every day of February 2024. During that month I spammed various groups on Facebook and LinkedIn, contacted a lot of content creators and pages. 38 | 39 | Some people were kind enough to share our posts on their networks, others were nicer and they endorsed the initiative and wrote about it in their posts. 40 | 41 | For the length of march, I had to squeeze long hours of working on analyzing results, continue designing this website and working on its content in my days along my full-time job and my personal commitments. 42 | 43 | When analyzing data and writing the report, we had to make a lot of research to support our statements. We found a lot of useful resources and listed some of them in our [appendix page](/docs/appendix/appendix), we also extracted some questions for our expert interviews. 44 | 45 | I hope we gave something useful to our community. I hope we delivered insightful results and gained your trust to contribute in our future editions. 46 | 47 | If you think this work is worth a tip, you can [donate or buy me a coffee](https://ko-fi.com/fcmam5), or you can go to [the support page](/support). 48 | 49 | If you have any questions, or just want to keep in touch, please feel free to connect on Twitter [@Fcmam5](https://twitter.com/Fcmam5) or [LinkedIn](https://www.linkedin.com/in/fcmam5/), or via e-mail: `au54vz9rk[at]mozmail[.]com`. 50 | 51 | -------------------------------------------------------------------------------- /website/docs/insights/agile-ways-of-working.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 9 3 | description: Discover the agile methodologies used by Algerian software engineers and their correlation with company sizes. 4 | --- 5 | import Admonition from '@theme/Admonition'; 6 | 7 | # Agile ways of working 8 | 9 | 10 | 11 | Because we are also Agile, we are publishing this as a draft, and we will iterate over it. 12 | 13 | 14 | 15 |
16 | 17 | We asked our participants which agile methodology they use, and the answers were the following: 18 | 19 | ![which agile methodology do you use](/img/stats/agile.png) 20 | 21 | To understand this distribution better we correlated agile methodologies to company sizes according to our participants. Then we asked our experts about their opinions. 22 | 23 | ## Agile methodologies by company size 24 | 25 | ### Companies with 2 - 10 employees 26 | 27 | Teams in small companies with 2 to 10 employees tend to use agile methodologies according to our survey data, with 42% of them using scrum, 19% using other agile methodologies (XP, Kanban for example). 28 | 29 | ```mermaid 30 | pie 31 | "Scrum" : 60 32 | "We don't follow any specific methodology" : 36 33 | "I don't work in teams" : 16 34 | "Other Agile methodologies" : 12 35 | "Kanban" : 10 36 | "Extreme Programming (XP)" : 6 37 | "Waterfall" : 2 38 | ``` 39 | 40 | Some of our responders commented that they don't always stick to their methodologies, or their work is project-based and they may have to change their methodology for each project. 41 | 42 | 43 | ### Companies with 11 - 20 employees 44 | 45 | For teams in companies with 11 to 20 employees, we see that Scrum is still the most used methodology followed by other methodologies like Kanban, Scrumban, Extreme programming and other agile methodologies. 46 | 47 | While we see that some companies of this scale don't use any specific methodology. 48 | 49 | ```mermaid 50 | pie 51 | "Scrum" : 25 52 | "We don't follow any specific methodology" : 18 53 | "Kanban" : 6 54 | "Other Agile methodologies" : 5 55 | "I don't work in teams" : 1 56 | "Scrumban" : 1 57 | "Extreme Programming (XP)" : 2 58 | ``` 59 | 60 | ### Companies with 21 - 50 employees 61 | 62 | Our data shows that Scrum is still the most used methodology, along other agile methodologies like Kanban and Scrumban. 63 | 64 | We also see that 22% of our participants who work in companies with this size are not using any specific methodology, while we see that some of them are using waterfall in their projects. 65 | 66 | ```mermaid 67 | pie 68 | "Scrum" : 20 69 | "We don't follow any specific methodology" : 11 70 | "Kanban" : 6 71 | "Other Agile methodologies" : 5 72 | "I don't work in teams" : 3 73 | "Scrumban" : 3 74 | "Waterfall" : 1 75 | ``` 76 | 77 | 78 | ### Companies with 51 - 100 employees 79 | 80 | Some companies with this size also use agile methodologies like scrum, Kanban and XP. Some others are not following any specific methodology. And others are using waterfall. 81 | 82 | ```mermaid 83 | pie 84 | "Scrum" : 11 85 | "We don't follow any specific methodology" : 8 86 | "Kanban" : 4 87 | "I don't work in teams" : 3 88 | "Waterfall" : 3 89 | "Extreme Programming (XP)" : 2 90 | "Other Agile methodologies" : 1 91 | ``` 92 | 93 | ### Companies with 101 - 1000 employees 94 | 95 | At this scale, we saw that some participants work in companies that are applying [Scaled Agile framework (SAFe)](https://en.wikipedia.org/wiki/Scaled_agile_framework), while others are using scrum, Kanban, XP and other agile methodologies. 96 | 97 | We also see that even in companies with this scale, some engineers don't work in teams, or work in teams without applying any specific methodology. 98 | 99 | ```mermaid 100 | pie 101 | "Scrum" : 33 102 | "We don't follow any specific methodology" : 10 103 | "Kanban" : 6 104 | "Other Agile methodologies" : 3 105 | "I don't work in teams" : 3 106 | "SAFe" : 2 107 | "Extreme Programming (XP)" : 2 108 | "Scrumban" : 1 109 | ``` 110 | ### Companies with more than 1000 employee 111 | 112 | In large companies, we see that Scrum and other agile methodologies are dominant as well, but we see that some teams other companies don't follow any specific methodologies. As someone commented on our survey, they have a system based on trust and autonomy for certain roles. 113 | 114 | 115 | ```mermaid 116 | pie 117 | "Scrum" : 29 118 | "We don't follow any specific methodology" : 14 119 | "Kanban" : 6 120 | "Other Agile methodologies" : 5 121 | "Extreme Programming (XP)" : 4 122 | "I don't work in teams" : 3 123 | "Scrumban" : 2 124 | "SAFe" : 1 125 | ``` 126 | 127 | ## Agile methodologies in Algerian companies 128 | 129 | The results above are derived from all answers from all of our participants. In this section we will focus more on Algerian companies (answers from developers who work in Algeria for Algerian companies). 130 | 131 | ```mermaid 132 | pie 133 | "Scrum" : 96 134 | "We don't follow any specific methodology" : 65 135 | "I don't work in teams" : 24 136 | "Other Agile methodologies" : 17 137 | "Kanban" : 16 138 | "Extreme Programming (XP)" : 8 139 | "Waterfall" : 5 140 | "Scrumban" : 4 141 | ``` -------------------------------------------------------------------------------- /website/docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: intro 3 | sidebar_position: 1 4 | pagination_next: insights/technology-trends 5 | description: Introduction to the Algeria Developer Survey 2024. 6 | --- 7 | import Admonition from '@theme/Admonition'; 8 | 9 | # 2024 Survey results 10 | 11 | Welcome to the Algeria Developer Survey 2024 Results Page! 12 | 13 | In February 2024, IT professionals and students shared their perspectives, shaping the narrative of Algeria's tech landscape. Join us as we delve into the insights gathered from this diverse community of **more than 500** participants. 14 | 15 | 16 | **This page is a placeholder!** 17 | 18 | In this page, we will share the key findings from our survey and research with links to different areas of our [insights section](/docs/insights/technology-trends) 19 | 20 | 21 | 30 | 31 | 32 | 90 | 91 | 92 | ---------------- 93 | 94 | 95 | 132 | -------------------------------------------------------------------------------- /website/docs/appendix/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | custom_edit_url: https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/website/docs/appendix/glossary.md 4 | description: A glossary of terms used in the Algerian software engineering report. 5 | --- 6 | 7 | # Glossary 8 | 9 | 10 | ## Technical/Software engineering terms 11 | 12 | | Abbreviation | Meaning | 13 | | :----------: | :-------------------------------------------------------------------------------- | 14 | | VCS | Version control systems | 15 | | CI/CD | continuous integration (CI) and continuous delivery or continuous deployment (CD) | 16 | | AWS | Amazon Web Services | 17 | | GCP | Google Cloud Platform | 18 | | AI | Artificial intelligence | 19 | | ML | Machine learning | 20 | | OSS | Open-source software | 21 | | FOSS | Free and open-source software | 22 | | KYC | Know Your Customer (or Know Your Client) | 23 | 24 | ## Algeria-specific terms 25 | | Abbreviation | Meaning | 26 | | :----------: | :------------------------------------------------------------------------------------------------------------------------------------------------ | 27 | | DZ | .dz is the country code top-level domain (ccTLD) for Algeria (from Dzayer, the local name for Algeria). | 28 | | ASJP | Algeria Scientific Journal Platform | 29 | | CERIST | Centre de Recherche sur l'Information Scientifique (Research Centre for scientific and technical information) | 30 | | ANPDP | Autorité Nationale De La Protection Des Données à Caractère Personnel (National Authority for the Protection of Personal Data) | 31 | | ARPCE | Autorité de Régulation de la Poste et des Communications Electroniques (Algeria Regulatory Authority of the Post and Electronic Communications) | 32 | | ANAE | Agence Nationale de l'Auto-entrepreneur (Launch of National Agency for Auto-Entrepreneur) | 33 | | MPT | Ministry of Post and Telecommunications | 34 | | NISR | National Information Security Repository | 35 | | ONPLCITIC | Organe National de Prévention et de Lutte Contre les Infractions Liées aux TIC | 36 | | ASSI | Agence de la Sécurité des Systèmes d’Information (Information Systems Security Agency) | 37 | | CNSSI | Conseil National de la Sécurité des Systèmes d’Information (National Information Systems Security Council) | 38 | | AGCE | Autorité Gouvernementale de Certification Electronique (The Government Electronic Certification Authority) | 39 | | CPLCIC | Centre de Prévention et de Lutte Contre la Criminalité Informatique et la Cybercriminalité | 40 | | CNOSSI | Centre National Opérationnel de Sécurité des Systèmes d’Information (National Operational Center for Information Systems Security) | 41 | | CNAS | National Fund For Social Insurance For Salaried Employees | 42 | | CASNOS | National Social Security Fund For Self-Employed | 43 | | APOCE | Association for the Protection and Guidance of Consumers and their Environment | 44 | | BEF | Brevet d'Enseignement Fondamental | 45 | | BEM | Brevet d’Enseignement Moyen | 46 | | NIF | Tax Identification Number (NIF) | 47 | | GIE | Electronic Payment Economic Interest Grouping (Groupement d’intérêt économique) | 48 | | EURL | Entreprise unipersonnelle à responsabilité limitée (Single Limited Liability Company ) | 49 | | SARL | La société à responsabilité limitée (Algerian limited liability company) | 50 | | ANADE | Agence nationale d'appui et de développement de l'entrepreneuriat (National Agency for Entrepreneurship Support and Development) | 51 | | ANSEJ | Agence nationale de soutien à l’emploi des jeunes (National Agency for Support and Employment of Young People) | -------------------------------------------------------------------------------- /data-processing/datasets/json-outputs/question-maps/ar.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "Timestamp": "Timestamp" }, 3 | { "ماهو عمرك؟": "What is your age?" }, 4 | { "ماهو جنسك؟": "What is your gender?" }, 5 | { 6 | "ما هو أعلى مستوى تعليمي أكملته؟": "What is your highest level of education completed?" 7 | }, 8 | { "هل تعيش في الجزائر": "Do you live in Algeria?" }, 9 | { "أين تعيش؟": "Where do you live?" }, 10 | { 11 | "هل لديك شهادة جزائرية في مجالات تكنولوجيا المعلومات؟": "Do you you have an Algerian degree in IT fields?" 12 | }, 13 | { "هل انتقلت للدراسة في الخارج؟": "Did you relocate to study abroad?" }, 14 | { "هل انتقلت للعمل في الخارج؟": "Did you relocate to work abroad?" }, 15 | { "من أين تعمل بشكل أساسي؟": "From where do you primarily work?" }, 16 | { "أين تسكن (الولاية)؟": "Where do you live (Wilaya)?" }, 17 | { 18 | "هل كان عليك التنقل إلى تلك المدينة (الولاية) للعمل في مجال تكنولوجيا المعلومات؟": "Did you have to travel to that city (wilaya) to work in IT?" 19 | }, 20 | { 21 | "إذا وجدت فرصة أفضل للعمل في مدينة (ولاية) مختلفة، فهل ستنتقل؟": "If you find a better opportunity to work in a different city (wilaya), would you relocate?" 22 | }, 23 | { 24 | "ما هي المزايا أو الامتيازات الأخرى التي تحصل عليها في وظيفتك الحالية، بالإضافة إلى راتبك؟": "In addition to your salary, what other benefits or perks do you receive in your current role?" 25 | }, 26 | { 27 | "إذا كنت على استعداد لمغادرة البلاد، ما هي وجهتك (اتركها فارغة إذا لم تكن قابلة للتطبيق)؟": "If you are willing to leave the country, what would be your destination (Leave it empty if not applicable)?" 28 | }, 29 | { "ما هو وضعك الوظيفي الحالي؟": "What is your current employment status?" }, 30 | { 31 | "ما هي العبارة الصحيحة بالنسبة لحالتك (اختر أكثر من عبارة واحدة إذا كان لديك نموذج عمل مختلط)؟": "Which statement is true for your case (choose more than one if you have a hybrid working model)?" 32 | }, 33 | { "ما هو مستواك المهني الحالي؟": "What is your current professional level?" }, 34 | { 35 | "كم عدد سنوات الخبرة المهنية التي لديك في مجال هندسة البرمجيات؟": "How many years of professional experience do you have in the software engineering field?" 36 | }, 37 | { 38 | "كم عدد الأشخاص الذين يعملون في مؤسستك، بما فيهم أنت؟": "How many people work at your organization, including yourself?" 39 | }, 40 | { "ما هو اختصاصك الرئيسي؟": "What's your main role?" }, 41 | { 42 | "إذا كنت تعمل في شركة جزائرية، ما هو متوسط ​​راتبك الشهري بالدينار الجزائري؟\n\nاتركه فارغا اذا لم يكن مطبقا.": "If you are working for an Algerian company, What's your average monthly salary in DZD (Algerian dinars)?\n\nLeave empty if not applicable." 43 | }, 44 | { 45 | "إذا كنت تعمل لدى شركة أجنبية من الجزائر، ما هو متوسط ​​دخلك الإجمالي السنوي باليورو؟ \n\nاتركه فارغا اذا لم يكن مطبقا": "If you are working for a foreign company from Algeria, What's your average yearly gross income in EUR?\n\nLeave empty if not applicable." 46 | }, 47 | { 48 | "على مقياس من 1 إلى 10، ما مدى رضاك ​​عن وظيفتك الحالية في مجال هندسة البرمجيات؟": "On a scale from 1 to 10, how satisfied are you with your current job in the software engineering field?" 49 | }, 50 | { 51 | "ما هي التحديات الرئيسية التي تواجهها في دورك كمهندس برمجيات في الجزائر؟": "What are the main challenges you face in your role as a software engineer in Algeria?" 52 | }, 53 | { 54 | "كيف دخلت مجال هندسة البرمجيات أو التكنولوجيا؟": "How did you get into the field of software engineering or technology?" 55 | }, 56 | { 57 | "ما هي لغات البرمجة التي تستخدمها كثيرا في عملك؟ (اختر كل ما ينطبق)": "Which programming languages do you frequently use in your work? (Select all that apply)" 58 | }, 59 | { 60 | "ما هي محركات قواعد البيانات التي تعمل معها عادة؟ (اختر كل ما ينطبق)": "Which database engines do you commonly work with? (Select all that apply)" 61 | }, 62 | { 63 | "إن أمكن، ما هي خدمات استضافة الويب التي تستخدمها؟": "If applicable, which web hosting services do you use?" 64 | }, 65 | { "ما هي أطر الويب التي تستخدمها؟": "Which web frameworks do you use?" }, 66 | { 67 | "ما هي أطر/لغات تطوير الأجهزة المحمولة التي تستخدمها؟": "Which mobile development frameworks/languages do you use?" 68 | }, 69 | { 70 | "إن كنت تطور تطبيقات سطح المكتب، ما هي التقنيات التي تستخدمها؟": "If you build Desktop applications, what technologies do you use?" 71 | }, 72 | { 73 | "ما هي حلول الدفع الإلكتروني الذي استخدمته؟\n": "Which e-payment solution did you use?" 74 | }, 75 | { 76 | "كيف تصف مشاركتك في تطوير البرمجيات مفتوحة المصدر؟": "How would you describe your involvement with open source software development?" 77 | }, 78 | { 79 | "ما هي منهجية تطوير البرمجيات التي تستخدمها أنت أو مؤسستك؟": "Which software development methodology you, or your organization use?" 80 | }, 81 | { 82 | "ما هي أدوات التعاون عبر الإنترنت التي تستخدمها في العمل؟": "Which online collaboration tools you use for work?" 83 | }, 84 | { 85 | "من هم موفري الخدمات السحابية الذين تستخدمهم بشكل أساسي؟ (اختر كل ما ينطبق)\n": "Which cloud providers do you primarily use? (Select all that apply)" 86 | }, 87 | { 88 | "ما هي أنظمة التحكم في الإصدار التي تستخدمها بشكل أساسي لإدارة مشاريعك البرمجية؟": "Which version control systems do you primarily use for managing your software projects?" 89 | }, 90 | { 91 | "ما الأدوات التي تستخدمها للنشر وتوفير البنية التحتية؟": "What tools do you use for deployment and infrastructure provisioning ?" 92 | }, 93 | { "ما هي أدوات CI/CD التي تستخدمها؟": "Which CI/CD technology do you use?" }, 94 | { 95 | "كيف اكتسبت مهاراتك في مجال تكنولوجيا المعلومات في مجالك المحدد؟ وكيف تعلمت البرمجة؟": "How did you acquire your IT skills in your specific field? And how did you learn to code?" 96 | }, 97 | { 98 | "ما هي اللغة التي تعتمد عليها في التعلم واكتساب مهاراتك في مجال تكنولوجيا المعلومات؟": "In which language did you primarily learn and acquire your IT skills?" 99 | }, 100 | { 101 | "إذا كنت منخرطًا أو على علم بمجتمعات أو لقاءات تقنية في الجزائر، فيرجى تحديد أسماء أو أنواع المجتمعات التي ترتبط بها أو تعرفها:": "If you are involved in or aware of tech communities or meetups in Algeria, please specify the names or types of communities you are associated with or know of:\"" 102 | } 103 | ] 104 | -------------------------------------------------------------------------------- /website/docs/appendix/references-and-further-reading.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: appendix 3 | sidebar_position: 1 4 | pagination_prev: intro 5 | custom_edit_url: https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/website/docs/appendix/references-and-further-reading.md 6 | description: Resources and further reading for this report. 7 | --- 8 | 9 | # Resources & Further Reading 10 | 11 | - Google Trends (2021-03-01 to 2024-03-22) - https://trends.google.com/trends/explore?date=2021-03-01%202024-03-22&geo=DZ&q=%2Fm%2F060kv,%2Fm%2F07sbkfb,%2Fm%2F0jgqg,%2Fm%2F02p97,%2Fm%2F06ff5 12 | - CIB Web Actualités et chiffres clés - https://cibweb.dz/fr/actualites-et-chiffres-cles 13 | - ARPCE: Observatoire Internet du 4ème trimestre 2023 - https://www.arpce.dz/fr/file/q0c2v3 14 | - MINISTÈRE DE LA POSTE ET DES TÉLÉCOMMUNICATIONS: Chiffres et indicateurs - https://www.mpt.gov.dz/chiffres-et-indicateurs/ 15 | - Cyber Policy Portal: Algeria - https://cyberpolicyportal.org/states/algeria. 16 | - Repertoire des clubs scientifiques de lannee 2021/2022 - https://www.mesrs.dz/wp-content/uploads/2022/04/Repertoire-des-clubs-scientifiques-de-lannee-2021-2022.pdf 17 | - الرقمنة .. واش قصتها في الجزائر| حوار صريح مع الخبير يزيد أقدال - https://www.youtube.com/watch?v=FlAS7qQ_PyY 18 | - Algeria 2.0 : Digital Transformation Takeways: What, Why and How? https://youtu.be/YwxvpPULNFk 19 | - زيادات في أجور ومعاشات الملايين.. هل يستفيد منها الجزائريون؟ | الجزيرة نت - https://aja.me/gufnww 20 | - Taxes on personal income (Algeria) - https://taxsummaries.pwc.com/algeria/individual/taxes-on-personal-income 21 | - Lateb Hamid directeur de systèmes d'information de l’Autorité protection des données personnelles - https://youtu.be/g8z8bECl0Qg 22 | - جواب لكل سؤال عن بطاقة المقاول الذاتي الجزئري مع الوزير يسين وليد - La carte de l'auto entrepreneur - https://youtu.be/cE__7NZlp8Y 23 | - algeriatech/awesome-algeria: A curated list of awesome things and projects built by Algerian developpers - https://github.com/algeriatech/awesome-algeria 24 | - Cybil Portal: An overview of Algeria’s cyber policy landscape is available on the UNIDIR Cyber Policy Portal - https://cybilportal.org/projects-by?page=country&_sft_country=algeria 25 | - National Cyber Security Index: Algeria (2016-2023) - https://ncsi.ega.ee/country/dz_2022/ 26 | - Numbeo: Cost of Living and Prices in in Algeria - https://www.numbeo.com/cost-of-living/country_result.jsp?country=Algeria 27 | - The knowledge economy in Algeria: a study of indicators in the light of a group variables of the Knowledge Assessment Methodology (KAM) - https://www.asjp.cerist.dz/en/article/173543 28 | - Intervalle Technologies: National Information Security Framework (RNSI 2020) - https://intervalle-technologies.com/blog/rnsi-2020-national-information-security-framework/ 29 | - DZGITAL: Digital transformation in Algeria - https://digitalarabia.network/media/pages/articles/grab-a-coffee-read/da075f7bd5-1637052954/strategy_paper_algerien_20210406.pdf 30 | - Upwork: Algeria top talents in IT & Networking - https://www.upwork.com/nx/search/talent/?category_uid=531770282580668419&loc=algeria&nss=80&revenue=1&rising_talent=yes&top_rated_plus=yes&top_rated_status=top_rated 31 | - The Knowledge Project: Algeria - https://knowledge4all.com/admin/CountryProfiles2021/DZA-en.pdf 32 | - أمن المعلومات في الجزائر: الإجراءات والتحديات - https://www.asjp.cerist.dz/en/article/105799 33 | - UAE Journal of Police and Legal Sciences: The security and cyber defence realities and difficulties in Algeria - https://www.jpsa.ac.ae/cgi/viewcontent.cgi?article=1013&context=journal 34 | - ESCWA: Index Simulator for Policymakers - https://ispar.unescwa.org/Country-index.aspx?Country=3 35 | - Algeria: The Social Protection System - https://www.annd.org/uploads/summernote/three31614341217.pdf 36 | - MPT: Information Security Reference - https://www.mpt.gov.dz/en/information-security-reference/ 37 | - الجريمة المعلوماتية في التشريع الجزائري - https://www.asjp.cerist.dz/en/article/168985 38 | - Cybersecurity in Algeria - https://www.researchgate.net/publication/369647110_Cybersecurity_in_Algeria 39 | - APS: Vers l'élaboration d'une stratégie nationale pour faire face aux menaces cybernétiques - https://www.aps.dz/societe/166994-vers-l-elaboration-d-une-strategie-nationale-pour-faire-face-aux-menaces-cybernetiques 40 | - Levels.fyi: Software Engineer Salary in Algeria - https://www.levels.fyi/t/software-engineer/locations/algeria 41 | - IMF: Algeria: 2023 Article IV Consultation-Press Release; Staff Report; and Statement by the Executive Director for Algeria - https://www.imf.org/en/Publications/CR/Issues/2024/04/12/Algeria-2023-Article-IV-Consultation-Press-Release-Staff-Report-and-Statement-by-the-547687 42 | - ARPCE: Hosting and Storage Cloud Computing - https://www.arpce.dz/fr/service/cloud 43 | - Algeria: Mobile Network Experience Report - https://www.opensignal.com/reports/2024/03/algeria/mobile-network-experience 44 | - Baromètre des connexions Internet mobiles en Algérie (2022/2023) - https://media.nperf.com/files/publications/DZ/2023-07-11_Barometre-connexions-mobiles-nPerf-S2-2022-S1-2023.pdf 45 | - Education in the Maghreb: Algeria - https://wenr.wes.org/2006/04/wenr-apr-2006-education-in-algeria 46 | - Global Organized Crime Index: Algeria - https://ocindex.net/country/algeria 47 | - Virements financiers : Algérie Poste relève le plafonnement à 200.000 DA via BaridiMob - https://www.algerie-eco.com/2023/06/17/virements-financiers-algerie-poste-revele-le-plafonnement-a-200-000-da-via-baridimob/ 48 | - Fintech in Algeria - https://fintechinalgeria.com/ 49 | - 2023 Investment Climate Statements: Algeria - https://www.state.gov/reports/2023-investment-climate-statements/algeria 50 | - Auto-entrepreneuriat: L'ANAE et sa plateforme ont boosté l'accès des jeunes à l'auto-emploi - https://www.aps.dz/economie/171190-auto-entrepreneuriat-l-anae-et-sa-plateforme-ont-booste-l-acces-des-jeunes-a-l-auto-emploi 51 | - Plan d'action du Gouvernement Pour La Mise En Œuvre Du Programme Du President De La République- https://amb-algerie.fr/wp-content/uploads/2022/04/Pland-action-du-gouvernement-pour-la-mise-en-oeuvre-du-programme-du-president-de-la-republique-2021-fr.pdf 52 | - Note du Ministère du Commerce relative à la domiciliation d'entreprise - https://legal-doctrine.com/edition/communique-rappel-sur-le-droit-de-domiciliation 53 | - Arab National Development Planning Portal: Algeria - https://andp.unescwa.org/country/dza 54 | - Establishment of Algeria's National Vision 2030 - https://andp.unescwa.org/plans/1121 55 | - Algérie 2030..poursuivre la construction de l’Algérie nouvelle - https://youtu.be/U14MOXA-LHc 56 | - Inauguration Ceremony of the Newly Appointed Members of the Scientific Council of Artificial Intelligence - https://www.mesrs.dz/index.php/en/2023/06/elementor-52608/ 57 | - GIE Monétique: lancement de l'interopérabilité des paiements mobiles au cours de l'année 2024 - https://www.aps.dz/sante-science-technologie/169414-gie-monetique-lancement-de-l-interoperabilite-des-paiements-mobiles-au-cours-de-l-annee-2024 58 | - الحسابات البنكية للجزائريين بالخارج تحت الجرد والمراقبة- https://www.echoroukonline.com/الحسابات-البنكية-للجزائريين-بالخارج 59 | - Douanes: la mise en œuvre du nouveau système d’information avance bien - https://www.aps.dz/economie/154193-douanes-la-mise-en-oeuvre-du-nouveau-systeme-d-information-avance-bien 60 | - تطوير وسائل الدفع الإلكتروني والتحضير لقانون المالية 2025 في صلب اجتماع تنسيقي بوزارة المالية - https://www.aps.dz/ar/economie/163955-2025 -------------------------------------------------------------------------------- /data-processing/datasets/json-outputs/question-maps/fr.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "Timestamp": "Timestamp" }, 3 | { "Quel âge avez-vous?": "What is your age?" }, 4 | { "Quel est votre sexe ?": "What is your gender?" }, 5 | { 6 | "Quel est votre plus haut niveau d'éducation accompli ?": "What is your highest level of education completed?" 7 | }, 8 | { "Vivez-vous en Algérie?": "Do you live in Algeria?" }, 9 | { "Dans quel pays habitez-vous ?": "Where do you live?" }, 10 | { 11 | "Avez-vous un diplôme algérien dans les domaines informatiques ?": "Do you you have an Algerian degree in IT fields?" 12 | }, 13 | { 14 | "Avez-vous déménagé pour étudier à l'étranger ?": "Did you relocate to study abroad?" 15 | }, 16 | { 17 | "Avez-vous déménagé pour travailler à l'étranger ?": "Did you relocate to work abroad?" 18 | }, 19 | { 20 | "D’où travaillez-vous principalement ?": "From where do you primarily work?" 21 | }, 22 | { "Où habitez-vous (Wilaya) ?": "Where do you live (Wilaya)?" }, 23 | { 24 | "Avez-vous dû déménager dans cette ville (wilaya) pour travailler dans le domaine de l'informatique ?": "Did you have to travel to that city (wilaya) to work in IT?" 25 | }, 26 | { 27 | "Si vous trouvez une meilleure opportunité de travail dans une ville (wilaya) différente, seriez-vous prêt(e) à déménager ?": "If you find a better opportunity to work in a different city (wilaya), would you relocate?" 28 | }, 29 | { 30 | "En plus de votre salaire, de quels autres avantages sociaux bénéficiez-vous dans votre rôle actuel ?": "In addition to your salary, what other benefits or perks do you receive in your current role?" 31 | }, 32 | { 33 | "Si vous êtes prêt(e) à quitter le pays, quelle serait votre destination ? (Laissez vide si cela ne s'applique pas)": "If you are willing to leave the country, what would be your destination (Leave it empty if not applicable)?" 34 | }, 35 | { 36 | "Quelle est votre situation d'emploi actuelle?": "What is your current employment status?" 37 | }, 38 | { 39 | "Quelle(s) affirmation(s) correspond(ent) à votre cas ? (Choisissez-en plusieurs si vous avez un modèle de travail hybride": "Which statement is true for your case (choose more than one if you have a hybrid working model)?" 40 | }, 41 | { 42 | "Quel est votre niveau professionnel actuel ?": "What is your current professional level?" 43 | }, 44 | { 45 | "De combien d’années d’expérience professionnelle disposez-vous dans le domaine du génie logiciel ?": "How many years of professional experience do you have in the software engineering field?" 46 | }, 47 | { 48 | "Combien de personnes travaillent dans votre organisation, y compris vous-même ?": "How many people work at your organization, including yourself?" 49 | }, 50 | { "Quel est votre rôle principal ?": "What's your main role?" }, 51 | { 52 | "Si vous travaillez pour une entreprise algérienne, quel est votre salaire mensuel moyen en dinars algériens (DZD) ? \n\nLaissez vide si cela ne s'applique pas.": "If you are working for an Algerian company, What's your average monthly salary in DZD (Algerian dinars)?\n\nLeave empty if not applicable." 53 | }, 54 | { 55 | "Si vous travaillez pour une entreprise étrangère depuis l'Algérie, quelle est votre rémunération annuelle brute moyenne en euros ? \n\nLaissez vide si cela ne s'applique pas.": "If you are working for a foreign company from Algeria, What's your average yearly gross income in EUR?\n\nLeave empty if not applicable." 56 | }, 57 | { 58 | "Sur une échelle de 1 à 10, à quel point êtes-vous satisfait(e) de votre emploi actuel dans le domaine de l'ingénierie logicielle ?": "On a scale from 1 to 10, how satisfied are you with your current job in the software engineering field?" 59 | }, 60 | { 61 | "Quels sont les principaux défis auxquels vous êtes confronté dans votre rôle d’ingénieur logiciel en Algérie ?": "What are the main challenges you face in your role as a software engineer in Algeria?" 62 | }, 63 | { 64 | "Comment êtes-vous arrivé(e) dans le domaine du génie logiciel ou de la technologie ?": "How did you get into the field of software engineering or technology?" 65 | }, 66 | { 67 | "Quels langages de programmation utilisez-vous fréquemment dans votre travail ? (Sélectionnez tout ce qui s'y rapporte)": "Which programming languages do you frequently use in your work? (Select all that apply)" 68 | }, 69 | { 70 | "Avec quelles bases de données travaillez-vous généralement ? (Sélectionnez toutes les options qui s'appliquent)": "Which database engines do you commonly work with? (Select all that apply)" 71 | }, 72 | { 73 | "Si applicable, quels services d'hébergement web utilisez-vous ?": "If applicable, which web hosting services do you use?" 74 | }, 75 | { 76 | "Quels frameworks web utilisez-vous ?": "Which web frameworks do you use?" 77 | }, 78 | { 79 | "Quels frameworks/langages de développement mobile utilisez-vous ?": "Which mobile development frameworks/languages do you use?" 80 | }, 81 | { 82 | "Si vous créez des applications de bureau, quelles technologies utilisez-vous ?": "If you build Desktop applications, what technologies do you use?" 83 | }, 84 | { 85 | "Quelle solution de paiement électronique avez-vous utilisée ?": "Which e-payment solution did you use?" 86 | }, 87 | { 88 | "Comment décririez-vous votre implication dans le développement de logiciels open source ?": "How would you describe your involvement with open source software development?" 89 | }, 90 | { 91 | "Quelle méthodologie de développement logiciel vous ou votre organisation utilisez-vous ?": "Which software development methodology you, or your organization use?" 92 | }, 93 | { 94 | "Quels outils de collaboration en ligne utilisez-vous pour votre travail ?": "Which online collaboration tools you use for work?" 95 | }, 96 | { 97 | "Quels fournisseurs de cloud utilisez-vous principalement ? (Sélectionnez tout ce qui s'y rapporte)": "Which cloud providers do you primarily use? (Select all that apply)" 98 | }, 99 | { 100 | "Quels systèmes de contrôle de version utilisez-vous principalement pour gérer vos projets logiciels ?": "Which version control systems do you primarily use for managing your software projects?" 101 | }, 102 | { 103 | "Quels outils utilisez-vous pour le déploiement et le provisionnement de l'infrastructure ?": "What tools do you use for deployment and infrastructure provisioning ?" 104 | }, 105 | { 106 | "Quelle technologie CI/CD utilisez-vous ?": "Which CI/CD technology do you use?" 107 | }, 108 | { 109 | "How did you acquire your IT skills in your specific field? And how did you learn to code?": "How did you acquire your IT skills in your specific field? And how did you learn to code?" 110 | }, 111 | { 112 | "Dans quelle langue avez-vous principalement appris et acquis vos compétences informatiques ?": "In which language did you primarily learn and acquire your IT skills?" 113 | }, 114 | { 115 | "Si vous participez à des communautés technologiques ou à des rencontres en Algérie, veuillez préciser les noms ou types de communautés auxquels vous êtes associé(e) ou que vous connaissez :\"": "If you are involved in or aware of tech communities or meetups in Algeria, please specify the names or types of communities you are associated with or know of:\"" 116 | } 117 | ] 118 | -------------------------------------------------------------------------------- /website/src/pages/privacy.md: -------------------------------------------------------------------------------- 1 | Privacy Policy for The State of Software Engineering in Algeria 2 | =============================================================== 3 | 4 | At The State of Software Engineering in Algeria, accessible from https://state-of-algeria.dev/, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by The State of Software Engineering in Algeria and how we use it. 5 | 6 | If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us. 7 | 8 | This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collect in The State of Software Engineering in Algeria. This policy is not applicable to any information collected offline or via channels other than this website. Our Privacy Policy was created with the help of the [Privacy Policy Generator](https://www.cookiepolicygenerator.com/privacy-policy-generator/). 9 | 10 | Consent 11 | ------- 12 | 13 | By using our website, you hereby consent to our Privacy Policy and agree to its terms. 14 | 15 | Information we collect 16 | ---------------------- 17 | 18 | The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the point we ask you to provide your personal information. 19 | 20 | If you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of the message and/or attachments you may send us, and any other information you may choose to provide. 21 | 22 | How we use your information 23 | --------------------------- 24 | 25 | We use the information we collect in various ways, including to: 26 | 27 | * Provide, operate, and maintain our website 28 | * Improve, personalize, and expand our website 29 | * Understand and analyze how you use our website 30 | * Develop new products, services, features, and functionality 31 | * Find and prevent fraud 32 | 33 | Log Files 34 | --------- 35 | 36 | The State of Software Engineering in Algeria follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information. 37 | 38 | Cookies and Web Beacons 39 | ----------------------- 40 | 41 | Like any other website, The State of Software Engineering in Algeria uses "cookies". These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information. 42 | 43 | For more general information on cookies, please head to [our cookie policy](/cookie) page. 44 | 45 | Advertising Partners Privacy Policies 46 | ------------------------------------- 47 | 48 | You may consult this list to find the Privacy Policy for each of the advertising partners of The State of Software Engineering in Algeria. 49 | 50 | Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on The State of Software Engineering in Algeria, which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit. 51 | 52 | Note that The State of Software Engineering in Algeria has no access to or control over these cookies that are used by third-party advertisers. 53 | 54 | Third Party Privacy Policies 55 | ---------------------------- 56 | 57 | The State of Software Engineering in Algeria's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options. 58 | 59 | You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites. 60 | 61 | CCPA Privacy Rights (Do Not Sell My Personal Information) 62 | --------------------------------------------------------- 63 | 64 | Under the CCPA, among other rights, California consumers have the right to: 65 | 66 | Request that a business that collects a consumer's personal data disclose the categories and specific pieces of personal data that a business has collected about consumers. 67 | 68 | Request that a business delete any personal data about the consumer that a business has collected. 69 | 70 | Request that a business that sells a consumer's personal data, not sell the consumer's personal data. 71 | 72 | If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us. 73 | 74 | GDPR Data Protection Rights 75 | --------------------------- 76 | 77 | We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following: 78 | 79 | The right to access – You have the right to request copies of your personal data. We may charge you a small fee for this service. 80 | 81 | The right to rectification – You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete. 82 | 83 | The right to erasure – You have the right to request that we erase your personal data, under certain conditions. 84 | 85 | The right to restrict processing – You have the right to request that we restrict the processing of your personal data, under certain conditions. 86 | 87 | The right to object to processing – You have the right to object to our processing of your personal data, under certain conditions. 88 | 89 | The right to data portability – You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions. 90 | 91 | If you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us. 92 | 93 | Children's Information 94 | ---------------------- 95 | 96 | Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity. 97 | 98 | The State of Software Engineering in Algeria does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records. -------------------------------------------------------------------------------- /website/docs/closing.md: -------------------------------------------------------------------------------- 1 | --- 2 | id: closing 3 | sidebar_position: 3 4 | pagination_prev: intro 5 | custom_edit_url: https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/website/docs/appendix/closing.md 6 | description: Closing remarks for this report. 7 | --- 8 | 9 | # Closing 10 | 11 | ## Final thoughts 12 | 13 | ## ~~Solutions~~ Ideas and wishes for the open challenges 14 | 15 | This document is not only meant for software development engineers or students. We vulgarized some terms and tried to write for a broad audience, we hope to reach business owners, entrepreneurs, government representatives and anyone who can invest in this field. 16 | 17 | If we want to be more optimistic, we can throw some ideas out there, hopefully the government look into them: 18 | 19 | - Algeria has a national mission to ensure cyber security, and if the ministry of defense and its subsidiary are leading a lot of projects in this field. In the same time we see that Algeria's cybersecurity professionals find that `Mandatory military service` is one of the challenges, they even consider this one of the reasons to flee the country... 20 | 21 | Can we have a national program to involve students and professionals into this mission, checking the box on the national mandatory military service while developing and exploiting the potentials we have in the country. This idea is in place for many other countries. 22 | 23 | - The black market is a threat to the national economy, however its rates are the standards for a lot for citizens (and tourists now). Algeria is putting a lot of efforts in regulating activities, but we still have a lot to do. We need more push for modernizing banking systems, more use of e-payment solutions, and having official currency exchange offices. Algerians should feel safe and comfortable to receive their wages in foreign companies, and to keep them in their bank accounts, then to be able to use them to pay for services. 24 | 25 | ## A *tbd...* 26 | 27 | Although we put a lot of effort, time, energy, emotions and some money in this work it remains incomplete, and it will never be. 28 | 29 | Our work is based on data collected from a survey we pushed very hard on social media, and it only collected 517 entry. These entries are not all significant, we had to filter a lot of them. Our data lacked a lot of profile that would have been interesting to explore (QA engineers, more R&D Engineers, etc). Hopefully with this work we gained the community trust, and we have more inputs in our survey for 2025 (إن شاء الله). 30 | 31 | Few hours after publishing the survey on February 1st, I knew I missed having some important questions to ask, I wish I designed the survey better and asked whether our participants work in public or private sectors, and in which industry... These two questions would add more value to our analysis. 32 | 33 | We respected our participants, we did not add, remove or change questions after clicking the button to make it live. 34 | 35 | We did not share raw data with non-authorized people and only kept it private to those who worked on it. We were asked to "sell" our raw data by some parties and we refused because we promised you, our participants that we won't do it. 36 | 37 |
38 | 39 | We squeezed hours in our workdays and sacrificed our holidays and weekends to work on this job, so we took this long to perfect it, and get it to a respectable state. 40 | 41 | We held ourselves from getting into rabbit holes and studying big topics and only talk about them from a software engineer, or more of a software developer point of view. 42 | 43 | So, if you are reading this document from the future, be sure that we finally pulled the trigger and published this work after long months of work. If you still think that it's incomplete, you will be right, and the next sections might be for you. 44 | 45 | ### Topics to explore more 46 | 47 | > TLDR; EVERYTHING. Algeria is a greenfield. 48 | 49 | The next titles were amended in parallel to the work we were doing, we picked some of the topics here as TODOs for us and covered them, and to not get into rabbit holes we left you, the community some ideas to explore! 50 | 51 | #### Cybersecurity 52 | 53 | To not shift away from the generic "State of Algerian software engineering" domain this report covers, I would just scratch the surface on this topic. 54 | 55 | Cybersecurity topic needs to be covered by professionals, this topic needs a lot of research and investigation due to the lack of -*recent*- data that covers Algeria. 56 | 57 | In some academic publications, researchers claim that there were/are gaps in Algerian regulations. This has to be investigated by technical/legal people. 58 | 59 | A field study has to be done to investigate whether laws and decisions are applied, if the different agencies are actually working on the field and they are collaborating with talents, and what tooling tooling and practices used by engineers and teams can also be explored. 60 | 61 | #### Internships 62 | 63 | When I was at university, it was clearer and easier for me to get an internship abroad than in Algeria. But from this survey's data I see that there are opportunities, these opportunities sometimes offer good salaries for interns! 64 | 65 | Students and newbies in Algeria need to know more about this, we need to democratize information about internships and other ways to break through the professional world. 66 | 67 | A document has to be published to show how to get internships? What's needed form the university? How and where companies can publish their positions? What's the legal framework in such situations? 68 | 69 | Job portals should offer and promote positions for interns if possible. 70 | 71 | #### E-Commerce 72 | 73 | Algeria made big steps in this field, with new laws and regulations, more promotion for using POS terminals and payment gateways. 74 | 75 | And lately, there's a big hype around it, with more events and conferences. This hype can both create more "noise 76 | 77 | A report about e-commerce in Algeria has to be done to ride these first waves, and to create a good base for having historical data for the next iterations. 78 | 79 | #### Education 80 | 81 | ### Unanswered questions or unexplored correlations 82 | 83 | We engage in answering questions about our project and sharing our findings through various public forums such as interviews and social media platforms. We also encourage bloggers and content creators to analyze and challenge our findings, and explore our data further more. We have created a page dedicated to collecting articles and recordings of discussions about this report: [**Mentions and Discussions**](/mentions-and-discussions). 84 | 85 | If you think that we still did not answer your questions in this work, let us know. But please, consider [supporting us](/support) to continue maintaining this project. 86 | 87 | > I, Abdeldjalil won't be happy to work with Excel or Python to find anymore correlations for free. A donation may make me change my mind, or pay Oussama to do it for me. 88 | 89 | ## Final words 90 | 91 | I hope we delivered an insightful document with a decent quality, and I hope that some people see into the challenges and act on them. 92 | 93 | This document intentionally tried to have a positive note despite of the necessity to be objective. Finding opportunities and lifting challenges are one of the promises we promoted our work with, and we do believe that there are hunters who would see business opportunities in our data. 94 | 95 | This document has bits and pieces that pin-point to the fact that things are moving forward, not judging if it's the right timing, the right speed, or in the right directions. We just wanted to draw a landscape and show its green parts. 96 | 97 | I'm sorry if this work was incomplete, or it wasn't up to your standards, or if you had to read through long pages without getting the value you expected. 98 | 99 | I hope we will have a more solid work in the next one, with sponsors and with a dedicated and a professional team. 100 | 101 |
102 | سُبْحَانَكَ اللَّهُمَّ وَبِحَمْدِكَ، أَشْهَدُ أَنْ لَا إِلَهَ إِلَّا أَنْتَ، أَسْتَغْفِرُكَ وَأَتُوبُ إِلَيْكَ 103 |
-------------------------------------------------------------------------------- /website/docs/insights/e-payment-solutions.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 8 3 | description: Overview of e-payment solutions in Algeria, highlighting popular platforms and adoption trends. 4 | --- 5 | 6 | # E-Payment solutions 7 | 8 | We asked our survey participants which e-payment solution they use. [Stripe](https://stripe.com/en-de) was the most solution with over 51%. 9 | 10 | For the Algerian solutions we have the following: 11 | 12 | ```mermaid 13 | xychart-beta horizontal 14 | x-axis ["SATIM API","Chargily","SLICK-PAY","Baridimob","Guiddini"] 15 | bar [68,41,12,3,1] 16 | ``` 17 | 18 |
19 | 20 | The government's official solution (SATIM/CIBWeb) is followed by serval startups offering serval payment modules/APIs, [Chargily](https://chargily.com/) is the second most used solution according to our participants, then followed by [SlickPay](https://www.slick-pay.com/), and [Guidini's e-payment services](https://guiddini.com.dz/e-paiement-en-algerie/). 21 | 22 | We will explore these options in the following sections, we will explore the usage of these different payment methods. 23 | 24 | ## SATIM 25 | 26 | [SATIM (Automated Interbank Transactions and Electronic Banking Company)](https://www.satim.dz/) (consumed through [CIBWeb](https://www.cibweb.dz/fr/)) is the most used Algerian Payment solution, it accepts both local credit cards (CIB and EDDAHABIA). 27 | 28 | However, this solution seem in its early staged with only 510 authorized clients as of now (May 28th, 2024) according to [CIB's website](https://www.cibweb.dz/fr/actualites-et-chiffres-cles). 29 | 30 | ![CIB WEB Data](/img/stats/cib-web-data.png) 31 | 32 | Looking into [previous screenshots of "cibweb.dz/fr/actualites-et-chiffres-cles" page on archive.org](https://web.archive.org/web/20240000000000*/https://cibweb.dz/fr/actualites-et-chiffres-cles), we notice the following pattern: 33 | 34 | ```mermaid 35 | xychart-beta 36 | title "Number of approved web merchant" 37 | x-axis ["August 2021", "October 2021", "May 2022", "December 2022", "May 2023", "March 2024", "May 2024"] 38 | bar [101, 121, 130, 243,307, 475, 510] 39 | line [101, 121, 130, 243,307, 475, 510] 40 | ``` 41 | 42 |
43 | 44 | The slow increase of these numbers sets the following hypothesis: 45 | 46 | 1. The e-commerce culture is not established yet, businesses are still not online or they don't provide e-payment options. 47 | 2. The SATIM's processing time and the lack of a clear guidance slows down the adoption, businesses may wait for a long time to implement e-payment solutions and/or to get approved by the authority. 48 | 3. Businesses use third-party payment providers or other solutions. 49 | 50 |
51 | 52 | The first point is out of scope in our study as [it requires](/docs/closing#e-commerce) a dedicated study. Therefor, we will only focus on the other hypothesis. 53 | 54 |
55 | 56 | According to several interviews we conducted: 57 | 58 | - Some developers are not aware of the process of how to integrate e-payment solutions. 59 | - Some businesses tend to postpone e-payment integration with the official SATIM/CIB APIs because of their process and pricing. 60 | 61 | The integration with SATIM/CIB lacks a technical documentation, or at least the "technical" promotion of an existing one. 62 | 63 | E-payment and CIB search keywords in Algeria are often pointing to third-party services and not the official websites and sources. 64 | 65 | Personal in banks are sometimes not aware of the processes, developers and businesses find it challenging to ask their banks for information. 66 | 67 | In a interview with a software development agency who's behind a subscription-based solution, we were told that they could not integrate with SATIM/CIB payment solutions since their process takes a lot of time, and it introduces a significant cost. 68 | 69 | In another interview with a developer, we were informed that CIB process may take several months, and their test environment is a paid one, which makes it very expensive the longer it's used. 70 | 71 | ## Using third-party payment solutions 72 | 73 | SATIM's high entry barriers, the confusion or the lack of information on how to integrate with them, in addition to not promote their solutions between software development communities and agencies created silos. 74 | 75 | These challenges and silos created an opportunity for some startups and software development agencies. As SATIM requires businesses to have a payment module, some software development agencies promotes their own modules. 76 | 77 | As of May 2024, we counted 81 authorized [e-payment modules](https://www.cibweb.dz/fr/modules-autorise/). These modules are provided by software development agencies who offer their solutions as a feature in their products, while other companies launched dedicated startups for this need. 78 | 79 | Such startups promise a better developer experience with their APIs, their libraries and their lower initial costs. 80 | 81 | These startups promote their solutions in developer communities, and promise to have a better developer experience. However, some developers and businesses still don't trust them due to the lack of a clear legal framework for their practices. 82 | 83 | In an interview with a representative of one of these startups we learned that no special audit or certificates were required for them to operate apart from SATIM's to get them approved. 84 | 85 | Some of these application APIs endpoints are hosted abroad, and are served from non **.dz** domains, which might not be compliant with Algerian laws, or at least they operate in "gray areas" of the Algerian legislation. 86 | 87 | ## Using Baridimob and Baridiweb services 88 | 89 | Some businesses use [Baridimob and BaridiWeb](https://www.poste.dz/services/professional/baridimobweb) as a solution to send and receive payments, as an electronic payments solution. 90 | 91 | The daily limit was upgraded from 50K DZD, to **200K DZD** since July 2023. 92 | 93 | Transfers are subjected to a varying fee depending on the specified amount, fees are mentioned in [Algérie Poste website's FAQ page](https://www.poste.dz/faqM). 94 | 95 | 96 | -------------------------------------------------------------------------------- /website/docs/insights/education-and-learning.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | description: Insights into education and learning trends in Algeria's software engineering sector. 4 | --- 5 | import Admonition from '@theme/Admonition'; 6 | 7 | # Education and learning 8 | 9 | 10 | 11 | This page is still a work in progress, and it will be ready in the next update! 12 | 13 | 14 | 15 |
16 | 17 | We asked our participants about their levels of education and we had the following distribution: 18 | 34 | 35 | ```mermaid 36 | pie title Participants by level of education 37 | "Master's Degree in a non IT-related field" : 66 38 | "Master's Degree in an IT-related field" : 289 39 | "Bachelor's Degree in an IT-related field" : 65 40 | "High school (Baccalauréat)" : 41 41 | "Ph.D. or equivalent" : 21 42 | "Bachelor's Degree in a non IT-related field" : 24 43 | "Secondary school (BEM, BEF)" : 2 44 | ``` 45 | 46 | The majority (65%) of the participants have a master's degree, and 4% have a Ph.D or an equivalent qualification. 47 | 48 | In this page we will explore the relation between academic degrees (formal education) and software engineering craftsmanship. 49 | 50 | ## Education landscape 51 | 52 | :::tip This topic needs a dedicated research, take it from here! 53 | 54 | To not shift away from the generic "State of Algerian software engineering" domain this report covers, I would just scratch the surface on this topic. Why? [Read more here](/docs/closing#education). 55 | ::: 56 | 57 | ### High-school 58 | 59 | Algerian students study for 3 years in high-schools, after passing Brevet d’Enseignement Moyen (BEM) a national exam to leave lower secondary schools (college or CEM). 60 | 61 | Students are assigned in different branches in high schools including: 62 | 63 | - Languages and social studies (lettres) 64 | - Sciences (natural and physical) 65 | - Technology (mathematics, physical sciences and technology). 66 | - Management (Gestion) 67 | 68 | Some science, technology, engineering, and math (STEM) education fields in universities are only accessible for certain high school branches. Therefor, students willing to pursue their education in IT (for example) has to be selected in either Mathematics, Science or Technology fields upon getting their BEM. 69 | 70 | > Can we say that having a bad grade in the national "BEM/BEF" exam can affect chances of working in software engineering? 71 | 72 | ### Higher education 73 | 74 | Access to universities and Higher schools is open to holders of the baccalaureate or a foreign equivalent. The Ministry of Higher Education and Scientific Research sets the requirements (scores to have) annually, assigning students to specialties takes the following parameters in consideration: 75 | 76 | - **Student choice:** Students must submit their desired specialties to study in order, then they get assigned the first matching choice. 77 | - **Field of study in the baccalaureate:** Mathematics, Technology and scientific students for example have access to science, technology, engineering, and mathematics (STEM) branches. 78 | - **Average score in specific fields on the baccalaureate:** Set annually based on averages, success rate and choices trends of each edition. For example access to Mathematics and Computer science (MI) branch in the university of Algiers (USTHB) was 13.74 in 2018, 13.83 in 2019, 14.27 in 2020 and 15.53 in 2021 ([source](https://finfo.usthb.dz/wp-content/uploads/2022/09/MoyennesMinimales-MI-USTHB.pdf)). 79 | - **The number of available seats in each field and jurisdiction:** Students are assigned their first matching desired field of study. 80 | 81 | This system makes the access to trending study specialties very competitive. Hence, we can use the scores to access these fields in big universities as a metric to see whether Computer science or similar related study fields are trending in Algeria. 82 | 83 | For example, in the following graph we compared the minimum admission scores for The [Higher National School of Computer Science (ESI)](https://esi.dz/) compared to success rates for Experimental Science branch: 84 | 85 | ![Admission scores to ESI](/img/stats/bac-and-esi-scores.png) 86 | 87 |
88 | 89 | Table representation 90 | 91 | | Year | ESI Admission score | Experimental science success rate | Overall success rate | 92 | | ---- | ------------------- | --------------------------------- | -------------------- | 93 | | 2019 | 16.48 | 47.31% | 54,56% | 94 | | 2020 | 17.07 | 56,97% | 55.30% | 95 | | 2021 | 18.13 | 60% | 61,17% | 96 | | 2022 | 17.95 | 59,32% | 58.75% | 97 | | 2023 | 18.63 | 60,85% | 50,63% | 98 | 99 |
100 | 101 | We see that the minimum admission score is rising, the higher success rate in baccalaureate, the higher admission score is. 102 | 103 | Note that universities have different requirements ([see results for 2023](https://www.esi.dz/wp-content/uploads/2023/08/Moyennes-minimales-BAC2023.pdf)). 104 | 105 | ### Higher/Elite schools 106 | 107 | Students with higher marks in baccalaureate can choose one of the Algerian "Higher/elite" schools: 108 | 109 | - [ESI (ex: INI)](https://esi.dz/). 110 | - [ESI school in Sidi Bel Abbès (ESI SBA)](https://www.esi-sba.dz/), 111 | - [National Higher School of Artificial Intelligence](https://www.ensia.edu.dz/) 112 | - [National Superior School of Telecommunication And Technology Information](http://www.ensttic.dz/) 113 | 114 | The government is also working on establishing a new higher school for cybersecurity [source:[Algeria Press Service (APS)](https://www.aps.dz/societe/166994-vers-l-elaboration-d-une-strategie-nationale-pour-faire-face-aux-menaces-cybernetiques)] 115 | 116 | ### Private universities 117 | 118 | The Algerian ministry of Higher education [authorized](https://services.mesrs.dz/bac2023/guide/fr/priv%C3%A9.html) several private universities. According to our research only 2 private universities teach IT-related topics: 119 | 120 | - [Higher Institute of Sciences](https://his.edu.dz/) 121 | - [Numidia Institute of Technology](https://nit-edu.net/) 122 | 123 | ### Private schools 124 | 125 | - Some students study IT-related topics in private schools. 126 | - Ecole 42 is still not established ([source](https://www.agenceecofin.com/formation/2908-100661-en-visite-en-algerie-le-president-macron-relance-le-projet-de-creation-de-l-ecole-42-annonce-depuis-5-ans)) 127 | 128 | ### Online (private) universities 129 | 130 | Some students study online in foreign universities. 131 | 132 | 133 | ### Centre & institutes 134 | 135 | Some students study in [CFPA](https://www.mfep.gov.dz/fr/ministere/types-des-etablissements/details-cfpa/) 136 | 137 | ## Does having a degree affect the chances of finding a job? 138 | 139 | To answer this question we crawled the biggest employment platform and fetched 48 job postings for software developers, 93% of them required a degree. 140 | 141 | ```mermaid 142 | xychart-beta horizontal 143 | title "Required degrees by job offers for developers" 144 | x-axis ["Master 2; Ingéniorat; Bac + 5","Master 1; Licence Bac + 4","Licence (LMD); Bac + 3","No degree","Professional Higher Education (TS)","TS Bac +2"] 145 | bar [36,15,11,3,2,2] 146 | 147 | ``` 148 | 149 | 150 | 160 | 161 | ## Internships 162 | 163 | :::tip This topic needs a dedicated research, take it from here! 164 | 165 | To not shift away from the generic "State of Algerian software engineering" domain this report covers, I would just scratch the surface on this topic. Why? [Read more here](/docs/closing#internships). 166 | ::: 167 | 168 | 175 | -------------------------------------------------------------------------------- /website/docs/insights/data-and-ml.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | description: Insights into data and machine learning advancements in Algeria, including government and private sector efforts. 4 | --- 5 | 6 | # Data and Machine learning 7 | 8 | Algeria is improving in terms of "[information society](https://www.mpt.gov.dz/en/what-is-the-information-society/)" and Knowledge Economy, both from governmental side and from private sectors. Additionally, the private sector and startups are mining data and making use of it to better leverage information technology in optimizing growth and profit. 9 | 10 | The government is moving towards Algeria's national vision for 2030. By establishing the [Knowledge Economy, Startups and Micro-enterprises](https://startup.dz) ministry and running multiple digitalization projects in different areas. The government even went to creating an "elite" [National School of Artificial Intelligence](https://www.ensia.edu.dz/). 11 | 12 | On a global level, data science and machine learning are trending, especially with the wide spread of LLMs and different generative AI models that got more "human" and closer to average non-technical consumers with different ChatBot applications. This trend may get people's interest into adopting this field as a profession, or hire professionals in this domain. 13 | 14 | ## Data-protection laws in Algeria 15 | 16 | The law [N°18-07 (governed by ANPDP)](https://anpdp.dz/fr/quand-et-a-qui-sapplique-la-loi-n18-07/) (inspired by European Union and French data protection law to some extent) specifies how data is handled. 17 | 18 | :::tip Read more 19 | - [DataGuidance: Algeria - Data Protection Overview](https://www.dataguidance.com/notes/algeria-data-protection-overview) 20 | - [ANPDP: Quand et à qui s’applique la loi N°18-07 ?](https://anpdp.dz/fr/quand-et-a-qui-sapplique-la-loi-n18-07/) 21 | - [Law text (French)](https://anpdp.dz/wp-content/uploads/2023/01/2.1-Loi-N%C2%B018-07-2.pdf) 22 | - [Law text (Arabic)](https://anpdp.dz/wp-content/uploads/2023/01/Loi-N%C2%B018-07-Arabe-2.pdf) 23 | ::: 24 | 25 | However, according to our interviewees the application of this law and the workforce of ANPDP is still in its early stages. Many startups and companies operate without approvals from that authority, while others started working with lawyers and consulting companies to be compliant. 26 | 27 | Unfortunately, at the moment of writing this document ANPDP's portal (https://portail.anpdp.dz/) is down, and their website promise ([snapshot](https://web.archive.org/web/20240702231853/https://anpdp.dz/fr/reclamation-recours-et-plainte/)) to have a form to make complaints about data protection infringements. 28 | 29 | :::note Personal note 30 | I could report an incident related to data protection by calling ANPDP's number, when providing enough information about it, they asked to send them an email. 31 | ::: 32 | ## Where Algerian data scientists and ML engineers work? 33 | 34 | According to our survey participants, the majority (70%) of data and machine learning engineers work on-site (or have a hybrid working model) for companies in the same country they live in. 11% work for remotely from Algeria for foreign companies. 35 | 36 | We see that some candidates work as full-time freelance data engineers while others do freelance in addition to their full-time or part-time jobs. 37 | 38 | According to our data, engineers who work in Algerian companies are mostly based in Algiers, and according to separate research, we also found that most of the companies who hire data and machine learning engineers are based in Algiers. Some examples are listed under "[Are there any companies who use data science and ML in Algeria?](#are-there-any-companies-who-use-data-science-and-ml-in-algeria)" section of this page. 39 | 40 | However, we see that some Algerians also do freelance work on Upwork for [data engineering/analysis](https://www.upwork.com/nx/search/talent/?category_uid=531770282580668420&loc=algeria&nss=80&revenue=1&rising_talent=yes&top_rated_plus=yes&top_rated_status=top_rated&page=1) and for [machine learning](https://www.upwork.com/nx/search/talent/?category_uid=531770282580668420&loc=algeria&nss=80&revenue=1&rising_talent=yes&subcategory_uid=531770282593251329&top_rated_plus=yes&top_rated_status=top_rated) gigs. On the other hand, some data scientists and AI/ML engineers work in academia, such as [Dr. Taha Zerrouki](https://www.researchgate.net/profile/Taha-Zerrouki) who leads NLP projects for Arabic language from Algerian university. 41 | 42 | :::tip 43 | [DzairAI](https://www.dzair.ai/) is building a list of different professionals and researchers working in AI/ML and data which can be found here: https://www.dzair.ai/community. 44 | ::: 45 | 46 | ## Is there any "data" in Algeria? 47 | 48 | > TLDR; Yes and No. 49 | 50 | The adoption of software by by government agencies and companies for managing their systems and to move forward with different digitization and digitalization initiatives has led to the generation of substantial amounts of data. 51 | 52 | However, when systems are not utilized effectively or implemented without a focus on data mining and analysis, or without training the personnel using the software, the resulting data often suffers from low quality and quantity. 53 | 54 | When it's available, data is usually hosted internally in companies' data centers and servers, or on Algerian hosting services as the Algerian law is clear about data residency. 55 | 56 | In some cases, some data gets published publicly for transparency which might create a good base for engineers and researchers. 57 | 58 | ### Government agencies 59 | 60 | With more digitalization and modernization, many government agencies started publishing public data for transparency, and to attract investors and innovators. 61 | 62 | However, many other agencies are lacking behind, or still showing outdated data (e.g. [National office of statistics](https://www.ons.dz/) still have data from 2019). 63 | 64 | ### Public data 65 | 66 | Public data can be obtained by crawling different sources, or by consuming ready-to-use datasets which are available from different sources. 67 | 68 | There is also an initiative to have an Algerian Open Data project ([Algeria's first Linked Open Data portal](https://www.cerist.dz/index.php/fr/news/1316-the-first-algerian-linked-open-data-portal) hosted by CERIST). 69 | 70 | ### Applications and websites 71 | 72 | As the collection and the management of personal data is regulated under tha law [ANPDP](https://anpdp.dz/fr/quand-et-a-qui-sapplique-la-loi-n18-07/), **websites and applications can collect data** to improve their users' experience and to better understand their client base. 73 | 74 | ### Research and surveys 75 | 76 | Surveys like ours ([Algeria Developer Survey](/docs/insights)) may also provide some data to study and to perform analysis. In academia, research labs can get access to internal datasets from different parties. 77 | 78 | ## Are there any companies who use data science and ML in Algeria? 79 | 80 | Yes. [DzairAI](https://www.dzair.ai) community did a brilliant job collecting some of them in this page: https://www.dzair.ai/institutions. 81 | 82 | We can identify different organisms who use machine learning and data science: 83 | 84 | ### Academia and R&D 85 | 86 | - [Central commission of nuclear energy](https://www.comena.dz/) 87 | - [Astronomy Research Center Astrophysics and Geophysics](https://www.craag.dz/) 88 | - [Algerian Space Agency](https://asal.dz/) 89 | - [Pasteur Institute of Algeria](https://www.pasteur.dz/fr/) 90 | - [Research Center for Scientific and Technical Information (CERIST)](https://www.cerist.dz/) 91 | - [Center for Development of Advanced Technologies (CDTA)](https://www.cdta.dz/) 92 | 93 | ### Production companies 94 | 95 | - [Cevital](https://www.cevital.com/) 96 | - [BK Fire](https://bkfire.dz/) 97 | 98 | ### TelCo 99 | 100 | - [Djezzy](https://www.djezzy.dz/) 101 | - [Ooredoo](http://www.ooredoo.dz/) 102 | 103 | ### Consulting companies 104 | 105 | - [PwC Algeria](https://pwcalgerie.pwc.fr/fr/) 106 | - [EY Algeria](https://www.ey.com/en_gl/locations/algeria) 107 | - [KPMG Algeria](https://home.kpmg/dz/fr/home.html) 108 | 109 | 110 | ### Banks and insurance companies 111 | 112 | - [Société général](https://societegenerale.dz/) 113 | - [Natixis](https://www.natixis.dz/) 114 | - [Gulf Bank Algeria](https://www.agb.dz/index.php) 115 | - [GAM Assurances](https://gam.dz/) 116 | 117 | ### Startups 118 | 119 | - [Namla Cloud Edge](https://namla.cloud/) 120 | - [Yassir](https://yassir.com/) 121 | - [TemTem One](https://temtemone.com/#/) 122 | - [Legal Doctrine](https://legal-doctrine.com/) 123 | - [Emploitic](https://www.emploitic.com/) 124 | - [FenTech](https://fentech.ai/) 125 | 126 | ### Foreign companies based in Algeria 127 | 128 | - [Huawei](https://www.huawei.com/en/) 129 | - [Ericsson](https://www.ericsson.com/en/about-us/company-facts/ericsson-worldwide/algeria) 130 | - [Heetch](https://www.heetch.com/dz-fr) 131 | 132 | ### AI-focused agencies 133 | 134 | - [Big Mama](https://big-mama.io/) 135 | - [D&D: Data and Development](https://datadevelopment.pro/) 136 | 137 | ## Is there an Algerian generative AI platform? 138 | 139 | Yes, [Nojoom.ai](https://nojoom.ai/) claim to be the first 100% Algerian generative AI platform. 140 | 141 | The platform is called Nojoom (Stars) aim to produce several responsible and Arabic AI tools, starting with "Thuraya" an AI-powered Arabic search engine, and Suhail a tool to analyze documents, summarize and extract information. 142 | 143 | Inspired by Arabic stars name ([Suhail](https://en.wikipedia.org/wiki/Suhail_(star)) and [Thuraya](https://en.wikipedia.org/wiki/Pleiades#Nomenclature_and_mythology)), Nojoom aim to create more AI-powered tools with the [pride](https://youtu.be/5XAU_d5bAHM) of being an Algerian product, build by Algerians. -------------------------------------------------------------------------------- /data-processing/datasets/json-outputs/question-maps/question-map-by-language.json: -------------------------------------------------------------------------------- 1 | { 2 | "en": [ 3 | "Timestamp", 4 | "What is your age?", 5 | "What is your gender?", 6 | "What is your highest level of education completed?", 7 | "Do you live in Algeria?", 8 | "Where do you live?", 9 | "Do you you have an Algerian degree in IT fields?", 10 | "Did you relocate to study abroad?", 11 | "Did you relocate to work abroad?", 12 | "From where do you primarily work?", 13 | "Where do you live (Wilaya)?", 14 | "Did you have to travel to that city (wilaya) to work in IT?", 15 | "If you find a better opportunity to work in a different city (wilaya), would you relocate?", 16 | "In addition to your salary, what other benefits or perks do you receive in your current role?", 17 | "If you are willing to leave the country, what would be your destination (Leave it empty if not applicable)?", 18 | "What is your current employment status?", 19 | "Which statement is true for your case (choose more than one if you have a hybrid working model)?", 20 | "What is your current professional level?", 21 | "How many years of professional experience do you have in the software engineering field?", 22 | "How many people work at your organization, including yourself?", 23 | "What's your main role?", 24 | "If you are working for an Algerian company, What's your average monthly salary in DZD (Algerian dinars)?\n\nLeave empty if not applicable.", 25 | "If you are working for a foreign company from Algeria, What's your average yearly gross income in EUR?\n\nLeave empty if not applicable.", 26 | "On a scale from 1 to 10, how satisfied are you with your current job in the software engineering field?", 27 | "What are the main challenges you face in your role as a software engineer in Algeria?", 28 | "How did you get into the field of software engineering or technology?", 29 | "Which programming languages do you frequently use in your work? (Select all that apply)", 30 | "Which database engines do you commonly work with? (Select all that apply)", 31 | "If applicable, which web hosting services do you use?", 32 | "Which web frameworks do you use?", 33 | "Which mobile development frameworks/languages do you use?", 34 | "If you build Desktop applications, what technologies do you use?", 35 | "Which e-payment solution did you use?", 36 | "How would you describe your involvement with open source software development?", 37 | "Which software development methodology you, or your organization use?", 38 | "Which online collaboration tools you use for work?", 39 | "Which cloud providers do you primarily use? (Select all that apply)", 40 | "Which version control systems do you primarily use for managing your software projects?", 41 | "What tools do you use for deployment and infrastructure provisioning ?", 42 | "Which CI/CD technology do you use?", 43 | "How did you acquire your IT skills in your specific field? And how did you learn to code?", 44 | "In which language did you primarily learn and acquire your IT skills?", 45 | "If you are involved in or aware of tech communities or meetups in Algeria, please specify the names or types of communities you are associated with or know of:\"" 46 | ], 47 | "ar": [ 48 | "Timestamp", 49 | "ماهو عمرك؟", 50 | "ماهو جنسك؟", 51 | "ما هو أعلى مستوى تعليمي أكملته؟", 52 | "هل تعيش في الجزائر", 53 | "أين تعيش؟", 54 | "هل لديك شهادة جزائرية في مجالات تكنولوجيا المعلومات؟", 55 | "هل انتقلت للدراسة في الخارج؟", 56 | "هل انتقلت للعمل في الخارج؟", 57 | "من أين تعمل بشكل أساسي؟", 58 | "أين تسكن (الولاية)؟", 59 | "هل كان عليك التنقل إلى تلك المدينة (الولاية) للعمل في مجال تكنولوجيا المعلومات؟", 60 | "إذا وجدت فرصة أفضل للعمل في مدينة (ولاية) مختلفة، فهل ستنتقل؟", 61 | "ما هي المزايا أو الامتيازات الأخرى التي تحصل عليها في وظيفتك الحالية، بالإضافة إلى راتبك؟", 62 | "إذا كنت على استعداد لمغادرة البلاد، ما هي وجهتك (اتركها فارغة إذا لم تكن قابلة للتطبيق)؟", 63 | "ما هو وضعك الوظيفي الحالي؟", 64 | "ما هي العبارة الصحيحة بالنسبة لحالتك (اختر أكثر من عبارة واحدة إذا كان لديك نموذج عمل مختلط)؟", 65 | "ما هو مستواك المهني الحالي؟", 66 | "كم عدد سنوات الخبرة المهنية التي لديك في مجال هندسة البرمجيات؟", 67 | "كم عدد الأشخاص الذين يعملون في مؤسستك، بما فيهم أنت؟", 68 | "ما هو اختصاصك الرئيسي؟", 69 | "إذا كنت تعمل في شركة جزائرية، ما هو متوسط ​​راتبك الشهري بالدينار الجزائري؟\n\nاتركه فارغا اذا لم يكن مطبقا.", 70 | "إذا كنت تعمل لدى شركة أجنبية من الجزائر، ما هو متوسط ​​دخلك الإجمالي السنوي باليورو؟ \n\nاتركه فارغا اذا لم يكن مطبقا", 71 | "على مقياس من 1 إلى 10، ما مدى رضاك ​​عن وظيفتك الحالية في مجال هندسة البرمجيات؟", 72 | "ما هي التحديات الرئيسية التي تواجهها في دورك كمهندس برمجيات في الجزائر؟", 73 | "كيف دخلت مجال هندسة البرمجيات أو التكنولوجيا؟", 74 | "ما هي لغات البرمجة التي تستخدمها كثيرا في عملك؟ (اختر كل ما ينطبق)", 75 | "ما هي محركات قواعد البيانات التي تعمل معها عادة؟ (اختر كل ما ينطبق)", 76 | "إن أمكن، ما هي خدمات استضافة الويب التي تستخدمها؟", 77 | "ما هي أطر الويب التي تستخدمها؟", 78 | "ما هي أطر/لغات تطوير الأجهزة المحمولة التي تستخدمها؟", 79 | "إن كنت تطور تطبيقات سطح المكتب، ما هي التقنيات التي تستخدمها؟", 80 | "ما هي حلول الدفع الإلكتروني الذي استخدمته؟\n", 81 | "كيف تصف مشاركتك في تطوير البرمجيات مفتوحة المصدر؟", 82 | "ما هي منهجية تطوير البرمجيات التي تستخدمها أنت أو مؤسستك؟", 83 | "ما هي أدوات التعاون عبر الإنترنت التي تستخدمها في العمل؟", 84 | "من هم موفري الخدمات السحابية الذين تستخدمهم بشكل أساسي؟ (اختر كل ما ينطبق)\n", 85 | "ما هي أنظمة التحكم في الإصدار التي تستخدمها بشكل أساسي لإدارة مشاريعك البرمجية؟", 86 | "ما الأدوات التي تستخدمها للنشر وتوفير البنية التحتية؟", 87 | "ما هي أدوات CI/CD التي تستخدمها؟", 88 | "كيف اكتسبت مهاراتك في مجال تكنولوجيا المعلومات في مجالك المحدد؟ وكيف تعلمت البرمجة؟", 89 | "ما هي اللغة التي تعتمد عليها في التعلم واكتساب مهاراتك في مجال تكنولوجيا المعلومات؟", 90 | "إذا كنت منخرطًا أو على علم بمجتمعات أو لقاءات تقنية في الجزائر، فيرجى تحديد أسماء أو أنواع المجتمعات التي ترتبط بها أو تعرفها:" 91 | ], 92 | "fr": [ 93 | "Timestamp", 94 | "Quel âge avez-vous?", 95 | "Quel est votre sexe ?", 96 | "Quel est votre plus haut niveau d'éducation accompli ?", 97 | "Vivez-vous en Algérie?", 98 | "Dans quel pays habitez-vous ?", 99 | "Avez-vous un diplôme algérien dans les domaines informatiques ?", 100 | "Avez-vous déménagé pour étudier à l'étranger ?", 101 | "Avez-vous déménagé pour travailler à l'étranger ?", 102 | "D’où travaillez-vous principalement ?", 103 | "Où habitez-vous (Wilaya) ?", 104 | "Avez-vous dû déménager dans cette ville (wilaya) pour travailler dans le domaine de l'informatique ?", 105 | "Si vous trouvez une meilleure opportunité de travail dans une ville (wilaya) différente, seriez-vous prêt(e) à déménager ?", 106 | "En plus de votre salaire, de quels autres avantages sociaux bénéficiez-vous dans votre rôle actuel ?", 107 | "Si vous êtes prêt(e) à quitter le pays, quelle serait votre destination ? (Laissez vide si cela ne s'applique pas)", 108 | "Quelle est votre situation d'emploi actuelle?", 109 | "Quelle(s) affirmation(s) correspond(ent) à votre cas ? (Choisissez-en plusieurs si vous avez un modèle de travail hybride", 110 | "Quel est votre niveau professionnel actuel ?", 111 | "De combien d’années d’expérience professionnelle disposez-vous dans le domaine du génie logiciel ?", 112 | "Combien de personnes travaillent dans votre organisation, y compris vous-même ?", 113 | "Quel est votre rôle principal ?", 114 | "Si vous travaillez pour une entreprise algérienne, quel est votre salaire mensuel moyen en dinars algériens (DZD) ? \n\nLaissez vide si cela ne s'applique pas.", 115 | "Si vous travaillez pour une entreprise étrangère depuis l'Algérie, quelle est votre rémunération annuelle brute moyenne en euros ? \n\nLaissez vide si cela ne s'applique pas.", 116 | "Sur une échelle de 1 à 10, à quel point êtes-vous satisfait(e) de votre emploi actuel dans le domaine de l'ingénierie logicielle ?", 117 | "Quels sont les principaux défis auxquels vous êtes confronté dans votre rôle d’ingénieur logiciel en Algérie ?", 118 | "Comment êtes-vous arrivé(e) dans le domaine du génie logiciel ou de la technologie ?", 119 | "Quels langages de programmation utilisez-vous fréquemment dans votre travail ? (Sélectionnez tout ce qui s'y rapporte)", 120 | "Avec quelles bases de données travaillez-vous généralement ? (Sélectionnez toutes les options qui s'appliquent)", 121 | "Si applicable, quels services d'hébergement web utilisez-vous ?", 122 | "Quels frameworks web utilisez-vous ?", 123 | "Quels frameworks/langages de développement mobile utilisez-vous ?", 124 | "Si vous créez des applications de bureau, quelles technologies utilisez-vous ?", 125 | "Quelle solution de paiement électronique avez-vous utilisée ?", 126 | "Comment décririez-vous votre implication dans le développement de logiciels open source ?", 127 | "Quelle méthodologie de développement logiciel vous ou votre organisation utilisez-vous ?", 128 | "Quels outils de collaboration en ligne utilisez-vous pour votre travail ?", 129 | "Quels fournisseurs de cloud utilisez-vous principalement ? (Sélectionnez tout ce qui s'y rapporte)", 130 | "Quels systèmes de contrôle de version utilisez-vous principalement pour gérer vos projets logiciels ?", 131 | "Quels outils utilisez-vous pour le déploiement et le provisionnement de l'infrastructure ?", 132 | "Quelle technologie CI/CD utilisez-vous ?", 133 | "How did you acquire your IT skills in your specific field? And how did you learn to code?", 134 | "Dans quelle langue avez-vous principalement appris et acquis vos compétences informatiques ?", 135 | "Si vous participez à des communautés technologiques ou à des rencontres en Algérie, veuillez préciser les noms ou types de communautés auxquels vous êtes associé(e) ou que vous connaissez :\"" 136 | ] 137 | } 138 | -------------------------------------------------------------------------------- /website/docusaurus.config.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | // `@type` JSDoc annotations allow editor autocompletion and type checking 3 | // (when paired with `@ts-check`). 4 | // There are various equivalent ways to declare your Docusaurus config. 5 | // See: https://docusaurus.io/docs/api/docusaurus-config 6 | 7 | import { themes as prismThemes } from "prism-react-renderer"; 8 | 9 | /** @type {import('@docusaurus/types').Config} */ 10 | const config = { 11 | title: "The State of Software Engineering in Algeria", 12 | // tagline: "Unveiling the Software Engineering Landscape: Trends & Challenges", 13 | tagline: "Insights from our Algeria Developer Survey in 2024", 14 | favicon: "img/favicon.ico", 15 | staticDirectories: ["static"], 16 | // Set the production url of your site here 17 | url: "https://state-of-algeria.dev", 18 | // Set the // pathname under which your site is served 19 | // For GitHub pages deployment, it is often '//' 20 | baseUrl: "/", 21 | // baseUrl: "/state-of-dz-swe-2024", 22 | 23 | // GitHub pages deployment config. 24 | // If you aren't using GitHub pages, you don't need these. 25 | organizationName: "fcmam5", // Usually your GitHub org/user name. 26 | projectName: "state-of-dz-swe-2024", // Usually your repo name. 27 | 28 | onBrokenLinks: "throw", 29 | onBrokenMarkdownLinks: "warn", 30 | 31 | // Even if you don't use internationalization, you can use this field to set 32 | // useful metadata like html lang. For example, if your site is Chinese, you 33 | // may want to replace "en" with "zh-Hans". 34 | i18n: { 35 | defaultLocale: "en", 36 | locales: ["en"], 37 | }, 38 | 39 | presets: [ 40 | [ 41 | "classic", 42 | /** @type {import('@docusaurus/preset-classic').Options} */ 43 | ({ 44 | docs: { 45 | sidebarCollapsible: true, 46 | sidebarCollapsed: false, 47 | showLastUpdateTime: true, 48 | showLastUpdateAuthor: true, 49 | }, 50 | blog: { 51 | showReadingTime: true, 52 | editUrl: 53 | "https://github.com/Fcmam5/state-of-dz-swe-2024/tree/master/website/blog", 54 | }, 55 | theme: { 56 | customCss: "./src/css/custom.css", 57 | }, 58 | gtag: { 59 | trackingID: "G-8VQ5MM48HP", 60 | anonymizeIP: true, 61 | }, 62 | }), 63 | ], 64 | ], 65 | 66 | themeConfig: 67 | /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ 68 | ({ 69 | colorMode: { defaultMode: "light", respectPrefersColorScheme: false }, 70 | announcementBar: { 71 | content: `🍪 This website uses cookies`, 72 | backgroundColor: "#3cad6e", 73 | textColor: "#FFFFFF", 74 | }, 75 | algolia: { 76 | appId: "CHKFTO51QL", 77 | apiKey: "ff5aa4ce9ed69c8ae999f2d82506adc7", 78 | indexName: "state-of-algeria", 79 | contextualSearch: true, 80 | }, 81 | 82 | metadata: [ 83 | { 84 | name: "keywords", 85 | content: 86 | "algeria, software, development, it,machine learning, data, cloud", 87 | }, 88 | ], 89 | // Replace with your project's social card 90 | image: "img/social-card.png", 91 | docs: { 92 | sidebar: { 93 | hideable: true, 94 | }, 95 | }, 96 | navbar: { 97 | title: "The state of Algerian Software engineering 2024", 98 | logo: { 99 | alt: "Don't judge me, ain't a designer... A survey logo", 100 | src: "img/logo.png", 101 | }, 102 | items: [ 103 | { 104 | to: "/docs/insights/technology-trends", 105 | label: "Trends", 106 | position: "left", 107 | }, 108 | { 109 | to: "/docs/insights/challenges", 110 | label: "Challenges", 111 | position: "left", 112 | }, 113 | { 114 | to: "/docs/insights/remuneration", 115 | label: "Remuneration", 116 | position: "left", 117 | }, 118 | { 119 | href: "https://github.com/Fcmam5/state-of-dz-swe-2024", 120 | label: "Github", 121 | position: "right", 122 | }, 123 | // { to: "/report", label: "🚧Report", position: "right" }, 124 | { to: "/blog", label: "Blog", position: "right" }, 125 | ], 126 | }, 127 | footer: { 128 | style: "dark", 129 | links: [ 130 | { 131 | title: "The project", 132 | items: [ 133 | { 134 | label: "About us", 135 | href: "/about", 136 | }, 137 | { 138 | label: "Support ", 139 | href: "/support", 140 | }, 141 | { 142 | label: "Blog", 143 | to: "/blog", 144 | }, 145 | { 146 | label: "Feedback", 147 | href: "/feedback", 148 | }, 149 | { 150 | label: "Subscribe", 151 | href: "https://stateofalgeria.substack.com/", 152 | }, 153 | ], 154 | }, 155 | { 156 | title: "Spread the word!", 157 | items: [ 158 | { 159 | label: "Facebook", 160 | href: "https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstate-of-algeria.dev%2Fdocs&src=sdkpreparse", 161 | }, 162 | { 163 | label: "Twitter", 164 | href: "https://twitter.com/intent/tweet?text=Check%20out%20The%20State%20of%20Algerian%20Software%20Engineering%202024:%20https%3A%2F%2Fstate-of-algeria.dev%2Fdocs%20%23dzDevSurvey24", 165 | }, 166 | { 167 | label: "LinkedIn", 168 | href: "https://www.linkedin.com/sharing/share-offsite/?url=https://state-of-algeria.dev/docs", 169 | }, 170 | { 171 | label: "Mentions & Discussions", 172 | to: "/mentions-and-discussions", 173 | }, 174 | { 175 | html: "

Please use #dzDevSurvey24 hashtag

", 176 | }, 177 | ], 178 | }, 179 | { 180 | title: "goto;", 181 | items: [ 182 | { 183 | label: "Survey results", 184 | to: "/docs", 185 | }, 186 | { 187 | label: "Insights", 188 | to: "/docs/insights", 189 | }, 190 | { 191 | label: "Methodology", 192 | to: "/docs/appendix/methodology", 193 | }, 194 | { 195 | label: "Glossary", 196 | to: "/docs/appendix/glossary", 197 | }, 198 | { 199 | html: "Buy Me a Coffee at ko-fi.com", 200 | }, 201 | ], 202 | }, 203 | { 204 | title: "Legal", 205 | items: [ 206 | { 207 | label: "Privacy", 208 | to: "/privacy", 209 | }, 210 | { 211 | label: "Cookie", 212 | to: "/cookie", 213 | }, 214 | { 215 | label: "Terms of use", 216 | to: "/terms-of-use", 217 | }, 218 | ], 219 | }, 220 | ], 221 | copyright: `

The State of Software Engineering in Algeria by Abdeldjalil Fortas is licensed under CC BY-NC-ND 4.0CCBYNCND

`, 222 | logo: { 223 | alt: "Don't judge me, ain't a designer... A survey logo", 224 | src: "img/logo.png", 225 | height: 200, 226 | }, 227 | }, 228 | prism: { 229 | theme: prismThemes.github, 230 | darkTheme: prismThemes.dracula, 231 | }, 232 | }), 233 | 234 | markdown: { 235 | mermaid: true, 236 | }, 237 | themes: ["@docusaurus/theme-mermaid"], 238 | plugins: [ 239 | [ 240 | "@docusaurus/plugin-pwa", 241 | { 242 | debug: true, 243 | offlineModeActivationStrategies: [ 244 | "appInstalled", 245 | "standalone", 246 | "queryString", 247 | ], 248 | pwaHead: [ 249 | { 250 | tagName: "link", 251 | rel: "icon", 252 | href: "/img/logo.png", 253 | }, 254 | { 255 | tagName: "link", 256 | rel: "manifest", 257 | href: "/manifest.json", // your PWA manifest 258 | }, 259 | { 260 | tagName: "meta", 261 | name: "theme-color", 262 | content: "rgb(37, 194, 160)", 263 | }, 264 | ], 265 | }, 266 | ], 267 | ], 268 | }; 269 | 270 | export default config; 271 | -------------------------------------------------------------------------------- /website/docs/insights/cybersecurity.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 11 3 | description: Explore cybersecurity initiatives in Algeria, including government efforts and industry standards. 4 | title: Cybersecurity and governance 5 | --- 6 | 7 | 8 | Cybersecurity and governance 9 | 10 | 11 | # Cybersecurity and governance 12 | 13 | The Algerian government established a national mission to raise awareness and improve different areas of cybersecurity in the country. In this section we will explore some of the findings in this area. 14 | 15 | The Ministry of Post and Telecommunications published [The National Information Security Repository (NISR) ](https://www.mpt.gov.dz/en/information-security-reference/) in 2020. 16 | 17 | NISR 2020 consists of twenty domains, ranging from personal data protection and mobile security to physical and IoT security. 18 | 19 | The reference lists a set of recommendations, best practices, guidelines, and controls to improve the security of individuals' and companies' information systems. The controls and guidelines adhere to various international standards (GDPR, NIST 800-53, ISO/IEC 27002:2013, etc.). 20 | 21 | :::tip This topic needs a dedicated research, take it from here! 22 | 23 | To avoid shifting away from the general "State of Algerian software engineering" domain this report covers, I will just scratch the surface of this topic. Why? [Read more here](/docs/closing#cybersecurity). 24 | ::: 25 | 26 | To support our understanding and gain a better overview of this field in Algeria, we conducted several interviews with professionals. 27 | 28 | ## Cybersecurity in Algerian laws and regulations 29 | 30 | The Algerian regulator incriminates and defines cyber crimes through a series of laws, such as: 31 | 32 | - Law [N° 04-15 (10 November 2004)](https://droit.mjustice.dz/sites/default/files/portail/legisl_nouveau/code_penal_2010/fr/index.html?i=655) defines sanctions for crimes related to data integrity, confidentiality and security. 33 | - Law [N° 09-04 (05 August 2009)](https://www.arpce.dz/fr/pub/l9d1a8), amended by [N° 16-02 (19 June 2016)](https://droit.mjustice.dz/sites/default/files/Loi-N%C2%B0-16-02.pdf) define cyber crimes, electronic communications surveillance and the establishment of a national committee for preventing and fighting offenses related to information and communication technology. 34 | - Law [N° 18-05 (10 May 2018)](https://www.arpce.dz/fr/pub/z2g9u7) emphasizes the requirement of securing data at rest and in transfer when dealing with personal and payment data. 35 | - Law [N° 18-07 (10 June 2018)](https://www.arpce.dz/fr/pub/c7e6n6) which is also related to personal data protection. 36 | - Law [N° 20-05 (20 January 2020)](https://www.joradp.dz/FTP/jo-francais/2020/F2020004.pdf) created the Conseil National de la Sécurité des Systèmes d’Information (CNSSI) (National Information Systems Security Council) which operates within the Ministry of National Defense, it is responsible for the development of the national strategy for the security of information systems. 37 | 38 | These laws (and other texts) created different agencies that regulate and audit different aspects of cyber security and data protection. Among these agencies, we cite: 39 | 40 | - [ANPDP](https://anpdp.dz/) 41 | - [ARPCE](https://www.arpce.dz/) 42 | - [INAPI](https://anpdp.dz/) 43 | - CNSSI (Ministry of National Defense) 44 | - [ONPLCITIC](https://www.arpce.dz/fr/file/p3m2q0) (Organe National de Prévention et de Lutte Contre les Infractions Liées aux TIC) 45 | - ASSI (Agence de sécurité des systèmes d’information) (Ministry of National Defense) 46 | - Central Department for Combating Cybercrime (DGSN) 47 | - [AGCE](https://agce.dz/) 48 | - [CNOSSI](https://www.joradp.dz/FTP/jo-francais/2020/F2020004.pdf) 49 | - [DZ-CERT](https://www.cerist.dz/index.php/fr/rechercheetdevelop/116-projets-de-recherche-innovants/238-dz-cert-algerian-computer-emergency-response-team) (DZ-CERT Algerian Computer Emergency Response Team) 50 | 51 | Along the establishment of [NISR document](https://www.mpt.gov.dz/en/information-security-reference/) in 2016, then its update on 2020. 52 | 53 | ## Cybersecurity from our survey data 54 | 55 | Our survey did not have a lot of participants who work as cybersecurity engineers (8 of 517). Thus, we have to complete our analysis and discovery by interviewing specialists individually. 56 | 57 | ### Education 58 | 59 | In our question about the highest level of education completed, our participants answered the following: 60 | 61 | ```mermaid 62 | pie 63 | "Master's Degree (Bac+5 in LMD; or Bac+4 in classical system) in an IT-related field" : 5 64 | "Bachelor's Degree (License Bac+3 in LMD) in an IT-related field" : 1 65 | "Master's Degree in a non IT-related field" : 1 66 | "Prefer not to say" : 1 67 | ``` 68 | 69 | And when asked how they acquired their skills in IT (`How did you acquire your IT skills in your specific field? And how did you learn to code?`), the answers where the following: 70 | 71 | ```mermaid 72 | xychart-beta horizontal 73 | x-axis ["Self-Taught","Formal Education (University)","On-the-Job Training","Online Courses","Coding Bootcamp","Mentorship"] 74 | bar [7,6,5,4,2,1] 75 | ``` 76 | 77 | We notice that at least 6 out of 8 participants acquired their skills in information technology and/or cybersecurity from their formal education. 78 | 79 | Out of the 6 engineers who received formal education at university, 5 of them supplemented their learning with online courses and books. Additionally, 3 of these individuals underwent on-the-job training. 80 | 81 | Our participants acquire skills in cybersecurity in English (100% of the participants), in French (50%), in Arabic and in Algerian dialect (Darija). 82 | 83 | We had one senior security engineer who only received a formal education (Master's degree in an IT-related field), that individual is paid the lowest salary (less than **100 000 DZD** per month) compared to other seniors. 84 | 85 | According to [our experts](/docs/appendix/raw-interviews#a-cybersecurity-engineer-who-worked-for-an-cybersecurity-company-in-algeria), formal education provides basics of computer science (such as algorithms, operating systems, networking...). 86 | 87 | Schools and universities create an environment where students can learn from each other by organizing workshops, CTF competitions, etc. 88 | 89 | There are a few companies who have continuous education programs, these companies host workshops and seminars for their engineers, and sometimes they sponsor them to pass different certificates. 90 | 91 | ### Work models and challenges 92 | 93 | 67% of our participants work for Algerian companies on-site in Algeria, and 22% work remotely from Algeria for foreign companies. 94 | 95 | We had one participant (out of 8) who works part-time both for an Algerian company in Algeria, and remotely for foreign companies. 96 | 97 | According to our participants, the main challenges cybersecurity engineers face in Algeria are: 98 | 99 | 1. Lack of Recognition or Career Growth Opportunities 100 | 2. Insufficient Government Support for the Tech Industry 101 | 3. Limited Access to Advanced Training or Courses 102 | 4. Regulatory or Compliance Challenges (Unclear laws or unregulated activities) 103 | 5. Banking systems (unclarity on how to pay and receive wages) 104 | 6. High Workload or Overtime Demands 105 | 7. Mandatory military service 106 | 8. Challenges in Collaboration and Team Communication 107 | 9. Lack of Collaboration Between Academia and Industry 108 | 10. Lack of challenging opportunities 109 | 11. The unfair use of private relations (nepotism; favoritism; etc.) in the hiring process 110 | 111 | ### Salaries and perks 112 | 113 | According to our participants: 114 | 115 | - Junior security engineers are paid salaries around **80 000 DZD**. 116 | - Security engineers with 6+ years of experience are paid between **100 000** and **150 000 DZD** (in Algiers). 117 | - Senior security engineers (11 to 15 years of professional experience) are paid salaries between **100 000** and **150 000 DZD** (in Algiers and Oran). 118 | 119 | ```mermaid 120 | pie 121 | "Bonuses" : 7 122 | "Health Insurance" : 4 123 | "Retirement/Pension Plan" : 4 124 | "Paid Time Off (Vacation; Holidays)" : 4 125 | "Flexible Working Hours" : 4 126 | "Remote Work Options" : 4 127 | "Company-provided Equipment" : 3 128 | "Professional Development Opportunities" : 2 129 | "Gym/Wellness Memberships" : 1 130 | "Housing" : 1 131 | ``` 132 | 133 | ### Technologies 134 | 135 | We asked our participants what language they primarily use, and the answers where the following: 136 | 137 | ```mermaid 138 | pie 139 | "Python" : 7 140 | "SQL" : 5 141 | "Bash/Shell (all shells)" : 5 142 | "Java" : 5 143 | "PHP" : 5 144 | "PowerShell" : 5 145 | "JavaScript" : 3 146 | "HTML/CSS" : 3 147 | "Visual Basic (.Net)" : 2 148 | "C++" : 2 149 | "Assembly" : 2 150 | "VBA" : 1 151 | ``` 152 | 153 | The two participants who use Assembly work for foreign companies (one participant works as a part-time employee and one freelancer). 154 | 155 | When asked about web hosting solutions, our participants answered the following: 156 | 157 | ```mermaid 158 | xychart-beta horizontal 159 | x-axis ["Use own, or organization's servers","Algerian hosting service providers","Non-Algerian VPS or Shared hosting","Cloud Hosting (e.g. AWS; Azure; GCP)"] 160 | bar [6,4,2,2] 161 | ``` 162 | 163 | Most of our security engineers (6 out of 8) use in-house hosting solutions (their own, or their organization's servers). 164 | 165 | Half of the security engineers who responded use Algerian hosting providers (some of them commented that it's for compliance reasons). 166 | 167 | Two of the participants use AWS and Azure as cloud providers, one use GCP, and one use OVHcloud. 168 | 169 | ### Relocation 170 | 171 | 63% of our participants who work as security engineers are open to relocate to other Wilayas if they have better opportunities. 172 | 173 | The participants who work in cybersecurity and live in Algiers did relocate from other Wilayas to work there. 174 | 175 | ## Contributing to a national cybersecurity mission 176 | 177 | While the government is promoting "national cyber security mission" by establishing [The National Information Security Repository (NISR) ](https://www.mpt.gov.dz/en/information-security-reference/), by organizing different conferences and seminars, and even by working on starting a [Higher National school of cyber security](https://www.aps.dz/societe/166994-vers-l-elaboration-d-une-strategie-nationale-pour-faire-face-aux-menaces-cybernetiques)... 178 | 179 | Algeria is classified as a country with high risk of cybercrimes, with many cases of devices being infected with malware. The [Global Organized Crime Index](https://ocindex.net/country/algeria) reported the following the following: 180 | 181 | > The lack of specific legislation focused on cybersecurity and a general lack of awareness among the population, and authorities contribute to this situation. 182 | 183 | Some cybersecurity companies in Algeria offer training and consulting services in addition to performing audits and pen-testing services, but it seems (according to our observation, and to experts we interviewed) that the proactive demand on these services mostly come from foreign companies that are based in Algeria, who adhere to international standards, often driven by CTO/CISO offices from abroad. 184 | 185 | Other companies may reach out to security consultants to run incident response. 186 | 187 | When we interviewed some developers and security researchers, we asked how can we contribute and report security issues we find in websites and applications. The answers were mostly negative, engineers are often not interested in reporting security vulnerabilities, according to our experts the lack of tech maturity and security culture may result either in ignoring their reports, or legal consequences. 188 | 189 | We could not find any Algerian bug bounty program, reporting security bugs can get researchers into legal issues (and sometimes even gets to the National Defense Army). When a bug is found accidentally, the researcher might have hard time chasing the developers or maintainers of websites and applications, and often they have to rely on private connections to report these bugs so they get patched. 190 | 191 | However, there are some unofficial rewards provided by some companies. When a vulnerability is critical and the application/website owners are contacted, they can pay the reporters (according to our interview with [software agency](/docs/appendix/raw-interviews#can-pay-bounties), and a security engineer). 192 | 193 | The lack of clear legal frameworks and an established culture might be demotivating for security experts and enthusiasts, some engineers may find working in cybersecurity risky, and others prefer to leave the country or work remotely for foreign companies with a more established culture, and for a higher salary. 194 | 195 | -------------------------------------------------------------------------------- /website/docs/insights/open-source.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 13 3 | description: Explore the role of open source in Algeria's software engineering ecosystem. 4 | --- 5 | 6 | # Open Source 7 | 8 | We asked our participants `How would you describe your involvement with open source software development?` and the answers where the following: 9 | 10 | ```mermaid 11 | pie showData 12 | "Regular user of open source tools/libraries" : 189 13 | "Passive observer; but not actively involved" : 145 14 | "No involvement in open source projects" : 116 15 | "Active contributor to open source projects" : 48 16 | "I'm not familiar with open source software" : 19 17 | ``` 18 | 19 | According to data, we see that Algerian software engineers mostly use Open Source frameworks and libraries, while we see that some engineers who work in corporate and large companies may use proprietary software. 20 | 21 | We also see that few of our survey participants consider themselves active contributors to Open Source projects. 57% of them are senior engineers, 15% are mid-level engineers, 8% have managerial or leadership roles, and the rest are juniors. 22 | 23 | ## Visibility 24 | 25 | It is hard to find data about Algerian Open Source initiatives, or about contributions made by Algerians. 26 | 27 | Algeria is not present in different reports due the lack of data, or the lack of visibility of Algerian contributions. 28 | 29 | For example, Algeria was not present in [Github's Octoverse report for 2023](https://github.blog/2023-11-08-the-state-of-open-source-and-ai/#fastest-growing-developer-communities-in-africa), as Algerian contributions are not present in "[Made in Africa](https://github.com/collections/made-in-africa)", while Nigeria for example took the lead as the fastest growing country in terms of OSS developers, with a collection of 200+ of projects [made in Nigeria](https://github.com/acekyd/made-in-nigeria). 30 | 31 | [Made in Algeria collection on Github](https://github.com/collections/made-in-algeria) is not actively maintained, and it only list a few projects. 32 | 33 | :::info 34 | I'm adding more repositories to [Made In Algeria collection](https://github.com/github/explore/pull/4285), and please do so as well! 35 | ::: 36 | 37 | Individual contributions made by Algerians might also not be visible in reports and surveys, as some engineers choose not to share their locations on their public profiles, or some of them work from abroad. 38 | 39 | ## Algerian Open Source projects 40 | 41 | - **[Alfanous](https://github.com/Alfanous-team/alfanous):** Arabic search engine API for Quran. 42 | - **[idurar-erp-crm](https://github.com/idurar/idurar-erp-crm):** Open Source Headless ERP CRM E-Commerce Software Multi Branch & Currency. 43 | - **[bpflock](https://github.com/linux-lock/bpflock):** eBPF driven security for locking and auditing Linux machines. 44 | - **[mishkal](https://github.com/linuxscout/mishkal):** An Arabic text vocalization software. 45 | - **[pyarabic](https://github.com/linuxscout/pyarabic):** A specific Arabic language library for Python. 46 | - **[tashaphyne](https://github.com/linuxscout/tashaphyne):** Arabic light stemmer implementation. 47 | - **[frida-android-helper](https://github.com/Hamz-a/frida-android-helper):** Frida Android utilities for pentesting tasks. 48 | - **[Lockdoor Framework](https://github.com/SofianeHamlaoui/Lockdoor-Framework):** A Penetration Testing framework with Cyber Security Resources. 49 | - **[django-jet-reboot](https://github.com/assem-ch/django-jet-reboot):** Legacy Django jet rebooted to support Django 3, 4, and latest. 50 | - **[arabicstemmer](https://github.com/assem-ch/arabicstemmer):** Arabic light stemmer library for Python. 51 | - **[sloughi](https://github.com/01walid/sloughi):** Shareable git hooks for Rust project. Sloughi is a friend of Husky from North Africa!. 52 | - **[timgad](https://github.com/OpenDZ/timgad):** A framework for building scalable, maintainable, and flexible web applications. 53 | - **[ahaggar](https://github.com/tixxdz/ahaggar):** A light and fast Arabic text vocalization tool. 54 | - **[easy_localization](https://github.com/aissat/easy_localization):** Localization library for Flutter apps. 55 | - **[laradminator](https://github.com/kossa/laradminator):** Integration of Adminator into Laravel 6.x/7.x/8.x with RTL support. 56 | - **[algerian-cities](https://github.com/kossa/algerian-cities):** A list of Algerian cities with geographical coordinates. 57 | - **[awsviz](https://github.com/bourabdelhadi/awsviz):** Visualization tool for AWS CloudFormation templates. 58 | 59 | :::note Personal projects 60 | 61 | Below are some of my personal Open Source utilities: 62 | 63 | - **[Hamid.js](https://github.com/Fcmam5/hamid.js)**: A library to trigger an action if the user is idle. 64 | - **[nest-problem-details](https://github.com/Fcmam5/nest-problem-details)**: A Nest.js HTTP exceptions filter returning RFC-7807 responses. 65 | - **[nx-mermaid-grapher](https://github.com/Fcmam5/nx-mermaid-grapher)**: Create Mermaid graphs for [NX](https://nx.dev/) dependencies 66 | - **[oktob.js](https://github.com/Fcmam5/oktob.js)**: A library that replaces Latin letters when writing with Arabic letters (and vice versa). 67 | - **[Leblad](https://github.com/dzcode-io/leblad)**: A JS library providing a list of Algerian administrative areas with many useful APIs. 68 | 69 | ::: 70 | 71 | ## Algerians' Contributions to Open Source 72 | 73 | Even if Algerians have been working on large and established Open Source projects, the number of engineers 74 | contributing is still low. More engineers and developers need to get involved into Open Source if they aspire to 75 | better work opportunities. 76 | 77 | :::info 78 | Did you know that Algerians made major contributions and their code is running on another planet not only earth? 79 | 80 | [Djalal Harouni](https://github.com/tixxdz) while in Algeria, his Open Source work was included into [Ingenuity Mars Helicopte Mission](https://www.jpl.nasa.gov/missions/ingenuity) 81 | sent to Mars planet. Ingenuity was deployed to the surface on April 4, 2021. On April 19, it became the first aircraft in history to make a powered, controlled flight on another 82 | planet. 83 | This incredible achievement was powered in part by [Open Source developers around the world (12,000 developers)](https://github.blog/2021-04-19-open-source-goes-to-mars/) 84 | including Djalal's contribution to the [Linux kernel](https://github.com/torvalds/linux) as it was the main Operating system. 85 | 86 | Open Source has no frontier. Every one has a chance to make great contributions and work at great companies. 87 | ::: 88 | 89 | There are other Algerians who are active Open Source projects and/or work full-time on Open Source projects, for example: 90 | 91 | - [Cherif Bouchelaghem](https://github.com/cherifGsoul) works on [CanJS](https://github.com/canjs). 92 | - [Riad Benguella](https://github.com/youknowriad) works on [Wordpress](https://github.com/wordpress) and their [Gutenberg](https://github.com/WordPress/gutenberg) project 93 | - [Seghir Nadir](https://github.com/senadir) works on [WooCommerce](https://github.com/woocommerce/woocommerce). 94 | - [Djalal Harouni](https://github.com/tixxdz) works on several projects by [Cilium](https://github.com/cilium), and other major Open Source projects such as [the Linux Kernel](https://github.com/torvalds/linux), [systemd](https://github.com/systemd/systemd), [nmap](https://nmap.org/), etc. 95 | - [Tiramisu compiler](https://github.com/Tiramisu-Compiler/tiramisu) received contributions from [serval Algerians](https://github.com/Tiramisu-Compiler/tiramisu/blob/master/CONTRIBUTORS) such as Dr. [Riyadh Baghdadi](https://github.com/rbaghdadi). 96 | 97 | ## Work and contributions to Major Open Source projects 98 | 99 | Algerians' contributions to popular Open Source projects that run the internet. Only projects with +100 Github Stars on the 24-04-2024: 100 | 101 | | Open Source Project | Github ⭐ | 102 | | ------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | 103 | | [Linux kernel source. Github tree mirror](https://github.com/torvalds/linux) | 170k ⭐ | 104 | | [NestJS A progressive Node.js framework for building server-side applications](https://github.com/nestjs/nest/) | 66k ⭐ | 105 | | [Wordpress Development mirror](https://github.com/WordPress/WordPress) | 18.8k ⭐ | 106 | | [Servo the embeddable memory-safe parallel web rendering engine](https://github.com/servo/servo) | 26.3k ⭐ | 107 | | [Linux systemd System and Service Manager](https://github.com/systemd/systemd) | 12.5k ⭐ | 108 | | [NASA F´- A flight software and embedded systems framework](https://github.com/nasa/fprime) | 9.9k ⭐ | 109 | | [The Block Editor project for WordPress and beyond](https://github.com/WordPress/gutenberg) | 9.9k ⭐ | 110 | | [Nmap - the Network Mapper. Github mirror of official SVN repository](https://github.com/nmap/nmap) | 9.2k ⭐ | 111 | | [A customizable, open-source ecommerce platform built on WordPress](https://github.com/woocommerce/woocommerce) | 9.1k ⭐ | 112 | | [Open Source Headless ERP CRM E-Commerce Software Multi Branch & Currency](https://github.com/idurar/idurar-erp-crm) | 5.4k ⭐ | 113 | | [CanJS Build CRUD apps in fewer lines of code](https://github.com/canjs/canjs) | 1.9k ⭐ | 114 | | [Low-level core library that forms the basis for projects such as GTK+ and GNOME](https://github.com/GNOME/glib) | 1.5k ⭐ | 115 | | [Web Development Evolved - The Firebug you have known and loved](https://github.com/firebug/firebug) | 1.3k ⭐ | 116 | | [Lockdoor Framework: A Penetration Testing framework with Cyber Security Resources](https://github.com/SofianeHamlaoui/Lockdoor-Framework) | 1.3k ⭐ | 117 | | [A specific Arabic language library for Python](https://github.com/linuxscout/pyarabic) | 421 ⭐ | 118 | | [Legacy Django jet rebooted to support Django 3, 4, and latest](https://github.com/assem-ch/django-jet-reboot) | 368 ⭐ | 119 | | [Mishkal is an arabic text vocalization software](https://github.com/linuxscout/mishkal) | 259 ⭐ | 120 | | [Quran Search - Arabic search engine API for Quran](https://github.com/Alfanous-team/alfanous) | 248 ⭐ | 121 | | [Frida Android utilities for pentesting tasks](https://github.com/Hamz-a/frida-android-helper) | 230 ⭐ | 122 | | [Integration of Adminator into Laravel 6.x/7.x/8.x with RTL support](https://github.com/kossa/laradminator) | 225 ⭐ | 123 | | [Automated Frida hook generation with JEB ](https://github.com/Hamz-a/jeb2frida) | 137 ⭐ | 124 | | [bpflock - eBPF driven security for locking and auditing Linux machines](https://github.com/linux-lock/bpflock) | 133 ⭐ | 125 | 126 | 127 | ## Algerian Open Source communities 128 | 129 | There are a few associations and students that promote Open Source software and culture. 130 | 131 | As stated in our [communities section](/docs/insights/communities.md), there are some organizations who promote the usage of free and Open Source software, and promote OSS culture and contributions. For example: 132 | 133 | - [Free Software & GNU/Linux Algeria (الجمعية الثقافية العلمية البرمجيات الحرة و غنو/لينكس)](https://www.facebook.com/fsgla): Promotes FOSS and GNU/Linux, this association [invited Richard Stallman back in 2015](https://www.fsf.org/events/rms-20150205-djelfa), and runs some activities to promote FOSS software, like organizing GNU/Linux install parties. 134 | 135 | Some students groups like [Team Open Minds](https://github.com/open-minds/) promotes GNU/Linux and Open Source software, and teaches students how to use Git/GitHub and encourages Open Source culture among them. 136 | 137 | ## Algerian Companies maintaining Open Source projects 138 | 139 | - **[BIGmama](https://big-mama.io/)** (Github: [BIGmama-technology](https://github.com/BIGmama-technology)) 140 | - **[Codiume](https://codiume.com/)** (Github: [codiume](https://github.com/codiume)) 141 | - **[Idurar](https://www.idurarapp.com/)** (Github: [idurar](https://github.com/idurar)) 142 | - **[TransformaTek](https://transformatek.dz/)** (Github: [transformatek](https://github.com/transformatek)) -------------------------------------------------------------------------------- /website/docs/insights/communities.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 15 3 | description: Overview of Algerian tech communities, their growth, and impact on local software engineers. 4 | --- 5 | 6 | # Tech communities 7 | 8 | In the recent years we saw an increase in the number of Algerian Tech communities. While other initiatives became inactive for different reasons. 9 | 10 | We asked our survey participants if they are aware of any communities and the responses were the following: 11 | 12 | ```mermaid 13 | pie showData 14 | "GDG" : 19 15 | "Students clubs" : 8 16 | "MakersLab" : 3 17 | "dzcode.io" : 2 18 | "DZ DÉVELOPPEURS (Facebook group)" : 4 19 | "Other events": 24 20 | ``` 21 | 22 |
23 | 24 | Table representation (See more!) 25 | 26 | | Communities | Count | 27 | | :--------------------------------------------- | :---: | 28 | | Des rencontre Discord entre amis | 1 | 29 | | GDG | 9 | 30 | | Vooxed | 1 | 31 | | Dzair IA | 1 | 32 | | team open minds | 1 | 33 | | DevFest (Google events) | 1 | 34 | | StartHack | 1 | 35 | | Injaz | 1 | 36 | | Google Hackathon | 1 | 37 | | Algerian Tech Makers | 1 | 38 | | لقاءات المحددة من طرف الشركة مع الشركات الاخرى | 1 | 39 | | Algeria Fintech & E-commerce Summit | 1 | 40 | | GDG Ghardaia | 1 | 41 | | membre at ITC club | 1 | 42 | | Google Developer Group | 1 | 43 | | GDG Events | 1 | 44 | | GDG Algiers | 3 | 45 | | MakersLab | 3 | 46 | | dzcode.io | 2 | 47 | | gomycode | 1 | 48 | | Micro club (USTHB) | 1 | 49 | | Itchallenge | 1 | 50 | | Club IT community | 1 | 51 | | School clubs | 1 | 52 | | Alphabit | 1 | 53 | | Ingeniums | 1 | 54 | | GDG SBA | 1 | 55 | | GDSC ESI SBA | 1 | 56 | | Scientific clubs like alphabit club | 1 | 57 | | Digital-Corner | 1 | 58 | | Annaba Tech days | 1 | 59 | | GDG Tizi Ouzou | 1 | 60 | | Mainly facebook groups | 1 | 61 | | DZ DÉVELOPPEURS (Facebook group) | 4 | 62 | | Women Tech makers Algiers | 1 | 63 | | School Of AI Algiers | 1 | 64 | | Hanooty | 1 | 65 | | meet up dev | 1 | 66 | | Zeontech | 1 | 67 | | IT for all | 1 | 68 | | Mozilla Campus Club | 1 | 69 | | Icosium Culture (Kouba) | 1 | 70 | | Micro Club | 1 | 71 |
72 | 73 | ## Communities 74 | 75 | We can categorize the entries to the following categories: 76 | 77 | ### Student clubs 78 | 79 | Student clubs and organizations provide a positive value for students and future IT professionals. They provide a great complement to the formal and classical curriculums and try to loosen the gaps between academia and the different industries. 80 | 81 | Our survey participants mentioned some university clubs such as: 82 | 83 | - [Team Open Minds](https://www.facebook.com/open.minds.oran) 84 | - [Micro Club - USTHB](https://www.facebook.com/Micro.Club.USTHB) 85 | - [Alphabit Club](https://www.facebook.com/profile.php?id=100089682379294) 86 | - [Ingeniums](https://www.facebook.com/ingeniums) 87 | - [ITC Blida](https://www.facebook.com/ITCBlida) 88 | - [GDSC ESI SBA](https://gdsc.community.dev/esi-sba/) 89 | - [School of AI Algiers](https://www.facebook.com/SchoolofAIAlgiers) 90 | - [Women Techmakers Algiers](https://www.facebook.com/WomenTechmakersAlgiers) 91 | - [Mozilla Campus Club - Constantine UV2](https://www.facebook.com/MCCUV2) 92 | 93 | We also know many other (and very active) IT students clubs such as: 94 | 95 | - [Shellmates Club](https://www.facebook.com/shellmates) for students and cybersecurity enthusiasts 96 | - [CSE (ESI)](https://www.facebook.com/club.scientifique.esi/), one of the largest clubs in Algeria 97 | - [ETIC](https://www.facebook.com/ETIC.Club), closing gaps between students and professional world 98 | - [OpenMinds (USTHB)](https://www.facebook.com/openmindsclub) 99 | - [Muhandis](https://www.facebook.com/muhandisclub) 100 | - [Horizon Club (ENSTTIC)](https://www.facebook.com/HorizonClub.page) 101 | - [UDev (USTO)](https://www.facebook.com/UDevCommunity) 102 | - [GDSC Usto-Mb](https://www.facebook.com/GDSCUSTOMB) 103 | 104 | :::tip Find more! 105 | 106 | Find a list by the ministry of Higher education for scientific clubs on 2021-2022 on: [Répertoire des clubs scientifiques de l'année 2021/2022](https://www.mesrs.dz/wp-content/uploads/2022/04/Repertoire-des-clubs-scientifiques-de-lannee-2021-2022.pdf) 107 | ::: 108 | 109 | ### Tech events and hackathons 110 | 111 | Meetups, conferences and hackathons are places where different actors meet and learn. Hackathons are usually organized by students clubs, for example [Hack !T](https://hackit2018.cse.club/) and [StartHack](https://www.facebook.com/StartHackDz) are hackathons organized by students and often hosted in universities (or engineering schools). 112 | 113 | Some hackathons are sponsored by the government through its different ministries and Wilayas, and some hackathons that are organized by the government, such as: [AgriTech](https://agritech.dz/en) by the [ministry of knowledge economy, startups and micro-enterprises](https://www.startup.dz/), funded by the EU and [BMZ](https://www.bmz.de/en), and implemented by [GIZ](https://www.giz.de/en/html/index.html). 114 | 115 | There are also a few national conferences and summits, for example: 116 | 117 | - [Algeria 2.0 ](https://www.facebook.com/Algeria2.0) 118 | - [Annaba Tech](https://www.facebook.com/annabatechcommunity) 119 | - [Algeria FinTech & E-commerce Summit](https://www.facebook.com/algeriafintech) 120 | - [Webexpo ElDjazair](https://webexpo-dz.com/) 121 | - [DIGITECH](https://digitech-expo.com/) 122 | 123 | In addition to the national events, some clubs and organizations host editions of global events and hackathons such as: 124 | 125 | - [Global Game Jam](https://v3.globalgamejam.org/2019/jam-sites/global-game-jam-algeria-2019) 126 | - [SpaceApps Challenge](https://www.spaceappschallenge.org/) 127 | - [GDG DevFest](https://developers.google.com/community/devfest) 128 | 129 | ### Associations and organizations 130 | 131 | - [INJAZ El Djazair](https://www.facebook.com/InjazElDjazair) 132 | - [Algerian Group of Digital Actors (GAAN)](https://www.gaan.dz/) 133 | 134 | - [Free Software & GNU/Linux Algeria (الجمعية الثقافية العلمية البرمجيات الحرة و غنو/لينكس)](https://www.facebook.com/fsgla) 135 | - [CNCF Oran](https://community.cncf.io/oran/) 136 | - [ORIA](https://www.facebook.com/ORIA.ORAN) *(Oran Robotique et IA)* 137 | 138 | - [AWS Users Group Algeria](https://www.meetup.com/aws-algeria/) 139 | - [OWASP Algiers Chapter](https://owasp.org/www-chapter-algiers/) 140 | 141 | At this date (July 2024), we counted 17 active [Google Developer Groups (GDG)](https://gdg.community.dev/) in Algeria: 142 | 143 | - [GDG Oran](https://gdg.community.dev/gdg-oran) 144 | - [GDG Algiers](https://gdg.community.dev/gdg-algiers/) 145 | - [GDG Batna](https://gdg.community.dev/gdg-batna/) 146 | - [GDG Constantine](https://gdg.community.dev/gdg-constantine) 147 | - [GDG El Bayadh](https://gdg.community.dev/gdg-elbayadh/) 148 | - [GDG El Oued](https://gdg.community.dev/gdg-eloued) 149 | - [GDG Ghardaia](https://gdg.community.dev/gdg-ghardaia) 150 | - [GDG Les Rosiers](https://gdg.community.dev/gdg-les-rosiers) 151 | - [GDG M'Sila](https://gdg.community.dev/gdg-msila) 152 | - [GDG Mascara](https://gdg.community.dev/gdg-mascara) 153 | - [GDG Medea](https://gdg.community.dev/gdg-medea) 154 | - [GDG Naama](https://gdg.community.dev/gdg-naama) 155 | - [GDG SBA, Sidi Bel Abbès Province](https://gdg.community.dev/gdg-sba) 156 | - [GDG Setif](https://gdg.community.dev/gdg-setif) 157 | - [GDG Tiaret](https://gdg.community.dev/gdg-tiaret) 158 | - [GDG Tizi Ouzou](https://gdg.community.dev/gdg-tizi-ouzou) 159 | - [GDG Tlemcen](https://gdg.community.dev/gdg-tlemcen) 160 | 161 | 162 | ### Groups and pages on social media 163 | 164 | There are also many online communities on different social media platforms, Discord servers or Slack channels. 165 | 166 | [DZ DÉVELOPPEURS](https://www.facebook.com/groups/328640490565078) for example is one of the largest Algerian developer communities on Facebook with 156k members. There also more generic groups for [Algerian freelancers](https://www.facebook.com/groups/algeriafreelancerscommunity) for example, or more specialized groups like [DevOps Algeria](https://www.facebook.com/groups/186104005354872). 167 | 168 | On Facebook also, we find some pages like [Dia Tech](https://www.facebook.com/diaetech) and [الجماعة - El Djmâa](https://www.facebook.com/eldjmaa) that both talk about various IT and software development topics in plain Algerian dialect. 169 | 170 | On Twitter/X, we have [Algerian Software Community](https://twitter.com/i/communities/1504035529507155971) that organize recorded rooms on weekends where experts discuss various IT-related topics. 171 | 172 | Some communities are exclusively active on LinkedIn such as [CNCF Oran](https://www.linkedin.com/company/cncf-oran-community/). 173 | 174 | ### Initiatives backed by companies 175 | 176 | Some companies like [Sylabs](https://www.facebook.com/SylabsDZ), [Yassir](https://yassir.com/) and [Makers Lab](https://makerslab.dz/) often host and/or sponsor Tech events which gives a big boost to the Algerian tech community. 177 | 178 | As highlighted in [our challenges](/docs/insights/challenges) section, our survey participants pointed that there is an insufficient government support for the Tech industry, this may create a bigger need for different tech communities to find sponsors from the private sector. 179 | 180 | ### Communities built around content creators and experts 181 | 182 | Some Algerians content creators offer a high quality content, often in Algerian dialect (Darija), English, or in Arabic which are the most used to acquire IT skills and to stay up-to-date according to our survey: 183 | 184 | ```mermaid 185 | xychart-beta horizontal 186 | x-axis ["English","French","Arabic","Darija (Algerian dialect)"] 187 | bar [498,179,171,59] 188 | ``` 189 | 190 |
191 |
192 | 193 | Mr [Cherif Bouchlaghem](https://www.youtube.com/@MohamedCherifBOUCHELAGHEMdz23) for example is one of the most knowledgeable engineers, he shares a lot about software design, testing and general coding best practices on his [social media](https://twitter.com/Cherif_b), or on his [Discord server](https://discord.gg/6FqvER4c). 194 | 195 | Channels like [MoubachirSiliconValley](https://www.youtube.com/@MoubachirSiliconValley) by a software and hardware performance engineer working in the Silicon Valley provide a panel for experts from different IT fields, where they are invited to talk about their fields of expertise in Algerian Dialect (Darija), English and in French. 196 | 197 | Some content creators focus on specific niche/stack, for example [Charfaoui Younes](https://twitter.com/CharfaouiYounes)'s content is mostly focused around Kotlin and Android development. Younes' content is mostly in English. 198 | 199 | While other creators like [Houari Zegai](https://twitter.com/HouariZegai) and [Bour Abdelhadi](https://www.facebook.com/mabdelhadib) choose to write in Arabic. 200 | 201 | Content creators like [Karim (@codewkarim)](https://www.instagram.com/codewkarim/) and [Abdelali Zekiri (Softwe3)](https://www.youtube.com/@Zekiri.Abdelali) choose to create content in Algerian dialect. 202 | 203 | We can find many other tech content creators on different social media platforms, such as: 204 | 205 | - [@hakim.bencella](https://www.instagram.com/hakim.bencella/) (JavaScript, web development and AWS) 206 | - [@chouaib.ui](https://www.instagram.com/chouaib.ui/) (UX/UI designer) 207 | - [@BetterCodeDev](https://www.instagram.com/bettercodedev/) (Coding and security best practices) 208 | 209 | ### Other initiatives 210 | 211 | Initiatives like [DzCode I/O](https://www.dzcode.io/) aim to bring the community together around various open source projects. This initiative came after [algeriatech](https://github.com/algeriatech) which was created by Riad Benguella back in 2016. 212 | 213 | Some other initiatives like [Dzair AI](https://www.dzair.ai/) which promotes innovation with AI and data science by educating the the community, and by closing gaps between companies looking for data and machine learning engineers and talents looking for challenges and opportunities. 214 | 215 | There are some Discord servers with different channels, such as: 216 | 217 | - [Cherif Bouchlaghem](https://discord.gg/6FqvER4c) 218 | - [dev dz](https://discord.gg/wazVzPn2C6) 219 | - [UltrasDZCoder Programming](https://discord.gg/m29vTMhx6S) 220 | - [Bug Bounty DZ](https://discord.gg/dF67vmB8) 221 | - [Algeria Tech Hub](https://discord.gg/hufYhQDV) 222 | 223 | There are a few Algerian podcasts focused on software developement, such as [رحلة مبرمج - Developer jounrey](https://www.facebook.com/devjourneypodcast) where [Houari Zegai](https://twitter.com/HouariZegai) and [Charfaoui Younes](https://twitter.com/CharfaouiYounes) (mentioned earlier in content creators section) discuss several technical and non technical topics related to software craftsmanship. 224 | --------------------------------------------------------------------------------