Eon Dental is a high-impact medical devices & tech company growing at neck breaking speed. We are a team of over ~500 colleagues dedicated to making Eon Dental a leading global player in the clear aligner and dental services industry. Eon Dental aims to deliver value to dentists and orthodontists worldwide by offering a superior quality product, dynamic pricing, treatment schemes as well as after-sales service and assistance. Software and innovation are involved in all aspects of our product lifecycle; beginning from an engaging experience on the frontend applications that serves customers and dentists to robust backend solutions for process management and automation. Our excitement about the vision and mission of the company has enabled us to foster a great culture and an exciting work environment that is based on building synergies and our team s exceptional talent to make our customers experience outstanding.
Your Impact The Senior Unity Developer role is based in Jordan and reports to the Software Engineering Head and will be responsible for designing and implementing robust, reusable components and systems within Unity. This includes developing high-quality, modular Unity packages that can be seamlessly integrated into various applications across multiple projects. The role demands deep expertise in Unity's graphics and UI development capabilities, performance optimization, shader programming, and the application of best practices in modular and scalable design.
What You'll Do
- Design and build modular, reusable Unity components using SOLID principles, dependency injection, and event-driven architecture.
- Package components to ensure easy integration, versioning, and dependency management across multiple projects.
- Maintain a focus on creating project-agnostic components by avoiding project-specific dependencies.
- Design and develop intuitive and high-performance UI elements for both 2D and 3D interactive applications.
- Work on optimizing UI experiences for VR and AR environments.
- Implement animations and interactive elements that are responsive and engaging.
- Develop custom shaders using various shader languages like HLSL and Shader Graph for a variety of platforms, including URP and HDRP.
- Optimize shaders and graphical assets to ensure high performance across both mobile and high-performance platforms.
- Implement advanced graphics techniques to meet the needs of both 2D/3D graphics and VR/AR applications.
- Provide thorough documentation for all Unity packages, including setup instructions and API references.
- Create sample scenes that demonstrate how to implement and use the reusable components in different Unity projects.
- Ensure clear, detailed guides are available for developers on how to best use the components.
- Develop and maintain automated unit and integration tests for all components to ensure quality and stability.
- Collaborate with the DevOps team to set up continuous integration (CI) workflows to validate components across different Unity versions and project environments.
- Regularly test components for performance and ensure cross-platform compatibility.
- Collaborate with other developers, designers, and product teams to ensure the effective integration of reusable components into larger projects.
- Mentor junior developers, providing guidance and support in best practices for Unity development, code architecture, and performance optimization.
- Adhere to the quality standards and safety procedures as per the company guidelines and local regulations.
- Take appropriate actions in relation to any hazards and work related issues, and escalate as needed, in order to ensure prompt and effective resolution.
- Perform other job-related tasks as assigned by the line manager, in order to ensure the fulfillment of organizational objectives.
Desired Candidate Profile
- Bachelor's degree in Software Engineering, Computer Science, Software Development, or a related field.
- 5+ years of experience developing applications using Unity.
- Strong proficiency in C#.
- Solid understanding of clean code practices and clean architecture.
- Knowledge of component-based design.
- Familiarity with Git and version control workflows.
- Good understanding of 3D mathematics, including vectors, matrices, and trigonometry.
- Strong understanding and practical application of SOLID principles.
- Experience with modular and scalable systems, graphics optimization, and shader programming.
- Experience with VR/AR development, CI/CD pipelines, cross-platform development, and automated testing is preferred.
- Familiarity with the Domain-Driven Design (DDD) programming paradigm is a plus.
إيون دولتال هي شركة أجهزة طبية وتكنولوجية ذات تأثير عالي تنمو بسرعة لا تصدق. نحن فريق يضم أكثر من ~500 زميل مكرسين لجعل إيون دولتال لاعباً عالمياً رائداً في صناعة المُعِدِّلات الشفافة وخدمات طب الأسنان. يهدف Eon Dental إلى تقديم قيمة لأطباء الأسنان وتقويم الأسنان في جميع أنحاء العالم من خلال عرض منتج عالي الجودة وتسعير ديناميكي وخطط علاجية بالإضافة إلى خدمة ما بعد البيع والمساعدة. تشترك البرمجيات والابتكار في جميع جوانب دورة حياة منتجنا؛ بدءاً من تجربة جذابة في التطبيقات الأمامية التي تخدم العملاء وأطباء الأسنان إلى حلول خلفية قوية لإدارة العمليات والأتمتة. لقد مَكَّنَنا حماسنا تجاه رؤية ومهمة الشركة من بناء ثقافة رائعة وبيئة عمل مثيرة تعتمد على بناء التآزر وموهبة فريقنا الاستثنائية لجعل تجربة عملائنا مميزة.
تأثيرك: роль Senior Unity Developer مقره في الأردن ويتبع رئيس هندسة البرمجيات وسيكون مسؤولاً عن تصميم وتنفيذ مكونات وأنظمة قوية وقابلة لإعادة الاستخدام ضمن Unity. يتضمن ذلك تطوير حزم Unity عالية الجودة ووحدوية يمكن دمجها بسلاسة في تطبيقات مختلفة عبر مشاريع متعددة. الدور يتطلب خبرة عميقة في قدرات رسومات Unity وتطوير واجهة المستخدم، وتحسين الأداء، وبرمجة الظلال، وتطبيق أفضل الممارسات في التصميم المعياري والقابل للتوسع.
ما ستقوم به
- تصميم وبناء مكونات Unity معيارية قابلة لإعادة الاستخدام باستخدام مبادئ SOLID، حقن الاعتماد، وهندسة قائمة على الأحداث.
- تعبئة المكونات لضمان سهولة التكامل، والإصدارات، وإدارة الاعتماد بين مشاريع متعددة.
- الحفاظ على التركيز على إنشاء مكونات مستقلة عن المشاريع من خلال تجنب الاعتماد على مشاريع محددة.
- تصميم وتطوير عناصر واجهة مستخدم intuitives وعالية الأداء لتطبيقات تفاعلية ثنائية وثلاثية الأبعاد.
- العمل على تحسين تجارب واجهة المستخدم لبيئات الواقع الافتراضي والواقع المعزز.
- تنفيذ الرسوم المتحركة والعناصر التفاعلية التي تكون سريعة الاستجابة وجذابة.
- تطوير ظلال مخصصة باستخدام لغات Shader مثل HLSL وShader Graph لمجموعة متنوعة من المنصات، بما في ذلك URP وHDRP.
- تحسين الظلال والرسوميات لضمان أداء عالٍ عبر منصات الجوال والأداء العالي.
- تنفيذ تقنيات رسومية متقدمة لتلبية احتياجات كل من رسومات 2D/3D وVR/AR.
- توفير وثائق شاملة لجميع حزم Unity، بما في ذلك تعليمات الإعداد ومراجع API.
- إنشاء مشاهد نموذجية تُظهر كيف يمكن تنفيذ واستخدام المكونات القابلة لإعادة الاستخدام في مشاريع Unity مختلفة.
- ضمان توفر أدلة واضحة ومفصلة للمطورين حول كيفية استخدام المكونات بشكل أفضل.
- تطوير والحفاظ على اختبارات وحدوية وتكامليّة آلية لجميع المكونات لضمان الجودة والثبات.
- التعاون مع فريق DevOps لإعداد سير عمل التكامل المستمر (CI) للتحقق من مكونات عبر إصدارات Unity وبيئات المشروع المختلفة.
- اختبار المكونات بانتظام من حيث الأداء وضمان التوافق عبر الأنظمة الأساسية.
- التعاون مع مطورين آخرين، ومصممين، وفرق المنتج لضمان تكامل فعال للمكونات القابلة لإعادة الاستخدام في مشاريع أكبر.
- إرشاد المطورين المبتدئين، وتقديم التوجيه والدعم في أفضل الممارسات لتطوير Unity، وهيكلية الكود، وتحسين الأداء.
- الالتزام بمعايير الجودة وإجراءات السلامة وفقاً لإرشادات الشركة واللوائح المحلية.
- اتخاذ الإجراءات المناسبة فيما يتعلق بأي مخاطر وقضايا تتعلق بالعمل، والتصعيد حسب الحاجة لضمان حل سريع وفعال.
- أداء مهام وظيفية أخرى كما يعينها مدير الخط، لضمان تحقيق الأهداف التنظيمية.
المرشح المثالي
- درجة البكالوريوس في هندسة البرمجيات أو علوم الكمبيوتر أو تطوير البرمجيات، أو مجال ذي صلة.
- خبرة 5+ سنوات في تطوير التطبيقات باستخدام Unity.
- إتقان قوي لـ C#.
- فهم راسخ لممارسات الشفرة النظيفة والهندسة النظيفة.
- معرفة بتصميم قائم على المكونات.
- إلمام بـ Git وتدفقات التحكم في الإصدارات.
- فهم جيد للرياضيات ثلاثية الأبعاد، بما في ذلك المتجهات والمصفوفات والعلاقات الجيبية.
- فهم قوي وتطبيق عملي لمبادئ SOLID.
- خبرة في الأنظمة المعيارية والقابلة للتوسع، وتحسين الرسومات، وبرمجة الظلال.
- خبرة في تطوير الواقع الافتراضي/المعزز، وخطوط CI/CD، وتطوير عبر المنصات، واختبار آلي مفضل.
- إلمام بنمط برمجة Domain-Driven Design (DDD) ميزة إضافية.