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.