
Senior Software Developer (iOS)
- Bangalore, Karnataka
- Permanent
- Full-time
- Writes and delivers complex code for features, user stories, reusable modules, unit testing and automated functional testing; debugs existing code and modules
- Provides technical guidance to less experienced developers and other technical or non-technical stakeholders.
- Follows coding guidelines and QA practices and processes, and ensures they are followed by less experienced developers.
- Participates in backlog grooming, analysis of requirements, estimation, and design of new applications or new features.
- Supports colleagues in their drive to constantly improve the way we work and make working together a pleasant experience.
- Actively participate in all scrum events
- Degree in Computer Sciences or Engineering, related field.
- Applicable vendor / technology certification or equivalent work experience
- Skilled Developer/Engineer with 6+ years of hands-on experience developing, supporting, releasing, and optimizing mission-critical mobile apps, leveraging automation and DevOps processes to ensure repeatability and efficiency.
- 5+ years developing native iOS apps (mandatory), native Android apps (highly valued)
- Experience with SwiftUI for creating modern iOS interfaces
- Swift, including a thorough understanding of ARC memory management, optionals, protocols and generics
- Async/await and Task management, ensuring efficient performance
- Understanding of structured/architectural coding patterns for maintainable applications
- Comprehensive testing expertise encompassing unit testing, TDD methodology and test coverage
- Experience developing mobile SDKs and integrating mobile apps with web-services and external APIs
- Proficient in utilising Xcode debugging tools
- Thorough understanding of iOS application lifecycles
- Complete familiarity with App Store submission requirements, including certificate management, provisioning profiles and guidelines
- Experienced in Azure DevOps configuration, including automation pipelines and deployment workflows
- Experience with OWASP Mobile Top 10 and mitigation strategies
- Knowledge of secure data storage and encryption
- Expertise in certificate pinning implementation
- Understanding of iXGuard(ideal), obfuscation, certificate pinning, and other methods of securing apps
- Expertise in Flutter, Java and Kotlin (on Android)
- Strong skills in securing data on the local device using industry standard encryption technologies including key management solutions
- Experience with push notification frameworks
- Experience with mobile payment solutions (Stripe would be ideal)
- Experience with publishing apps to App Store and Google Play, and associated release management activities
- Experience with A/B testing would be highly valued
- Experience developing with other mobile frameworks (desirable) and microservices development
- Solid knowledge of SOA: XML Web Services, SOAP and Microservices architecture (desirable).
- Solid knowledge of JSON
- Working knowledge of cloud platforms such as Azure, AWS or Google Cloud would be an advantage.
- Good knowledge of developing and designing code to interface to one or more RDBMS databases.
- Demonstrate good understanding of networking concepts.
- Demonstrate the ability to apply application design concepts: MVC and MVVM, object-oriented design, design patterns, database development.
- Demonstrate the ability to use DataSet, SQL, and stored procedures.
- Any experience or understanding of biometrics would be highly valued.
- Any experience or understanding of ADB2C would be highly valued.
- Any experience with Google Analytics and/or Remote Config would be highly valued
- Advanced knowledge of source code management (git) and branching strategies that work for DevOps.
- Demonstrate an understanding of trade-offs and risks with programming choices.