تخطَّ إلى المحتوى
Barmaj

التجربة الهندسية

أسبوع جوه برمج شكله إيه فعلًا — الاجتماعات، الشغل، والحاجات اللي محدش بيقولهالك قبل أول شغلانة.

أسبوع جوه برمج شكله إيه فعلًا — الاجتماعات، الشغل، والحاجات اللي محدش بيقولهالك قبل أول شغلانة.

التجربة الهندسية

دورة واحدة، بتتعمل صح، وبتتكرر

ده مش منهج دراسي. دي الدورة اللي أي فريق محترف بيشتغل بيها كل sprint، وإنت بتشتغل جواها.

  1. Backlog

    شغل حقيقي مكتوب كـ tickets — أخطاء، مميزات، ديون تقنية.

  2. Refinement

    تقراه، تسأل فيه، وتكتشف اللي الـ ticket مقالوش.

  3. Planning poker

    كل واحد يقدّر لوحده. محدش يشوف رقم حد قبل الكشف.

  4. Sprint

    نطاق متفق عليه، ليه بداية ونهاية.

  5. التنفيذ

    branch على fork بتاعك في كود مش إنت اللي كتبته.

  6. Pull request

    موصوف كويس بحيث المراجع يبدأ فورًا.

  7. Code review

    مهندس كبير بيرد خلال يوم عمل واحد.

  8. Merge

    بيتدمج لما يبقى صح، مش لما إنت تخلص.

  9. الملاحظات

    إيه اللي عملته صح، إيه اللي يتغير، وليه.

  10. دليل المهارة

    سجل منسوب لصاحبه، مربوط بالشغل اللي بيثبته.

وبعدين تبدأ من أول وجديد، بـ ticket أصعب.

مش مشاريع دروس

الشغل اللي محدش إداهولك قبل كده

مفيش فولدرات فاضية. مفيش مواصفات كاملة. مفيش مشاريع موجودة عشان تتعمل وخلاص.

Bug

خطأ في الـ production

بلّغ عنه مستخدم، بتعيد إنتاجه من وصف غامض، وتصلحه من غير ما تكسر تلات حاجات تانية.

Refactor

إعادة هيكلة كود قديم

كود شغال ومحدش عايز يقرب منه. غيّره من غير ما تغير سلوكه.

Feature

طلب ميزة جديدة

مكتوب من حد مش مهندس، وناقص التلات تفاصيل اللي فارقة.

Performance

مشكلة أداء

حاجة بقت بطيئة. قِس الأول قبل ما تحسّن، وأثبت إنها بقت أسرع.

Testing

دين اختبارات

موديول من غير tests وتاريخه مليان أخطاء متكررة. قرر إيه اللي يستاهل تغطية.

Architecture

قرار معماري

اختيارين الاتنين منطقيين. اختار واحد، اكتب ليه، ودافع عنه في المراجعة.

Incident

محاكاة عطل

في حاجة واقعة دلوقتي. شخّص تحت ضغط الوقت، واتواصل وإنت بتشخّص.

Debt

دين تقني

اختصار عمله حد قبلك، والنقاش هل دلوقتي وقت سداده ولا لأ.

Review

مراجعة شغل غيرك

تقرا كود مش إنت اللي كتبته وتلاقي الكلام المفيد اللي تقوله عليه.

#128 · feature/retry-timeoutإضافة retry لعميل المدفوعات
مثال توضيحي لأسلوب المراجعة
  • مانع

    إيه اللي بيحصل لو المزود عمل timeout هنا؟ دلوقتي المستدعي بياخد promise ناجح من غير بيانات، وده مش مختلف عن نتيجة فاضية.

  • اقتراح

    منطق الـ retry والتحليل بيعملوا وظيفتين في function واحدة. لو فصلتهم هتقدر تختبر الـ retry من غير fixture.

  • ملاحظة صغيرة

    التسمية — `data2` مش هتفكرك بحاجة بعد ست شهور.

أول رد خلال يوم عمل واحد. وكل تعليق بيوضح لو كان مانع للدمج.

الإرشاد و الـ Code Review

اهتمام مهندس كبير بشغلك إنت

ده الجزء اللي مش هتاخده من درس ولا كورس ولا مساعد ذكاء اصطناعي بيوافقك على كل حاجة. حد خبرته أكبر بيقرا اللي كتبته ويقولك رأيه فيه.

Code review
سطر بسطر، على كل pull request، ومعاها السبب.
ملاحظات معمارية
هل تصميمك متوافق مع النظام ولا بيصارعه.
ملاحظات هندسية
إنت بتشتغل إزاي، مش بس إنتجت إيه.
توجيه في القرارات
المهندس الخبير بيختار إزاي بين حلين الاتنين منطقيين.

إنت مش محتاج درس تاني.
إنت محتاج خبرة.

الطلبات بيقراها إنسان، والأماكن محدودة بعدد الـ pull requests اللي نقدر نراجعها صح كل أسبوع.

قدّم على برمج
التجربة الهندسية · Barmaj