صاحب العمل نشط
حالة تأهب وظيفة
سيتم تحديثك بأحدث تنبيهات الوظائف عبر البريد الإلكترونيحالة تأهب وظيفة
سيتم تحديثك بأحدث تنبيهات الوظائف عبر البريد الإلكترونينحن نبحث عن مطور Java Full Stack عالي المهارة للانضمام إلى فريقنا. يجب أن يكون لدى المرشح المثالي أساس قوي في تقنيات Java وMicroservices وReact وCloud-Native.
المسؤوليات:
تصميم وتطوير ونشر تطبيقات قوية وقابلة للتطوير وعالية الأداء.
التعاون مع فرق متعددة الوظائف لفهم المتطلبات وتقديم الحلول.
كتابة كود نظيف وذو بنية جيدة وقابل للصيانة.
إجراء اختبارات الوحدة والتكامل لضمان جودة الكود.
استكشاف الأخطاء وإصلاحها وحل المشكلات الفنية.
البقاء على اطلاع بأحدث التقنيات واتجاهات الصناعة.
المهارات والخبرة المطلوبة:
خبرة لا تقل عن 7 سنوات في تطوير Java، بما في ذلك Spring Boot وSpring Framework.
خبرة لا تقل عن 5 سنوات في تقنيات الواجهة الأمامية مثل React وHTML وCSS وJavaScript.
فهم قوي لهندسة الخدمات المصغرة ومنصات السحابة (AWS وAzure وGCP).
إتقان قواعد البيانات العلائقية (Oracle) وقواعد بيانات NoSQL (على سبيل المثال، Couchbase).
الخبرة في خطوط أنابيب وأدوات CI/CD (Jenkins، GitLab CI/CD).
المعرفة بتقنيات الحاويات (Docker، Kubernetes).
مهارات قوية في حل المشكلات وتصحيح الأخطاء.
قدرات ممتازة في التواصل والعمل الجماعي.
المهارات المفضلة:
الخبرة في تطوير واجهة برمجة التطبيقات (REST، SOAP) وتقنيات التكامل (Kafka، RabbitMQ).
المعرفة بتقنيات بث البيانات (Spark، Flink).
الخبرة في أطر أتمتة الاختبار (Selenium، JUnit، TestNG).
فهم ممارسات وأدوات DevOps.
أنماط التصميم: معرفة أنماط التصميم الشائعة مثل MVC وSingleton وFactory وObserver وStrategy.
مبادئ SOLID: فهم مبادئ SOLID (المسؤولية الفردية، والمفتوح/المغلق، واستبدال Liskov، وفصل الواجهة، وانعكاس التبعية) لكتابة كود نظيف وقابل للصيانة وقابل للتطوير.
مبادئ تصميم واجهة برمجة التطبيقات RESTful: الإلمام بتصميم واستهلاك واجهات برمجة التطبيقات RESTful وفقًا للاتفاقيات القياسية وأفضل الممارسات.
1. مهارات Java الأساسية
Java SE (الإصدار القياسي): إتقان أساسيات Java، مثل أنواع البيانات، وهياكل التحكم، والحلقات، والمجموعات، ومعالجة الاستثناءات، والتعدد في العمليات.
ميزات Java 8+: الإلمام بـ Java 8 والإصدارات الأحدث، بما في ذلك ميزات مثل التدفقات، وتعبيرات lambda، والواجهات الوظيفية، والطرق الافتراضية.
مكونات JVM الداخلية: فهم بنية JVM، وجمع القمامة، وإدارة الذاكرة.
التزامن: معرفة مفاهيم التزامن مثل الخيوط، والمزامنة، ومجموعات الخيوط للتعامل مع المهام المتوازية.
2. مهارات تطوير الواجهة الخلفية
Spring Framework: الخبرة في Spring Boot لإنشاء خدمات RESTful، وSpring MVC لتطبيقات الويب، وSpring Security لتأمين التطبيقات. معرفة Spring Data JPA لـ ORM وSpring Cloud لهندسة الخدمات المصغرة.
Hibernate/JPA (Java Persistence API): فهم كيفية تعيين كائنات Java إلى جداول قاعدة البيانات باستخدام Hibernate أو JPA للتفاعل مع قواعد البيانات العلائقية.
معرفة قواعد البيانات:
SQL: الكفاءة في كتابة وتحسين استعلامات SQL لقواعد البيانات العلائقية (على سبيل المثال، MySQL وPostgreSQL وOracle).
قواعد بيانات NoSQL: الإلمام بقواعد بيانات NoSQL مثل MongoDB أو Cassandra أو CouchDB.
واجهات برمجة التطبيقات RESTful: القدرة على تصميم واستخدام واجهات برمجة تطبيقات REST للاتصال بين أنظمة مختلفة.
هندسة الخدمات المصغرة: معرفة تصميم وبناء الخدمات المصغرة باستخدام أطر عمل Java، وخاصة Spring Boot وSpring Cloud، وأدوات مثل Docker وKubernetes للحاويات والتنسيق.
توثيق واجهة برمجة التطبيقات: القدرة على توثيق واجهات برمجة التطبيقات باستخدام أدوات مثل Swagger/OpenAPI.
3. مهارات تطوير الواجهة الأمامية
HTML5/CSS3: فهم بنية وتخطيط صفحات الويب باستخدام HTML5 للدلالات وCSS3 للتصميم. الكفاءة في مبادئ التصميم المستجيب باستخدام استعلامات الوسائط.
JavaScript: معرفة JavaScript للوظائف الديناميكية من جانب العميل. المعرفة بميزات ES6+ مثل وظائف الأسهم، وasync/await، وتفكيك البنية، والوحدات النمطية.
أطر عمل الواجهة الأمامية:
React.js/Angular/Vue.js: الخبرة في واحد أو أكثر من أطر عمل الواجهة الأمامية أو المكتبات الشائعة لبناء تطبيقات ويب ديناميكية ذات صفحة واحدة (SPA).
إدارة الحالة: معرفة تقنيات وأدوات إدارة الحالة، مثل Redux (لـ React) أو Vuex (لـ Vue.js).
واجهات برمجة تطبيقات HTML5: المعرفة بواجهات برمجة تطبيقات HTML5 المختلفة مثل localStorage وGeolocation وCanvas وWebSockets.
معالجات CSS الأولية: المعرفة بمعالجات CSS الأولية مثل SASS أو LESS لكتابة أوراق أنماط معيارية وقابلة للصيانة.
4. أدوات التحكم في الإصدار والبناء
Git: الكفاءة في استخدام أنظمة التحكم في الإصدار مثل Git، ومنصات مثل GitHub أو GitLab أو Bitbucket لإدارة التعليمات البرمجية المصدرية والتعاون.
أدوات البناء: خبرة في أدوات البناء مثل Maven أو Gradle لأتمتة عمليات البناء وإدارة التبعيات والنشر.
التكامل المستمر/النشر المستمر (CI/CD): إلمام بخطوط أنابيب CI/CD باستخدام أدوات مثل Jenkins أو Travis CI أو GitLab CI أو CircleCI لأتمتة الاختبار والنشر.
5. الحاويات والحوسبة السحابية
Docker: خبرة في Docker لحاويات تطبيقات Java وإدارة البيئات للتطوير والاختبار والإنتاج.
Kubernetes: إلمام بـ Kubernetes لتنظيم التطبيقات الحاوية.
المنصات السحابية: معرفة نشر التطبيقات على المنصات السحابية مثل AWS أو Azure أو Google Cloud، بما في ذلك الخدمات للحوسبة والتخزين والشبكات.
الهندسة المعمارية الخالية من الخوادم: خبرة في بناء ونشر التطبيقات الخالية من الخوادم باستخدام خدمات مثل AWS Lambda أو Google Cloud Functions.
6. مهارات الاختبار
اختبار الوحدات: خبرة في JUnit أو TestNG لكتابة اختبارات الوحدات لتطبيقات Java.
اختبار التكامل: معرفة أدوات مثل Spring Test وMockito وWireMock لاختبار تكامل المكونات أو واجهات برمجة التطبيقات الخارجية.
اختبار الواجهة الأمامية: التعرف على أطر اختبار الواجهة الأمامية مثل Jest (لـ React) أو Karma (لـ Angular).
الاختبار الشامل: الخبرة في استخدام أدوات مثل Selenium أو Cypress لأتمتة الاختبار الشامل لتطبيقات الويب.