Software Engineering for ML Practitioners
اتعلمت Machine Learning وعملت Projects… إيه الخطوة اللي بعد كده؟
تعلم إزاي تنقل مشروع الـMachine Learning من notebook شغال عندك إلى software project منظم، قابل للاختبار، الصيانة، والتشغيل.
مش هتتعلم أدوات منفصلة وخلاص. هتبدأ من مشروع ML واحد، وتطوره خطوة بخطوة لحد ما تشوف بنفسك الفرق بين ML Project وML Software.
أنشئ حساب مجاني واحصل على أول Module كامل مع الـcode resources.
Why Software Engineering after ML?
الـModel شغال... لكن هل الـProject نفسه جاهز؟
نتيجة كويسة للـModel مش معناها إن المشروع نفسه software تقدر تعتمد عليه.
- هل تقدر ترجع لنسخة قديمة من المشروع لو حاجة اتكسرت؟
- هل حد تاني يقدر يشغل المشروع من غير خطوات يدوية محفوظة عندك؟
- هل dependencies والـconfiguration واضحين؟
- هل عندك tests؟
- هل تقدر تتبع الأخطاء؟
- هل application آخر يقدر يستخدم الـmodel؟
Your notebook trains a model with an F1 of 0.74. Then the questions start:
- “Can you rerun it on February’s data?” — only if you remember which cells to click, in which order.
- “Can it run on my laptop?” — nobody wrote down which package versions you used.
- “Can the booking app ask it about a new flight?” — not unless someone opens the notebook.
The model is fine. The code around it is fragile.
المشكلة هنا مش في الـMachine Learning نفسه. الطبقة الناقصة هي Software Engineering.
Before → After
من ML Project إلى ML Software
Before
flight_delays.ipynb
- [1]data loading
- [2]preprocessing
- [3]training
- [4]evaluation
- manual execution assumptions
- environment assumptions
- fragile workflow
After
- Versioned
- Structured
- Reproducible
- Packaged
- Tested
- Debuggable
- Configurable
- Served through an API
- Ready to ship
وانت اللي بتبني التحول ده خطوة بخطوة، مش بتتفرج على النتيجة النهائية وبس.
مين الكورس ده ليه
Who this is for
الكورس ده ليك لو:
- عارف Python بشكل عملي
- استخدمت NumPy وpandas
- اشتغلت على مشاريع ML
- بتعرف تعمل preprocessing للـdata
- بتعرف تعمل training وevaluation لـmodel
- استخدمت scikit-learn أو أدوات شبهها
- حاسس بفجوة بين «أنا بعرف أدرّب model» و«أنا بعرف أبني software project يعتمد عليه حواليه»
Who this is not for
مش نقطة البداية المناسبة لو:
- بتتعلم Python من الصفر
- لسه ما اتعلمتش أساسيات الـMachine Learning
- ما عملتش أي ML project قبل كده
وكمان الكورس ده مش:
ده أساس الـSoftware Engineering اللي بييجي بعد أساسيات الـML العملية.
11 Modules
الـ 11 Module
-
01Free
Starting Point
Start from a working ML notebook and identify why the project is still fragile.
-
02Full access
Git & GitHub
Make changes versioned, traceable, and recoverable.
-
03Full access
Terminal & Shell
Build a clearer, repeatable command-line workflow.
-
04Full access
Python for Engineers
Move logic out of notebook-only workflows into organized Python code.
-
05Full access
Packaging the Project
Turn the project into an installable, runnable Python package.
-
06Full access
Code Quality
Add tools and rules that improve consistency and maintainability.
-
07Full access
Robustness & Debugging
Handle failures more clearly and use logging/debugging systematically.
-
08Full access
Testing
Add automated tests that protect against regressions.
-
09Full access
HTTP & APIs
Work with APIs, failures, configuration, and secrets.
-
10Full access
Serving the Model
Expose the model through an API rather than leaving it inside a notebook.
-
11Full access
Shipping a Project
Bring the project together with README, pre-commit, and CI.
One evolving project
ده مش مجموعة tutorials منفصلة عن بعض
نفس مشروع الـML بيتطور على طول الكورس. وكل أداة بتظهر لأن المشروع وقتها عنده مشكلة حقيقية محتاجاها.
- Notebook
- Versioned project
- Structured Python code
- Package
- Tested software
- API
- Shippable ML project
Lesson 1.1
flight-delay-predictor/ ├── flight_delays.ipynb ├── assets/ # chart style ├── README.md └── .gitignore
baseline
accuracy: 0.8952 f1: 0.7415
Lesson 11.3
flight-delay-predictor/ ├── src/flight_delays/ # cli, api, train, predict… ├── tests/ # data, features, API, end-to-end ├── scripts/ notebooks/ ├── .github/workflows/ci.yml ├── .pre-commit-config.yaml ├── pyproject.toml uv.lock ├── README.md CONTRIBUTING.md └── …
terminal
$ uv run pytest -q 100 passed $ curl -X POST localhost:8000/predict … {"delay_probability":0.6557510345825236}
What you get
هتحصل على إيه
-
Full Web Reader
كورس مكتوب وتطبيقي داخل Web Reader، ومع كل Lesson الـcode والـresources المرتبطة بالمرحلة دي من المشروع.
-
Installable App Experience
تقدر تثبّت الـReader على موبايلك وتستخدمه زي app.
-
Lesson Code Resources
الـcode الخاص بكل lesson: التغييرات، الملفات، والـartifacts اللي هتحتاجها.
-
Dedicated Discord Community
Server خاص بالكورس ده: support، أسئلة الـlearners، resources، announcements.
Free Module 1
جرّب التجربة كاملة قبل ما تقرر
Module 1 متاح كامل ومجانًا بعد ما تعمل حساب:
- Module 1 كامل
- تجربة الـWeb Reader الحقيقية
- الـcode والـresources بتاعة Module 1
- التنقل العادي في الكورس
Modules 2–11 ظاهرة قدامك، بس مقفولة.
ابدأ Module 1 مجانًالا تحتاج للدفع علشان تبدأ.
Instructor
مين وراء Software Engineering for ML Practitioners؟
FAQ
أسئلة شائعة
هل لازم أكون عارف Git قبل ما أبدأ؟
لأ. Git وGitHub جزء من رحلة الكورس نفسها.
هل لازم أكون Software Engineer؟
لأ. الكورس معمول مخصوص للناس اللي عندها أساس عملي في الـML، وعندها فجوة في الـSoftware Engineering.
هل المحتوى بالعربي؟
المحتوى المكتوب الأساسي والـcode بالإنجليزي. الشرح المساعد، زي الصفحة دي، ممكن يكون بالعربي.
المحتوى شكله إيه؟ هل ده Video Course؟
ده كورس مكتوب (Text-based Course)، مش Video Course.
المحتوى الأساسي موجود داخل Web Reader، ومع كل Lesson هتلاقي الـcode والـresources الخاصة بالمرحلة دي من المشروع.
الفكرة إنك تقرأ وتطبّق على نفس مشروع الـML خطوة بخطوة.
هل ده كورس MLOps؟
لأ. ده الـSoftware Engineering layer اللي بييجي بعد أساسيات الـML العملية، وقبل الـMLOps الأعمق وتحته.
هل Module 1 فعلًا مجاني؟
أيوه. Module 1 كامل متاح مجانًا، مش Preview صغير.
أنشئ حساب، فعّل الـemail، وهتحصل على Module 1 كامل مع الـcode/resources الخاصة به.
مش محتاج تدفع علشان تبدأ.