




نحن نبحث عن **مطوّر جافا كبير** ذا خبرة واسعة في **إطار Spring** (مع التركيز على **Spring Boot**) للانضمام إلى فريقنا. ستتمثل المسؤولية الأساسية في إعادة هيكلة وتحديث المشاريع القديمة لتحسين الأداء وسهولة الصيانة والقابلية للتوسع. كما تتضمن الوظيفة خبرة في تصميم قواعد البيانات وتحسينها (**MySQL**)، و**أساليب التخزين المؤقت**، و**دمج واجهات برمجة التطبيقات**، وتنفيذ إجراءات **أمان قوية**. **المسؤوليات الرئيسية** * **إعادة هيكلة الكود وتحديثه**: تحليل الكود القديم وإعادة هيكلته وتحسينه ليتماشى مع ممارسات التطوير الحديثة. * **تطوير إطار Spring**: قيادة جهود التطوير باستخدام **Spring Boot** ووحدات Spring الأخرى (مثل Spring Security، Spring MVC). * **تصميم قواعد البيانات وتحسينها**: تصميم نماذج قواعد بيانات فعّالة وقابلة للتوسع، وتحسين استعلامات MySQL، وضمان أداء عالٍ. * **أساليب التخزين المؤقت**: تنفيذ وإدارة استراتيجيات التخزين المؤقت (مثل **Redis**، **Ehcache**) لتعزيز أداء التطبيق. * **دمج واجهات برمجة التطبيقات**: تصميم ودمج وتأمين **واجهات برمجة تطبيقات RESTful**، لضمان اتصال سلس مع الأنظمة الخارجية. * **إجراءات الأمان**: تنفيذ أفضل ممارسات الأمان، بما في ذلك المصادقة والتفويض وحماية البيانات، مع الالتزام بالمعايير الصناعية. * **التعاون مع DevOps**: استخدام أدوات مثل **Jenkins** لدعم خطوط أنابيب CI/CD وتبسيط سير عمل التطوير. * **التعاون**: العمل بشكل وثيق مع فرق متعددة الوظائف، تشمل فرق ضمان الجودة (QA) وDevOps وإدارة المنتجات، لضمان تسليم المشروع بسلاسة. * **التوثيق**: الحفاظ على توثيق تقني شامل للمكونات المعاد هيكلتها والدمجات. **المتطلبات** **المهارات والخبرات المطلوبة** * **الخبرة في جافا**: 5 إلى 7 سنوات من الخبرة في تطوير **Java SE/EE**. * **إطار Spring**: فهم عميق لـ **Spring Boot** و **Spring MVC** و **Spring Security**. * **إتقان قواعد البيانات**: مهارات قوية في تصميم قواعد بيانات **MySQL** وتحسينها وضبط أداء الاستعلامات. * **التخزين المؤقت**: خبرة في استخدام أدوات التخزين المؤقت مثل **Redis** أو **Ehcache** أو ما يماثلها. * **تطوير واجهات برمجة التطبيقات**: خبرة مثبتة في تصميم ودمج **واجهات برمجة تطبيقات RESTful** مع إجراءات أمان قوية. * **ممارسات الأمان**: معرفة بإرشادات OWASP، وبروتوكولات المصادقة (مثل OAuth، JWT)، وتقنيات التشفير. * **أدوات CI/CD**: معرفة بأداة **Jenkins** لعمليات البناء والنشر وخطوط أنابيب الدمج. * **إعادة هيكلة الكود**: قدرة مثبتة على إعادة هيكلة قواعد الكود القديمة وتطبيق أنماط التصميم. * **التحكم في الإصدار**: إجادة استخدام **Git** وسير عمل التطوير التعاوني. * **الاختبار**: خبرة عملية في استخدام أطر الاختبار مثل **JUnit** و **Mockito**. **المؤهلات المفضلة** * معرفة بقواعد بيانات **NoSQL** مثل **MongoDB**. * خبرة في أدوات التوحيد (Containerization) مثل **Docker**. * معرفة أساسية بإدارة **نظام Linux** للنشر وحل المشكلات. * معرفة بأدوات تحليل الأداء وحلول APM.


