
Lead Software Developer (Android)
- Bangalore, Karnataka
- Permanent
- Full-time
- Designs, develops, and maintains mobile applications, associated CI/CD pipelines, automated tests, and development tools using existing and emerging technology platforms
- Writes and delivers 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 via video conference, and attend the office 3 days per week.
- Skilled Developer/Engineer with 7+ 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 Android apps (mandatory)
- Proficiency in building modern Android user interfaces with Jetpack Compose
- Strong understanding of declarative UI concepts, state management in Compose, and composable functions
- Deep expertise in the KMP and coroutines for efficient asynchronous programming
- Proficiency in making network requests, handling API responses, and using libraries like Retrofit and OkHttp
- Experience with Room persistence library for local data storage
- Experience with unit testing with JUnit (ideal) or Jacoco/SonarQube/Mockito (desirable)
- Experience with Maven repository (ideal) or BOM dependency management (desirable)
- Experience with DexGuard (ideal), obfuscation, certificate pinning, and other methods of securing apps
- Experience developing with other mobile frameworks (desirable) and microservices development (desirable).
- Experience developing mobile SDKs and integrating mobile apps with web-services and external APIs (mandatory)
- A thorough understanding of OOP, design patterns, Android, iOS and enterprise mobile application integration
- 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 Google Play, and associated release management activities
- Experience with A/B testing would be highly valued
- Solid knowledge of Object Oriented code design.
- Solid knowledge a Procedural language such as PL/SQL.
- Good knowledge of IT security concepts and ability to use them while designing and developing code.
- 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: 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 AD B2C would be highly valued.
- Any experience with Google Analytics and/or Firebase 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.