وصف الوظيفة
وصف المشروع
"عميلنا، أحد الشركات الرائدة في تصنيع الأجهزة المنزلية الرفيعة المستوى، يتوسع في خطوط منتجات ذكية جديدة. كجزء من هذه المبادرة الاستراتيجية، يتم تنفيذ برنامج عالمي واسع النطاق عبر محفظة IP الخاصة بالشركة. ويتضمن ذلك تطوير برامج مضمنة جديدة، وتحسين بنية السحابة، وخلق واجهات مبتكرة داخل تطبيق الهاتف المحمول.
نبحث عن مطور متنقل قوي وذو إبداع مسؤول عن تطوير وصيانة التطبيقات الموجهة لمجموعة من أجهزة iOS بما في ذلك الهواتف المحمولة وأجهزة الكمبيوتر اللوحية. سيكون تركيزك الأساسي على تطوير تطبيقات iOS وتكاملها مع الخدمات الخلفية. ستعمل بجانب مهندسين ومطورين آخرين يعملون على طبقات بنية مختلفة. لذلك، يعد الالتزام بحل المشكلات بشكل تعاوني، والتصميم المتقدم، وابتكار منتجات ذات جودة أمراً أساسياً."
المسؤوليات
تطوير ميزات iOS جديدة تتيح للمستخدمين الاتصال والتكوين والتحكم في أحدث الأجهزة المصنعة من قبل العميل (أجهزة استشعار، محركات، أجهزة منزلية متصلة بالشبكة).
التعاون مع فرق متعددة الاختصاصات: مهندسو البرامج الثابتة/المضمنة، مهندسو السحابة/واجهات برمجة التطبيقات، مصممو UX/UI، ضمان الجودة/أتمتة الاختبار.
صيانة وتوسيع هندسة تطبيق iOS: الوحدات، التدفقات، طبقات الاتصال، واجهة المستخدم، إدارة الحالة.
ضمان جودة الشفرة، قابلية الاختبار، الأداء، قابلية الصيانة وتفوق تجربة المستخدم.
المساعدة في دمج أجهزة جديدة: اكتشاف الجهاز (Bluetooth/WiFi)، الإقران، تدفق تحديث البرنامج الثابت، مزامنة السحابة.
تشخيص، اكتشاف أخطاء، وحل المشكلات (الاتصال، Bluetooth/WiFi، الشبكة المتقطعة، الذاكرة/الأداء).
المشاركة في مراجعات الشفرة، مناقشات التصميم، تحسينات الهندسة ومعلمة أعضاء الفريق الأقل خبرة.
دعم دورة حياة التطبيق المحمول كاملة: تعريف الميزة، التطوير، الاختبار الداخلي، إصدار متجر التطبيقات، ملاحظات المستخدم، الصيانة.
المطالبة بأفضل الممارسات (اختبار الوحدة، اختبار الواجهة، التكامل المستمر، التصميم modular، التحكم بالإصدارات).
المهارات
الأساسي يجب أن يمتلك
خبرة قوية (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) ويفضل اختبارات UI الآلية.
فهم جيد لإدارة الذاكرة، التزامن، تحسين الأداء، وخبرة في حل مشاكل اتصال الهواتف/الأجهزة المحمولة الشائعة.
القدرة على العمل بشكل تعاوني في فريق أجايل/س scrum، والتواصل بفعالية مع أصحاب المصلحة غير التقنيين وفرق هندسة الأجهزة.
الطلاقة في الإنجليزية والقدرة على فهم تبعيات المنتج/البرمجيات الثابتة بسرعة.
من المفضل وجودها
خبرة بـ SwiftUI و/أو ترحيل كود UIKit القديم إلى SwiftUI.
خبرة بـ RxSwift أو أطر تفاعلية أخرى، أو الإلمام بـ Combine.
خبرة بمنصات IoT/نظم الأجهزة المتصلة (اكتشاف الأجهزة، التزويد، التحديثات عن بُعد، القياسات).
الإلمام ببروتوكولات Bluetooth LE (BLE)، تهيئة WiFi، أمان الشبكة، و/أو التفاعل المدمج/البرمجي الثابت.
خبرة باستخدام أطر حقن الاعتماد، الت modularisation (عدة وحدات في تطبيق)، واستخدام Swift Package Manager أو CocoaPods.
الإلمام باختبار واجهة المستخدم الآلي (XCUITest) وأدوات الأداء/التصوير (Instruments).
خبرة في الأجهزة الاستهلاكية أو مجال المنازل الذكية — على سبيل المثال، الأجهزة المنزلية، المستشعرات، الروبوتات.
الإلمام بإطارات التحليلات/بيانات القياس، وضع ميزة، التكوين عن بُعد، وتقرير الأعطال.
خبرة في العمل ضمن فرق جغرافية موزعة أو تطبيقات متعددة المناطق.
أخرى
اللغات
الإنجليزية: مستوى B2 فوق المتوسط
الخبرة
Senior
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
Senior