Software Development Engineer - II (IOS)
Pune, MaharashtraFull-TimeMid-levelSoftware Engineering
Key Responsibility
- 1. Architectural Leadership & Development
- Architect and Develop Mobile Applications: Lead the architectural design and implementation of new features and major components, focusing on long-term maintainability, scalability, and performance.
- Drive Best Practices: Drive the adoption of modern design patterns (e.g., MVVM-C, Clean Architecture, Dependency Injection) across the codebase.
- Feature Ownership: Take ownership of large and complex features from initial conception and design through to deployment and monitoring.
- Cross-Platform Strategy: Actively contribute to the Kotlin Multiplatform (KMP) strategy, ensuring optimal code sharing and well-designed communication layers.
- Performance and Memory Leadership: Proactively identify, diagnose, and resolve complex performance and memory issues (using Instruments) across the entire application. Establish performance benchmarks.
- Elevating Code Quality: Mentor junior developers through rigorous code reviews, focusing on architectural soundness, performance implications, and adherence to established mobile standards.
- Test Strategy Ownership: Design and drive the mobile testing strategy (unit, integration, UI/Snapshot testing) to ensure maximum test coverage and reliability.
- Deep Expertise: Serve as a subject matter expert in core iOS frameworks. Design and implement complex data persistence solutions using Realm/SQLite/Core Data for robust offline caching, a critical requirement for Mindtickle’s use case.
- Modern Technologies: Utilise production experience with SwiftUI to lead the evaluation and phased migration to newer UI components and patterns.
- Data Layer Optimisation: Design and optimise the mobile data layer for efficient data fetching, caching, and synchronisation with backend services (RESTful/GraphQL).
- Technical Mentorship: Actively mentor and guide junior SDEs on technical challenges, development methodologies, and career growth.
- Cross-Functional Influence: Partner closely with Product Managers and Backend Engineers to influence feature specifications and technical design across the stack, especially concerning API contracts and data models.
- Release Management Ownership: Own the release process end-to-end, including release automation, App Store submissions, and ensuring compliance with all necessary guidelines.
Qualifications
- 4+ years of proven, hands-on experience as an iOS developer, with a focus on architectural design and building high-performance, large-scale mobile applications.
- Expert proficiency in Swift, the iOS framework (UIKit), and common architectural patterns (e.g., MVVM, Clean).
- Strong, demonstrated experience with reactive programming (RxSwift or Combine).
- Deep understanding and production experience with mobile data persistence layers (Realm, SQLite, or Core Data), especially concerning offline caching and synchronisation logic.
- Solid understanding of object-oriented design principles and software development best practices.
- Excellent communication and collaboration abilities, with proven experience driving technical discussions and decisions.
- Ability to work independently, take full ownership of complex modules, and mentor junior team members.
