Role Description
The Java TL / Staff Engineer owns API and integrations capabilities/teams. He/she should be hands-on team member who actively consults the team to solve complex problems independently and assure knowledge sharing.
Requirements
Core Responsibilities
▪ Prepare low-level designs for team members, in collaboration with Solution/Software Architect
▪ Guides project teams on technology strategy related to coding practices, continuous integration and automated deployment ▪ Be hands on and engage in coding to help the team to develop his solution and solve all surfacing problems at hand Identifies and removes technical impediments
▪ Thought partners with the Product owner in story creation and acceptance criteria, and communicate tradeoffs effectively with Designers
▪ Constantly looking for better ways of solving technical problems and designing the solution, not afraid of challenging the status quo
▪ Provides the team a roadmap for implementing software engineering practices for higher code quality
▪ Reporting to Senior Engineering Manager
Key Skills 6-8 YoE, Seen as expert in developing backend integration and REST API using Spring framework Java/Kotlin, micro-service and native-cloud
▪ Can assist and support in making architecture decisions at a team and product level Domain Expertise
▪ Seasoned software developer Java, Kotlin, Spring-boot, Spring-cloud, Juni
NoSQL DB, In-memory cache, API Gateway, Design-Patterns, Logging, Spring Security, Maven, with deep insight into newest technologies such as Python.
▪ Hands-on experience in production Cloud Docker, Dev Ops CI/CD environments
▪ Nice to have experience in Azure Pipelines, Jenkins, Kubernetes, Open API, Gradle, and Linux shell-scripting.
▪ Knowledge in any other languages such as Node JS, GoLang, and/or Python a plus Agile/Digital Experience
Experience in Agile Development, with specific Solution Architect (or similar) experience preferred
▪ Understands relationship with Product Owner, Scrum Master, Design and Quality
▪ Experience managing technical priorities within the Backlog Individual Skills
▪ Strong communication skills with ability to align the organization on complex technical decisions
▪ Active coach and mentor whose goals are to grow and maximize the team's potential
▪ Strong leadership skills mainly inspirational and team-forming capabilities Mindset & Behaviors
▪ High energy and passionate individual who inspires teammates to reach their maximum potential
▪ Excited about trying new solutions outside standard approved
▪ Embraces a culture of trust, free thought complete transparency ▪ Brave and rebellious, willing to challenge status quo
وصف الدور الوظيفي
يتولى مهندس جافا القائد / المهندس الأول (Staff Engineer) مسؤولية واجهات برمجة التطبيقات (API) وقدرات التكامل وفرق العمل الخاصة بها. يجب أن يكون عضواً فعالاً في الفريق، يقدم الاستشارات بشكل نشط لحل المشكلات المعقدة بشكل مستقل ويضمن تبادل المعرفة.
المتطلبات
المسؤوليات الأساسية
▪ إعداد التصاميم التفصيلية (low-level designs) لأعضاء الفريق، بالتعاون مع مهندس الحلول/البرمجيات.
▪ توجيه فرق المشروع بشأن استراتيجية التكنولوجيا المتعلقة بممارسات البرمجة، والتكامل المستمر، والنشر الآلي. ▪ المشاركة العملية في البرمجة لمساعدة الفريق على تطوير الحلول وحل جميع المشكلات الطارئة وتحديد وإزالة العوائق التقنية.
▪ العمل كشريك فكري لمالك المنتج في إنشاء قصص المستخدم ومعايير القبول، والتواصل الفعال حول المقايضات مع المصممين.
▪ البحث المستمر عن طرق أفضل لحل المشكلات التقنية وتصميم الحلول، مع عدم التردد في تحدي الوضع الراهن.
▪ توفير خارطة طريق للفريق لتنفيذ ممارسات هندسة البرمجيات لتحقيق جودة أعلى للكود.
▪ رفع التقارير إلى مدير الهندسة الأول.
المهارات الرئيسية: خبرة من 6-8 سنوات، يُعتبر خبيراً في تطوير تكامل الأنظمة الخلفية وواجهات برمجة التطبيقات REST باستخدام إطار عمل Spring (Java/Kotlin)، والخدمات المصغرة (micro-services)، والأنظمة السحابية الأصلية (native-cloud).
▪ القدرة على المساعدة ودعم اتخاذ قرارات البنية التحتية على مستوى الفريق والمنتج. الخبرة في المجال:
▪ مطور برمجيات متمرس في Java، Kotlin، Spring-boot، Spring-cloud، Juni.
قواعد بيانات NoSQL، الذاكرة المؤقتة (In-memory cache)، بوابة واجهات برمجة التطبيقات (API Gateway)، أنماط التصميم (Design-Patterns)، سجلات النظام (Logging)، Spring Security، Maven، مع رؤية عميقة في أحدث التقنيات مثل Python.
▪ خبرة عملية في بيئات الإنتاج السحابية (Cloud) باستخدام Docker، وDevOps وCI/CD.
▪ يُفضل امتلاك خبرة في Azure Pipelines، Jenkins، Kubernetes، Open API، Gradle، وكتابة سكربتات Linux (shell-scripting).
▪ معرفة بأي لغات برمجة أخرى مثل Node JS، GoLang، و/أو Python تُعد ميزة إضافية. الخبرة في بيئات العمل الرشيقة (Agile/Digital):
خبرة في التطوير الرشيق (Agile Development)، ويُفضل وجود خبرة محددة كمهندس حلول (أو ما يعادلها).
▪ فهم العلاقة مع مالك المنتج، وسكروم ماستر، وفريق التصميم، وفريق الجودة.
▪ خبرة في إدارة الأولويات التقنية ضمن تراكم الأعمال (Backlog). المهارات الفردية:
▪ مهارات تواصل قوية مع القدرة على توحيد آراء المؤسسة حول القرارات التقنية المعقدة.
▪ مدرب وموجه نشط تهدف أهدافه إلى تنمية وتعظيم إمكانات الفريق.
▪ مهارات قيادية قوية، تتمثل بشكل أساسي في القدرة على الإلهام وبناء الفرق. العقلية والسلوكيات:
▪ شخص مفعم بالحيوية والشغف يلهم زملائه في الفريق للوصول إلى أقصى إمكاناتهم.
▪ متحمس لتجربة حلول جديدة خارج الأطر المعتمدة.
▪ يتبنى ثقافة الثقة، وحرية التفكير، والشفافية الكاملة. ▪ شجاع ومتمرد، ومستعد لتحدي الوضع الراهن.