لنأخذ مشروع الثقافة كمثال. مشروع الثقافة هو مثال نموذجي ومرجع للمواقع الأخرى. عملنا على جوانب تقنية مختلفة، بما في ذلك :
- استخدام واجهات برمجة التطبيقات الخارجية: استخدمنا واجهات برمجة التطبيقات (واجهة تسمح لتطبيقات برمجية مختلفة بالتواصل وتبادل البيانات مع بعضها البعض) لربط الموقع بالخدمات الخارجية. وقد مكننا ذلك من تعزيز الموقع بوظائف جديدة.
- اقتراح واجهة برمجة تطبيقات: قمنا بتطوير وتقديم واجهة برمجة تطبيقات لتمكين الأنظمة الأخرى من التفاعل مع تطبيقنا.
- إعداد اتصال SSO: قمنا بتنفيذ حل الدخول الموحد (يسمح للمستخدم بتسجيل الدخول مرة واحدة للوصول إلى عدة تطبيقات دون الحاجة إلى تسجيل الدخول مرة أخرى) لتبسيط مصادقة المستخدم عبر الخدمات المختلفة.
- استخدام وظائف المكتب الخلفي في المكتب الأمامي: استخدمنا أدوات المكتب الخلفي لإنشاء قسم احترافي يمكن الوصول إليه من الجزء المرئي من الموقع (المكتب الأمامي). هذا جعل الواجهة أسهل في الاستخدام.
كان هذا المشروع جهدًا جماعيًا حقيقيًا، مع تنظيم صارم. لقد طبقنا مبادئ Scrum (تقريبًا) بحذافيرها (وهي قواعد تساعد الفرق على العمل بمرونة وتعاون لتسليم المشاريع على مراحل صغيرة). وقد مكننا ذلك من تنظيم عملنا بشكل جيد والوفاء بالمواعيد النهائية.
"لماذا أعتبر هذا المشروع ناجحًا؟ لأننا لم نحقق الأهداف التقنية والوظيفية فحسب، بل قمنا أيضاً بتحسين عملية التطوير لدينا."
لقد سهّل تطبيق المنهجيات الرشيقة، ولا سيما منهجية Scrum، التنسيق بين أعضاء الفريق وضمن تسليم وظائف عالية الجودة في الوقت المحدد. توضح هذه المشاريع قدرتنا على إدارة المهام المعقدة والعمل بشكل تعاوني لتقديم حلول فعالة ومبتكرة.
ينتابني الفضول لمعرفة كيف تضمنون أن الكود الذي تكتبونه لا يظل فعالاً فحسب، بل وقابلاً للصيانة على المدى الطويل. هل يمكنك أن تشرح لي كيف تضمن معايير الترميز العالية والأداء الأمثل لتطبيقات PHP التي تقوم بتطويرها؟ ما هي الأدوات أو الممارسات التي تستخدمونها لتحقيق هذه الأهداف؟
نحن نعمل بشكل أساسي مع PHP، باستخدام Ibexa كمنصة للتجربة الرقمية (DXP) و Symfony كإطار عمل لنا. يوفر Symfony (إطار عمل PHP الأكثر استخدامًا في فرنسا) بنية قوية وتوصيات بأفضل الممارسات التي نتبعها بدقة. وبالمثل، يقدم Ibexa معايير الجودة التي ندمجها بشكل منهجي في تطوراتنا.
ولضمان جودة التعليمات البرمجية، وضعنا عدداً من الممارسات:
- استخدام معايير Symfony و Ibexa: نتبع التوصيات وأفضل الممارسات التي تقترحها Symfony و Ibexa، مما يساعدنا في الحفاظ على كود نظيف وعالي الأداء وآمن.
- مراجعة الكود: يمر كل تعديل في الكود من خلال طلب دمج (MR) على فروع مختلفة. تسمح هذه المرحلة للعديد من المتعاونين بمراجعة الكود البرمجي، مما يساعد على تحديد الأخطاء المحتملة وتصحيحها ومشاركة المعرفة داخل الفريق.
- اختبار الوحدة والتكامل: نكتب اختبارات الوحدة للتحقق من أن كل مكون يعمل بشكل صحيح. بالإضافة إلى ذلك، نجري اختبارات التكامل لضمان تفاعل الوحدات المختلفة بشكل صحيح. وهذا يساعد على اكتشاف الأخطاء ومنعها قبل دمج التعليمات البرمجية في الفرع الرئيسي.
- أتمتة الاختبار: نستخدم أدوات التكامل المستمر (CI) لأتمتة الاختبار. في كل مرة يتم فيها تعديل الكود البرمجي، يتم تنفيذ مجموعة اختبارات تلقائيًا للتأكد من أن التعديلات الجديدة لا تُدخل أخطاءً.
- مراقبة الأداء: نراقب بانتظام أداء تطبيقاتنا في الإنتاج ونجري التحسينات عند الضرورة. تساعدنا أدوات المراقبة والتنميط على تحديد الاختناقات وتحسين كفاءة تطبيقاتنا.
"من خلال اعتماد هذه الممارسات، نضمن الحفاظ على معايير الترميز العالية وتقديم تطبيقات عالية الأداء وموثوقة."
والآن بعد أن أرسيتَ هذه الممارسات الفضلى بنجاح، أتساءل كيف ترى دورك كمطوّر رئيسي في PHP يتطور خلال السنوات القليلة القادمة. هل لديك أي أهداف محددة من حيث المسؤوليات أو الخبرات التي ترغب في تحقيقها؟
على المدى المتوسط، هدفي هو الاستفادة من خبرتي كمطوّر رئيسي في PHP لأصبح مهندساً تقنياً. أهدف إلى توسيع نطاق مسؤولياتي لتتجاوز الإدارة اليومية للمشاريع والفريق، مع التركيز أكثر على تصميم وتنفيذ الحلول التقنية المتقدمة.
أطمح إلى أن أؤدي دوراً رئيسياً في تحديد البنى البرمجية القوية والقابلة للتطوير. كيف يمكنني القيام بذلك؟ من خلال مواءمة خياراتنا التقنية بشكل وثيق مع الأهداف الاستراتيجية للشركة.
وهذا يشمل المشاركة بشكل كبير في البحث عن التقنيات الجديدة واعتمادها، بالإضافة إلى الإشراف على البنية الشاملة للمشاريع.
أمين، مطور رئيسي لبرنامج PHP في وكالة إنفوركا الرقمية
"على المدى الطويل، أنا متحمس لزيادة مهاراتي ونفوذي كمهندس تقني وهذا سيمكنني من تقديم مساهمة كبيرة في الابتكار والنمو التكنولوجي لمؤسستنا."
باختصار، أنا مصمم على التطور في هذا الدور حتى أتمكن من استخدام خبرتي التقنية وقيادتي لدعم النجاح المستدام لأعمالنا.
كيف تدعم شركة إنفوركا طموحاتك وترافقك في تطورك؟ كيف تمكنك الشركة من التقدم في مهامك اليومية؟
توفر الشركة بيئة عمل محفزة وموارد تكنولوجية متقدمة.
وعلى أساس يومي، أستفيد من الدعم الفني القوي الذي يمكّنني من حل التحديات التي تواجهني في مشاريعي بفعالية. وعلاوةً على ذلك، تستثمر الشركة في التدريب المستمر، مما يمكِّنني من تحديث مهاراتي والتكيف مع التغيرات التي تطرأ على القطاع.
وأخيراً، تعزز ثقافة الشركة القائمة على التعاون والابتكار روح الفريق الديناميكية، والتي أعتقد أنها ضرورية إذا أردنا تحقيق أهدافنا معاً.
مقابلة أجرتها أليزيه، مديرة التطوير الرقمي والفعاليات في إنفوركا، مع أمين، المطور الرئيسي لبرنامج PHP في وكالة إنفوركا الرقمية.