Post by Asmaa Ibrahim
Back-end Developer at Awammer ElShabaka for Information Technology
مساء الخير♥️… في الفترة الأخيرة بقيت أشوف ناس كتير مقتنعة إن البرمجة خلاص بقت مجرد Prompt كويس. تكتب شوية Instructions لـ ChatGPT أو Claude أو Gemini، يطلعلك Dashboard شيك أو Website شكله احترافي… فتبدأ تحس إنك كده بقيت Software Engineer. والحقيقة إن أدوات الـ AI فعلًا قوية جدًا، وقدرت تختصر وقت ومجهود ضخم في كتابة الكود وبناء الـ Prototypes. لكن فيه فرق كبير جدًا بين إنك تعمل Demo شكله حلو، وبين إنك تبني Product حقيقي الناس والشركات تعتمد عليه. لأن اللي المستخدم بيشوفه على الشاشة غالبًا هو أقل جزء في المنظومة كلها. الناس بتشوف: Buttons Charts Cards Animations لكن هندسة البرمجيات الحقيقية بتبدأ تحت السطح. لو بتبني Dashboard محترمة، فالموضوع مش مجرد Graphs وخلاص. أنت محتاج تفهم: * Data Modeling * Database Design * ETL Pipelines * Data Quality * Business Logic لأن السؤال مش إن البيانات ظهرت على الشاشة. السؤال: هل البيانات دي صحيحة أصلًا؟ هل الأرقام موثوقة؟ هل فيه Validation؟ هل تقدر تتبع أي خطأ لو الأرقام طلعت غلط؟ ولو بتبني SaaS Product، فالموضوع أكبر بكتير من Frontend شكله حلو. أنت محتاج تفهم: * Software Architecture * APIs * Authentication & Authorization * Testing * Security * CI/CD * Monitoring * Logging أي كود ممكن يشتغل مع أول 10 Users. لكن التحدي الحقيقي بيبدأ لما المنتج يكبر. هل الـ Database متصممة صح؟ هل الـ Queries سريعة؟ هل فيه Caching؟ هل النظام مستحمل الضغط؟ هل فيه خطة لو السيرفر وقع؟ هل تقدر ترجع البيانات بدون خسائر؟ ولو العميل طلب تعديل بعد 6 شهور… هل الـ Architecture تسمح بالتطوير بسهولة؟ ولا أي تعديل صغير هيكسر أجزاء تانية؟ وده الفرق الحقيقي بين مشروع هاوي ومنتج احترافي. حتى الحاجات اللي تبدو بسيطة، زي نظام Orders أو Payments، وراها تفاصيل هندسية ضخمة. ماذا لو عميلين طلبوا آخر قطعة في نفس اللحظة؟ ماذا لو الـ Payment اتخصمت مرتين؟ ماذا لو العملية وقفت في نص التنفيذ؟ دي مش مشاكل UI. دي مشاكل Engineering. ونفس الكلام في الـ Security. الموضوع مش مجرد Login Page شكلها حلو. أنت محتاج تفكر في: * SQL Injection * XSS * Rate Limiting * Encryption * Access Control * Secrets Management لأن ثغرة واحدة ممكن تضيع شغل سنين. ولو المنتج نجح فعلًا وبدأ يكبر… هتحتاج تفكر في: * Scalability * Queues * Distributed Systems * Observability * Performance Monitoring هل تقدر تكتشف المشكلة قبل ما العميل يشتكي؟ هل تقدر تتبع أي Request جوه السيستم؟ هل تقدر تعرف الـ Bottleneck فين؟ وده السبب إن الشركات بتدفع فلوسها للحاجات اللي المستخدم أصلًا مش بيشوفها. الـ Reliability. الـ Scalability. الـ Security. الـ Maintainability. وده كله لا يقلل أبدًا من قيمة الـ AI. بالعكس، الـ AI من أقوى الأدوات اللي ظهرت في المجال. لكن الأداة عمرها ما كانت بديل للفهم. الـ AI يقدر يساعدك تكتب Code أسرع. لكن مش هو اللي هيحدد Architecture المنتج. ومش هو اللي هيتحمل مسؤولية قرار هندسي غلط. ومش هو اللي هيمنع المشاكل قبل ما تحصل. عشان كده… إنك تطلع Dashboard شكله حلو باستخدام AI دي حاجة ممتازة فعلًا. لكن متقنعش نفسك إن الرحلة خلصت هنا. لأن أي حد يقدر يعمل واجهة شكلها مقنع. لكن قليل جدًا اللي يقدر يبني Software يعيش، يكبر، ويستحمل العالم الحقيقي👌