28" data-scroll-anchor="true" data-tu
="assistant">
نحن نبحث عن مهندس برمجيات مساعد ماهر لبناء تطبيقات ويب عالية الأداء وقابلة للتوسع. ستعمل على مجموعة تقنية حديثة، لتجسير الفجوة بين منطق الخلفية (Backend)، تجربة المستخدم في الواجهة الأمامية (Frontend)، والبنية التحتية.
هذا الدور عملي بشكل مباشر، حيث لن تقوم فقط بكتابة الكود، بل ستساهم أيضًا في تصميم بنية النظام التي تشمل قوائم الرسائل، استراتيجيات التخزين المؤقت، وخطوط تكامل وتوزيع البرامج (CI/CD).
ستقوم أيضًا بتصميم، تطوير، وصيانة تطبيقات ويب قابلة للتوسع عبر كامل مجموعة التقنيات. سيكون مهندس البرمجيات المساعد مسؤولًا عن بناء خدمات الخلفية، تطوير واجهات المستخدم الأمامية، وضمان إدارة قواعد البيانات بكفاءة لدعم متطلبات الأعمال.
المسؤوليات والمهام الرئيسية
-
تطوير الخلفية (Backend): تصميم وتنفيذ واجهات برمجة التطبيقات RESTful والخدمات المصغرة (Microservices). ضمان الأداء العالي واستجابة الطلبات من الواجهة الأمامية.
-
تطوير الواجهة الأمامية (Frontend): بناء مكونات قابلة لإعادة الاستخدام وواجهات مستخدم تفاعلية. تحويل تصميمات UI/UX إلى كود عالي الجودة.
-
إدارة قواعد البيانات: تصميم مخططات قواعد البيانات، كتابة استعلامات SQL محسّنة، وإدارة تكامل البيانات باستخدام أدوات ORM.
-
الصيانة وضمان الجودة: المشاركة في مراجعات الكود، كتابة اختبارات وحدات (Unit Tests)، وتصحيح مشاكل الإنتاج لضمان استقرار التطبيق.
-
التطوير الشامل (Full Stack): بناء خدمات مصغرة RESTful باستخدام Java Spring Boot وواجهات تفاعلية باستخدام React.js.
-
تحسين الأداء: تنفيذ حلول التخزين المؤقت (مثل Redis) لتحسين أداء التطبيق وتقليل الحمل على قاعدة البيانات.
-
المعالجة غير المتزامنة (Asynchronous Processing): تصميم وصيانة بنية معتمدة على الرسائل باستخدام RabbitMQ لضمان التواصل الموثوق بين الخدمات.
-
إدارة قواعد البيانات: الحفاظ على سلامة البيانات وكتابة استعلامات محسّنة لقواعد البيانات العلائقية.
-
DevOps والنشر: المساعدة في تحويل التطبيقات إلى حاويات باستخدام Docker وإدارة خطوط النشر عبر أدوات CI/CD.
متطلبات الوظيفة
المتطلبات التقنية:
-
المجموعة الأساسية (Core Stack – ضروري):
-
بيئة Java: فهم قوي لـ Java 8+، Spring Boot، Spring Data JPA، و Hibe
ate. -
الواجهة الأمامية: إجادة React.js، HTML5، CSS3، وJavaScript/TypeScript، مع خبرة عملية في Redux أو Context API لإدارة الحالة.
-
قواعد البيانات: معرفة قوية بـ SQL (MySQL، PostgreSQL، أو Oracle).
-
الأنظمة الموزعة والبنية المعمارية:
-
الرسائل: خبرة أو فهم قوي في Message Brokers (مثل RabbitMQ أو Kafka).
-
التخزين المؤقت: إلمام بتنفيذ التخزين المؤقت باستخدام Redis أو حلول مشابهة.
-
DevOps والأدوات:
-
الحاويات: خبرة في إنشاء وإدارة صور Docker.
-
CI/CD: معرفة بخطوط تكامل البرامج مثل Jenkins، GitHub Actions، أو GitLab CI.
-
إدارة الإصدارات: إجادة Git.
ما نبحث عنه:
-
شخص قادر على حل المشكلات، يفهم ليس فقط كيفية كتابة الكود، بل أيضًا أداء التطبيقات على نطاق واسع.
-
لاعب فريق قادر على توصيل الأفكار التقنية بوضوح.
المؤهلات التعليمية:
يجب أن يكون المرشح حاصلًا على درجة البكالوريوس في أحد المجالات التالية:
-
نظم المعلومات
-
علوم الحاسب
-
هندسة البرمجيات
-
أو أي تخصص تقني ذي صلة.


