From mentors who do this for a living

Software Development tips from mentors

Short, practical advice from the mentors on this platform, with the resources behind it. Vote up what helped you and follow the mentors you learn from.

Tips
24
Mentors sharing
6
Helpful votes
115
  1. Amera Amr Mentor Senior backend developer @Innovitics inc · · edited

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

    عشان تعمل لنفسك بصمة وتثبت وجودك:

    1. قاعدة الـ 30 دقيقة والبحث الذاتي: قبل ما تروح تسأل السينيور أو التيم ليد، اقرأ الكود، راجع الـ Docs، وشوف الـ Git history والـ PRs القديمة للفيشر دي اسال ال ai لو موصلتش لحاجه ومفهمتش وقتها تقدر تسأل بعد ما تكون حاولت بنفسك، سؤالك بيكون: "أنا حاولت أحل الموضوع بالطريقة الفلانية بس وقفت في النقطة دي، إيه رأيك؟" مش "هو ده بيتعمل إزاي؟".

    2. افهم الـ "ليه" مش بس الـ "إزاي": التاسك اللي في إيدك مش مجرد كود بتكتبه، هي جزء من بيزنس كامل. افهم التغيير ده بيخدم مين، وإيه الـ Impact بتاعه على السيستم وباقي التيم.

    3. سيب المكان أحسن من ما دخلته: لقيت جزئية في الكود مبهمة؟ شفت توثيق (Docs) قديم ومحتاج تحديث؟ حليت مشكلة غريبة وطلعت بحل ليها؟ اكتبه وشاركه مع التيم. التوثيق هو أسهل وأسرع طريقة تثبت بيها إنك شغال بعقلية الـ Ownership وبتخدم التيم كله مش بس نفسك.

    الأثر مش بيتعمل بالصوت العالي ولا بعدد الساعات، بيتعمل بأن الناس ترتاح وتثق إن التاسك لما بتدخل تحت إيدك هتطلع مدروسة ومفهومة.
    عشان كده عملت سيشن ازاي تبقي من مجرد شخص بيخلص التاسكات لي software engineer

    Helpful · 1 1 comment Open tip
  2. Ahmed M. Zanaty Mentor Senior Software Engineer · Freelance ·

    دخل معايا مهندس برمجة و hardware ..
    عامل قناة يوتيوب بيشرح فيها حاجات في مجال الـ hardware ..

    الطلاب عايزين يجربوا وراه طبعا .. فعايزين يشتروا الادوات ومش عارفين يشتروها منين ..

    فهو قرر يعمل موقع ليهم يبيع فيه الادوات دي .. بس مش عايز يصعب الموضوع ويعمل database و backend و server apps وكلام من دا .. هو عايز حاجه functional ..

    • روحنا جبنا صورة UI عجبته لمتجر من pinterest ..
    • وفتحنا claude code على الجهاز .. وكتبنا ليه prompt منظم ومرتب .. انه يبني الموقع بنظام معين فرونت بس ..
    • وخلينا الداتا تكون ملف مستقل علشان يقدر يعدل عليه بسهولة في اي وقت ..
    • وخلينا الناس تضيف منتجات للـ cart بسهولة وتتحفظ ف الـ local storage عندهم ..
    • ووقت الـ checkout عملنا button بيفتح whatsapp link في message منظمه بالـ order .. العميل يبعتها علطول ..
    • ورفعنا الكلام الجميل دا على github ..
    • وعملنا ليه deploy على vercel ..

    اهو http://ghannam-pearl.vercel.app

    علمته ازاي يعمل حاجه functional تؤدي المهمة اللي هو عايزها في 10 دقايق ..

    وقالي بكل وضوح .. لو لقيت بيجيلي منه orders كويسه وبدأ يكسب .. وقتها هبدأ احوله لـ product حقيقي بالـ backend والـ database بتاعته ..

    مش لازم يبدأ بحاجه سوبر واو .. هو مستعجل .. ومش معاه ميزانية .. وعايز يشوف الموضوع هيجيب همه ولا لا الأول .. فكان دا الحل اللي وصلنا ليه معاه ..

    ايه رأيك .. تتفق مع الـ approuch دا ولا لا ؟

    Helpful · 3 2 comments Open tip
  3. Amera Amr Mentor Senior backend developer @Innovitics inc ·

    لغة البرمجة مجرد أداة… مش هي اللي بتحدد قيمتك كـ Developer.

    في أي لحظة ممكن الـ Tech Stack واللغة اللي بتشتغل بيها يتغيروا في الشركة، ووقتها السؤال الحقيقي مش: «أنا بعرف PHP، Python أو Java؟»

    السؤال هو: «أنا بفهم Software Engineering بجد؟»

    الـ Syntax بيختلف من لغة للتانية وممكن تتعلمه في أيام، لكن الأهم إنك تفهم:

    • السيستم شغال إزاي من جوه (Performance, Scalability, Memory)

    • إزاي تكتب Clean Code وتصمم حلول هندسية صح

    • ليه بتختار حل معين وإمتى، مش مجرد إنك تخلّص التاسك

    اللغات بتتغير وتتطور كل يوم… لكن الأساس القوي هو اللي بيخليك تتكيف وتشتغل بأي لغة وفي أي مكان.
    "لو اتحطيت بكرة في موقف واضطريت تغير لغة البرمجه او الفريم ورك في شغلك … شايف إيه أول تحدي هيقابلك؟ "

    Helpful · 11 6 comments Open tip
  4. Mahmoud Adel Mentor Software Tech-Lead @Foodics · · edited

    هشاركك سر من اسرار الـ Ai لو بتتعامل مع اي Model فـ في Skills مخفيه للمذاكرة والكودينج والـ Engineering

    لو جيت تتعامل مع اي مودل من الـ Ai وكتبتله الـ Prompt ده مع الكود بتاعك

    [Your Code Here]
    --- Generate skills
    (ON) ENABLE
    /study-mode /review-mode /SDLC-ANALYSIS /CLEAN-CODE /CLEAN-ARCHITECT /BOUNDED-CONTEXT
    

    هيقولك انه مش لاقي المهارات دي بس هيعملها Generate وهيبدا انه يعملك تحليل للكود ويفهم الـ SDLC ويربط الكونتيكست كويس جداً بباقي المشروع لو فاتحه علي claude code مثلاً

    وبعد كده هيبدأ انه يفهمك ويشرحلك كل جزء بالمبادئ والـ concepts & principles الـ محتاج تفهمها وتعرفها

    وكمان هيبدأ يشرحلك كـ system design والـ المفروض يتعمل والـ ميتعملش

    خد بالك ان ده ينفع مع الـ Code مش الـ SQL Queries خالص

    لو عندك سُر او حركة او Trick ممكن تشاركها معانا اكتبها تحت في الـ Dicussion

    Helpful · 7 1 comment Open tip
  5. Amera Amr Mentor Senior backend developer @Innovitics inc · · edited

    الـ AI مش جاي ياخد مكانك، بس المبرمج اللي بيعرف يستخدمه صح هياخد مكانك.

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

    عشان تستغل الـ AI لصالحك وتكبر كمهندس:

    1. خليه يشرحلك مش يكتبلك: لو كونسيبت زي OOP أو العلاقات في الداتابيز مش مفهوم، اطلب منه يشرحهولك بتشبيه بسيط من الحياة.
    2. افهم الـ Error قبل الحل: لما يظهر خطأ أحمر في شاشتك، اسأله: "ليه ده حصل؟"، عشان تتعلم تقرأ الـ Logs بنفسك.
    3. اطلب مراجعة الكود (Code Review): اكتب الكود بإيدك أولاً وجرب ال prompt دي :
      "إزاي أحسن كتابة الكود ده ليكون Clean Code أكتر؟".
      "How can I refactor this code to make it cleaner?"
      خلّي الـ AI هو المساعد والـ Co-pilot، وأنت في الاخر صاحب القرار.
    Helpful · 8 14 comments Open tip
  6. Mahmoud Adel Mentor Software Tech-Lead @Foodics ·

    كان معايا جلسة إستشارة من دقائق معدودة لـ شخص رائع اشتغل في مجال الـ Software لمدة طويلة جداً ولكن كلها في Software Houses ومشاريع فريلانس .

    والمشكلة هنا ان مشاريع الفريلانس والـ Software House نادراً ما بيتم حسابها كـ خبرة عند الشركات الـ كبيرة او الـ مُحترمة

    الشركات نوعين

    1- الـ بتعتمد علي برودكت او المُنتج زي طلبات و فودكس و Koinz وشركات تانيه كتير ودي بتكون افضل وبتميل للـ Engineering اكتر

    2- السوفتوير هاوس ودول مبيفرقش معاهم الا الـ Scalability والـ Capacity وكمية المشاريع الـ بتطلع علشان يوفوا عدد العملاء الكبير ومبيهتموش بالـ Engineering بشكل صريح

    3- فريلانس او العمل الحُر وده بيعتمد علي عميل الـ قدامك والبيئة الـ بيوفرهالك للشغل واغلبها مفيش Hierarchy واضحه او حد بيشرف عليك بشكل مُباشر فـ تعرف مشاكلك فين

    وهنا انت المطلوب منك تملئ الفراغ - Gap بين معرفتك بالتكنلوجي الـ بتخليك تعمل اي مشروع

    وبين احتياجك للمبادئ والمفاهيم الهندسية الـ المفروض تأهلك لسوق العمل في شركات الـ Product Base


    بدأنا البلان بتاعتنا ازاي ؟ :-

    الاول محتاجين نحدد نقاط الضعف والـ محتاجينها كويس

    1. بدأنا ندرس الـ HLD , LLD وناخد تاسك علي كل واحده فيهم
      1. بداية من الـ Api Versioning والـ Component Coupling / Uncoupling وغيرها
      2. والـ Request Flow والـ Software Quality
    2. ولإنه عارف Database كويس بس مش مُتعمق في الـ Indexing والـ Lock والـ Optimization Queries
      1. خدنا الـ Relational DB SQL بشكل مُتعمق
      2. وهنعدي علي Non Relational مرور الكرام لإننا مش هنحتاجها للهدف بتاعه
    3. وقررنا اننا نفهم الـ Agile ( Scrum ) لإنه علشان يشتغل في شركة
      1. محتاج يعرف كويس الـ Story Points بتتحط ازاي
      2. ومحتاج يتأكد انه فاهم الـ Scrum Manifesto
    Helpful · 2 Comment Open tip