المقالات

مقالاتي

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

14المقالات

حين تدفع اقل مما يستحق يعمل أقل مما تتوقع

عندما تبدأ مفاوضات الراتب من الزاوية الخاطئة في كثير من المقابلات الوظيفية يبدأ التفاوض من زاوية واحدة فقط: كم يمكن أن نقلل من راتب هذا الشخص؟ قد…

اقرأ المزيد

إذا كنت “Coder وبس”… فأنت بخطر حقيقي

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

اقرأ المزيد

SOLID – مبدأ استبدال liskov

نكمل مبادئ SOLID واليوم مع المبدأ الثالث: Liskov Substitution Principle – LSP الفكرة بسيطة جداً: أي كلاس يرث من كلاس آخر، لازم نقدر نستخدمه مكانه…

اقرأ المزيد

SOLID-مبدأ Open / Closed

مو كل كود شغال يعني كود صحيح. في فرق كبير بين نظام بيشتغل اليوم ونظام بيقدر يعيش سنين بدون ما يتحول لعبء. أغلب المشاكل ما بتطلع أول يوم، بتطلع لما…

اقرأ المزيد

SOLID- مبدأ المسؤولية الواحدة

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

اقرأ المزيد

Spaghetti Code: عندما يتحول الكود إلى طبق معكرونة

عندما يتحول الكود إلى طبق سباغيتي... هناك أكواد تتداخل لدرجة تجعل تتبّعها مهمة صعبة. تمامًا كما تتشابك المعكرونة Spaghetti في الطبق، كل تعديل صغير…

اقرأ المزيد

نسختك القديمة vs نسختك الجديدة

لا تقارن نفسك بغيرك… قارنها بنسختك السابقة. بالعالم التقني خصوصاً، سهل كتير تشوف ناس سابقينك بخطوات. بتقول لحالك: "ليش هو قدر وأنا لا؟" بس الحقيقة:…

اقرأ المزيد

البرمجة ليست مجرد أكواد… إنها تحليل، منطق، وصبر

(البرمجة = تحليل + منطق + صبر) كتير ناس بتفكر إنو البرمجة بس أكواد… بس الحقيقة؟ الكود هو آخر خطوة بعد رحلة فيها تفكير وتحليل وتجربة. ▪︎ التحليل: قبل…

اقرأ المزيد

كيف تتحول مراجعة الكود إلى درس يعلّم الفريق كله

حين تتحول مراجعة الكود إلى درس لا يُنسى في عالم البرمجة، بحب حوّل مراجعة الكود لدرس يفيد الكل. لما براجع كود لحدا من الفريق، ما بكتفي بتصليح الغلط.…

اقرأ المزيد

قابلية التوسع تبدأ من التفكير… قبل السيرفر والكود

الـ Scalability تبدأ من التفكير… لا من الكود! الكثير يظن أن قابلية التوسع (Scalability) تعني فقط بنية تحتية قوية، سيرفرات سحابية، أو كود عالي الأداء.…

اقرأ المزيد

اسم واضح للكود = صفحات أقل من التعليقات

التسمية الجيدة اختصار لصفحات من التعليقات كم مرة فتحت كود ووجدت أسماء مثل: let x; function doStuff() {} وبقيت تحاول فهم ما الذي يفعله هذا الكود حقًا؟…

اقرأ المزيد

commit الواضحة = مشاريع أكثر سلاسة

يوم اكتشفت سحر الـ Commit الواضح كانت بداية تجربتي مع البرمجة مليئة بالحماس، لكنها لم تخلُ من العثرات. في أحد المشاريع الأولى التي عملت عليها، كنت…

اقرأ المزيد

إذا كنت بحاجة إلى شرح مطول، فإن الكود الخاص بك يحتاج إلى إصلاح.

إذا احتجت إلى شرحٍ طويلٍ للكود، فالمشكلة ليست في القارئ… بل في الكود نفسه. الكود الجيد لا يحتاج محاميًا ليدافع عنه، ولا روايةً لتوضيحه. الكود النظيف…

اقرأ المزيد

لا تبدأ الكود قبل ان ترسم الفكرة

قاعدة ذهبية: لا تبدأ بكتابة الكود قبل أن ترسم الفكرة. كثير من المبرمجين يندفعون إلى الكود فور أن تطرأ الفكرة أو يتسلّمون مهمة من مديرهم، بدافع الحماس…

اقرأ المزيد