Responsibilities
- Designing and building advanced applications for the iOS platform.
- Collaborating with cross-functional teams to define, design, and ship new features.
- Unit-testing code for robustness, including edge cases, usability, and general reliability.
- Help maintain code quality, organisation, and automation.
- Define as a hands-on iOS software engineer responsible for designing, building, and maintaining scalable iOS applications that power streaming, in-app purchases, and high-traffic user experiences, with emphasis on performance and stability across devices.
Requirements
- Bachelor's or Master's in Computer Science, Engineering, or related field, 2-4 years of professional iOS development delivering production apps, proven App Store release experience.
- Proficient in Swift and Objective-C, deep experience with Xcode, Interface Builder, and modern Swift features (async/await, Combine), strong UIKit foundation and familiarity with SwiftUI for progressive UI modernisation.
- Strong command of MVVM with dependency injection, experience with Clean Swift or similar clean architecture patterns, ability to design modular, testable components and support system-wide architectural decisions.
- Advanced UIKit skills (table views, collection views, autolayout, dynamic type), proficiency in Interface Builder and code-based UI, adherence to Apple Design Guidelines and mobile UX best practices while avoiding common anti-patterns.
- Experience with streaming tech (HLS, AVPlayer/AVFoundation) playback optimisation, understanding of adaptive bitrate, network conditions, and streaming UX implications on mobile devices.
- Strong emphasis on testability, unit tests (XCTest), UI tests, adept at profiling, memory leak detection, and performance optimisation using Instruments and Xcode tools.
- Excellent code review skills and collaborative mindset with product, design, and backend teams, ownership of features end-to-end from design through release and monitoring.
- Familiar with CI/CD pipelines, automated releases, and build/test automation, experience with analytics, crash reporting, and performance instrumentation to monitor user impact post-release.
This job was posted by Abin Chandra from Loco.