Role overview : Qualifications :
- Bachelor's degree and / or master's degree in computer science or relevant equivalent.
- 8+ years of experience in developing iOS applications. Swift experience is required and SwiftUI is a plus.
- Proficiency with common iOS libraries like UIKit, Security, CFNetwork, CoreGraphics, XCTest , COCOPod etc.
- Strong debugging skills, including identifying memory leaks and performance bottlenecks using tools like Debugger, Instruments, etc.
- Familiarity with Object-Oriented Programming (OOP) principles, different architectural patterns, and their testability.
- Excellent command over Data Structures and Algorithms.
- Understanding of design for scalability, performance, and reliability.
- Two or more published iOS apps in the App Store.
- Experience working in an agile environment and project management tools like Jira.
- Familiarity with Apple Design guidelines, common mobile UX patterns, and anti-patterns.
What would you do here :
As a Software Development Engineer III (iOS), you will be a key player in our technology team, contributing to the design, development, and maintenance of high-performance iOS applications. We are seeking an experienced iOS developer with a strong background in software design, programming skills, and a passion for delivering exceptional applications. If you thrive in a collaborative environment and enjoy pushing the boundaries of technology, we would like to meet you.
Responsibilities :
1. Architectural Leadership :
Lead the design and implementation of customer-facing features, contributing to the overall system architecture.Collaborate with product managers and backend teams to design robust and scalable software solutions.2. Code & Development :
Design, build, and maintain high-performance, reusable, and reliable code.Implement new features in production, ensuring code quality and adherence to best practices.3. Quality Assurance :
Write unit-test code to ensure robustness, usability, and reliability of the iOS applications.Utilize debugging skills to identify and address memory leaks, performance bottlenecks, and other issues.4. Technology Exploration :
Continuously discover, evaluate, and implement new technologies to maximize the development process.(ref : hirist.tech)