
Senior Software Engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
Senior Software Engineer - iOS/Android Fullstack in Pune, India
BP is seeking a high-calibre Senior Software Engineer with deep expertise as a Fullstack developer to launch global mobile applications. This role involves creating seamless, scalable, and maintainable mobile experiences and contributing to a global technical team for iOS and Android development. You will drive improvements to our tech stack, evolve our mobile architecture to unify and simplify our global codebase, and play a pivotal role in designing and implementing solutions that advance our mobile development standards and optimize cross-functional collaboration.
Technical Qualifications:
iOS and Android Development:
- 7+ years of hands-on iOS and Android development, with 3+ years in a tech lead role.
- Strong proficiency in Swift, Objective-C, Kotlin, and Java, with deep knowledge of modern iOS and Android frameworks.
Server-Driven UI Expertise:
- Experience designing and implementing server-driven UI architectures using concepts like proto buffers, JSON-based configuration, schema-driven layouts, and server-defined workflows.
Mobile Architecture:
- Proven ability to design scalable, maintainable architectures (VIPER, MVVM, Clean Architecture).
- Strong understanding of dependency injection, modularization, and their contribution to a simplified and unified codebase.
Testing & Quality:
- Experience in TDD/BDD, XCTest, and continuous integration (CI) setups.
- Demonstrated ability to create robust unit, integration, and UI tests.
Tech Stack Optimisation:
- Strong ability to assess, evolve, and implement tools, frameworks, and patterns for enhanced efficiency, scalability, and maintainability.
Backend Development:
- 7+ years in backend development, with 3+ years of advanced proficiency in Golang and gRPC for high-performance service communication.
- Strong understanding of RESTful and gRPC APIs, microservices architecture, and event-driven design patterns.
AWS Cloud Architecture:
- Proven experience designing and scaling backend services on AWS (EC2, Lambda, S3, RDS, CloudFront).
- Proficiency in infrastructure-as-code tools like AWS CDK or CloudFormation.
Distributed Systems:
- Experience with distributed systems patterns and challenges, particularly in high-availability, multi-region, and low-latency applications.
Shared Codebase Management:
- Demonstrated experience unifying backend codebases and eliminating redundant, region-specific code.
- Familiarity with modular architecture principles for streamlined component and service integration.
Component Library & Server-Driven UI:
- Understanding of server-driven UI design patterns and experience defining and implementing shared page and component libraries.
Security Best Practices:
- Expertise in backend security protocols and practices, including data encryption, secure authentication, and access control.
Code Quality & Testing:
- Proficient in writing clean, maintainable code with strong test coverage (unit, integration, performance).
- Experience with Azure DevOps CI/CD pipeline tools.
Monitoring and Optimisation:
- Familiarity with performance monitoring tools (Prometheus, Grafana, AWS CloudWatch).
Responsibilities:
- Provide technical leadership for iOS and Android development in a server-driven UI context, defining architectural direction and coding standards.
- Continuously improve and evolve the iOS and Android tech stack, focusing on server-driven UI principles.
- Streamline and unify the global iOS and Android codebase to reduce duplication and enhance performance.
- Lead the development of a strong testing strategy to ensure high-quality applications.
- Mentor junior developers and foster a culture of innovation and continuous improvement.
- Collaborate with cross-functional teams to design and implement features using server-driven UI.
- Contribute to leading the refinement of the server-driven UI backend architecture.
- Unify and simplify the shared backend codebase, removing regional-specific code.
- Define, develop, and maintain a shared page and component library for mobile applications.
- Design and implement scalable, resilient backend services on AWS.
- Implement and maintain strong security practices across the backend infrastructure.
- Champion high-quality code and testing standards for backend stability and reliability.
- Continuously analyze and improve backend performance, focusing on reducing latency.
- Engage actively with front-end, mobile, and product teams to ensure backend supports effective server-driven UI experiences.
Success Metrics:
- Effective execution and iteration on server-driven UI solutions.
- Measurable reduction in code duplication and improved modularization.
- Consistently high testing coverage and a low defect rate.
- Continuous maintenance and enhancement of a unified iOS and Android mobile architecture.
- Observable growth in the skills and knowledge of the iOS and Android development team.
Location: Pune, India
Work Arrangement: Hybrid of office/remote working
Relocation: Relocation within the country is eligible.
Travel: No travel is expected.