الوصف الوظيفي
وصف المشروع
"يتطلع عميلنا، وهو شركة رائدة في تصنيع الأجهزة المنزلية الراقية، إلى التوسع في خطوط إنتاج منتجات ذكية جديدة. وكجزء من هذه المبادرة الاستراتيجية، يتم تنفيذ برنامج عالمي واسع النطاق عبر محفظة الملكية الفكرية للشركة. ويتضمن ذلك تطوير برمجيات مدمجة جديدة، وتحسينات على البنية التحتية السحابية، وإنشاء واجهات مبتكرة داخل تطبيق الهاتف المحمول.
ونحن نبحث عن مطور تطبيقات أجهزة محمولة متمكن ومبتكر لتولي مسؤولية تطوير وتحديث التطبيقات الموجهة لمجموعة من أجهزة iOS بما في ذلك الهواتف المحمولة والأجهزة اللوحية. سيكون تركيزك الأساسي منصباً على تطوير تطبيقات iOS وربطها بالخدمات الخلفية. ستعمل جنباً إلى جنب مع مهندسين ومطورين آخرين يعملون على طبقات مختلفة من البنية التحتية. لذلك، فإن الالتزام بحل المشكلات التشاركي، والتصميم المتطور، وإنشاء منتجات عالية الجودة أمر أساسي."
المسؤوليات
تطوير ميزات iOS جديدة تمكن المستخدمين من الاتصال بـأحدث الأجهزة التي يصنعها العميل وإعدادها والتحكم بها (أجهزة الاستشعار، المحركات، الأجهزة المتصلة بالشبكة).
التعاون مع فرق متعددة التخصصات: مهندسي البرمجيات المدمجة/البرامج الثابتة، مهندسي السحابة/واجهات برمجة التطبيقات (API)، مصممي واجهة وتجربة المستخدم (UX/UI)، ومهندسي ضمان الجودة/أتمتة الاختبار.
صيانة وتطوير بنية تطبيق iOS: الوحدات، التدفقات، طبقات الاتصال، واجهة المستخدم، وإدارة الحالة.
ضمان جودة الشفرة البرمجية، قابلية الاختبار، الأداء، قابلية الصيانة، والتميز في تجربة المستخدم.
المساعدة في دمج الأجهزة الجديدة: اكتشاف الأجهزة (Bluetooth/WiFi)، الاقتران، تدفق تحديث البرامج الثابتة، والمزامنة السحابية.
تشخيص الأخطاء وتصحيحها وحل المشكلات (الاتصال، Bluetooth/WiFi، انقطاع الشبكة، الذاكرة/الأداء).
المشاركة في مراجعات الشفرة البرمجية، مناقشات التصميم، تحسينات البنية التحتية، وتوجيه أعضاء الفريق الأقل خبرة.
دعم دورة حياة تطبيق الهاتف المحمول بالكامل: تحديد الميزات، التطوير، الاختبار الداخلي، الإصدار على متجر التطبيقات (App Store)، ملاحظات المستخدمين، والصيانة.
تعزيز أفضل الممارسات (اختبار الوحدات، اختبار واجهة المستخدم، التكامل المستمر، التصميم النمطي، وإدارة الإصدارات).
المهارات
المهارات الأساسية
خبرة قوية (+5 سنوات) في تطوير تطبيقات iOS الأصلية باستخدام Swift، بما في ذلك فهم قوي لـ iOS SDK و UIKit/SwiftUI.
خبرة في دمج والعمل مع الأجهزة المتصلة بالمعدات (مثل Bluetooth LE، وحدات WiFi، إنترنت الأشياء IoT، وتدفقات عمل الاقتران) أو على الأقل دراية قوية بتدفقات الاتصال.
سجل حافل مثبت في بناء تطبيقات ذات جودة إنتاجية: بنية نمطية، شفرة برمجية نظيفة، قابلية الصيانة، وقابلية الاختبار.
الإلمام بالبرمجة غير المتزامنة (مثل Combine، RxSwift، async/await) وإدارة تدفقات الأحداث / التدفقات غير المتزامنة.
الإلمام بـ RESTful APIs أو الخدمات السحابية، تسلسل/إلغاء تسلسل JSON، التعامل مع أعطال الشبكة، التخزين المؤقت، والسلوك دون اتصال بالإنترنت.
معرفة بأنماط البنية النمطية (MVVM، Coordinators، Clean Architecture).
معرفة ببروتوكول MQTT
خبرة في إدارة الإصدارات (Git)، أنابيب CI/CD، اختبارات الوحدات (XCTest/XCUITest) ويفضل اختبارات واجهة المستخدم/الأتمتة.
فهم جيد لإدارة الذاكرة، الخيوط (threading)، تحسين الأداء، وخبرة في حل مشكلات الاتصال الشائعة في الأجهزة المحمولة.
القدرة على العمل بشكل تعاوني ضمن فريق agile/scrum، والتواصل بفعالية مع أصحاب المصلحة غير التقنيين وفرق هندسة الأجهزة.
إتقان اللغة الإنجليزية والقدرة على استيعاب متطلبات المنتجات/البرامج الثابتة بسرعة.
مهارات يفضل وجودها
خبرة في SwiftUI و/أو نقل الشفرات البرمجية القديمة من UIKit إلى SwiftUI.
خبرة في RxSwift أو أطر العمل التفاعلية الأخرى، أو إلمام بـ Combine.
خبرة في منصات إنترنت الأشياء (IoT) / منظومات الأجهزة المتصلة (اكتشاف الأجهزة، الإعداد والتخصيص، التحديثات عبر الهواء، والقياس عن بُعد).
الإلمام ببروتوكولات Bluetooth LE (BLE)، إعداد WiFi، أمان الشبكة، و/أو التفاعل مع البرامج الثابتة/المدمجة.
خبرة في استخدام أطر حقن التبعيات (dependency-injection)، التقسيم النمطي (وحدات متعددة في التطبيق)، واستخدام Swift Package Manager أو CocoaPods.
الإلمام باختبارات واجهة المستخدم المؤتمتة (XCUITest) وأدوات تحليل الأداء (Instruments).
خبرة في مجال الأجهزة الاستهلاكية أو المنازل الذكية — على سبيل المثال، الأجهزة المنزلية، أجهزة الاستشعار، الروبوتات.
الإلمام بأطر عمل التحليلات/القياس عن بعد، تبديل الميزات (feature-flagging)، التكوين عن بعد، وتقارير الأعطال.
خبرة في العمل ضمن فرق موزعة جغرافياً أو تطبيقات متعددة المناطق.
أخرى
اللغات
الإنجليزية: B2 فوق المتوسط
مستوى الخبرة
رئيسي
Job description
Project description
"Our client, a leading manufacturer of high-end household appliances, is expanding into new smart product lines. As part of this strategic initiative, a large-scale global program is being implemented across the company's IP portfolio. This includes the development of new embedded software, enhancements to cloud infrastructure, and the creation of innovative interfaces within the mobile application.
We're seeking a solid and creative Mobile Developer responsible for the development and maintenance of applications aimed at a range of iOS devices including mobile phones and tablet computers. Your primary focus will be the development of iOS applications and their integration with back-end services. You will be working alongside other engineers and developers working on different layers of the infrastructure. Therefore, a commitment to collaborative problem-solving, sophisticated design, and the creation of quality products is essential."
Responsibilities
Develop new iOS features that enable users to connect, configure and control latest devices manufactured by client (sensors, motors, networked appliances).
Collaborate with cross-functional teams: firmware/embedded engineers, cloud/API engineers, UX/UI designers, QA/test automation.
Maintain and extend the iOS app's architecture: modules, flows, connectivity layers, UI, state-management.
Ensure code quality, testability, performance, maintainability and UX excellence.
Help onboard new hardware integrations: device discovery (Bluetooth/WiFi), pairing, firmware update flow, cloud sync.
Diagnose, debug and resolve issues (connectivity, Bluetooth/WiFi, intermittent network, memory/performance).
Participate in code reviews, design discussions, architecture improvements and mentor more junior team members.
Support the full mobile app lifecycle: feature definition, development, internal test, App Store release, user feedback, maintenance.
Advocate best practices (unit testing, UI testing, continuous integration, modular design, version control).
Skills
Must have
Strong experience (5+ years) developing native iOS apps using Swift, including a solid understanding of iOS SDK, UIKit/SwiftUI.
Experience integrating and working with hardware-connected devices (e.g., Bluetooth LE, WiFi modules, IoT, pairing workflows) or, at a minimum, strong awareness of connectivity flows.
Proven track record building production-quality apps: modular architecture, clean code, maintainability, testability.
Familiar with asynchronous programming (e.g., Combine, RxSwift, async/await) and managing event streams / asynchronous flows.
Familiar with RESTful APIs or cloud services, JSON serialisation/deserialisation, handling network failures, caching, offline behaviour.
Knowledge of modular architecture patterns (MVVM, Coordinators, Clean Architecture).
Knowledge of the MQTT protocol
Experience with version control (Git), CI/CD pipelines, unit tests (XCTest/XCUITest) and preferably UI/automation tests.
Good understanding of memory management, threading, performance optimisation, and experience resolving common mobile/mobile-device connectivity issues.
Ability to work collaboratively in an agile/scrum team, communicate effectively with non-technical stakeholders and device-engineering teams.
Fluent in English and able to pick up product/firmware dependencies quickly.
Nice to have
Experience with SwiftUI and/or migrating legacy UIKit code to SwiftUI.
Experience with RxSwift or other reactive frameworks, or familiarity with Combine.
Experience with IoT platforms / connected-device ecosystems (device discovery, provisioning, over-the-air updates, telemetry).
Familiarity with Bluetooth LE (BLE) protocols, WiFi provisioning, network security, and/or embedded/firmware interaction.
Experience using dependency-injection frameworks, modularisation (multiple modules in an app), and using Swift Package Manager or CocoaPods.
Familiarity with automated UI testing (XCUITest) and performance/profiling tools (Instruments).
Experience in consumer hardware or smart home domain — for example, appliances, sensors, robotics.
Familiarity with analytics/telemetry frameworks, feature-flagging, remote config, and crash-reporting.
Experience working in geographically distributed teams or multi-region apps.
Other
Languages
English: B2 Upper Intermediate
Seniority
Lead