
Senior software engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
Senior Software Engineer - Pune, India
Join BP's Technology team in Pune, India, as a Senior Software Engineer. You will be part of the Mobility & Convenience Technology Organization, focusing on B2C marketing functions globally. This role involves interfacing with the Global Marketing function to enhance footfall and drive purchases of mobility & convenience goods through innovative marketing and consumer engagement strategies.
Key Responsibilities:
- Digital Channels: Contribute to B2C digital channels, including the BPme mobile app, global loyalty programs, web platforms, loyalty systems, and marketing technology.
- API Development: Design and manage APIs for marketing & loyalty platforms, supporting digital channels and marketing initiatives.
- Marketing Tools Management: Build and operate marketing tools for consumer segmentation, campaign management, and execution.
- Framework and Platform Development: Develop common frameworks and platforms (Digital Channels, Martech, Loyalty Platform) to enable new features and enhance consumer engagement globally.
About the Role:
We are seeking a highly skilled Senior Software Engineer with extensive full-stack development experience, particularly in launching global mobile applications. You will be a key member of the global technical team for iOS and Android development, driving improvements to our tech stack, and evolving our mobile architecture to unify and simplify our global codebase. Your contributions will be pivotal in setting new mobile development standards and optimizing cross-functional collaboration.
Technical Qualifications:
- iOS and Android Development: 7+ years of experience in 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: Experience in designing and implementing server-driven UI architectures, including concepts like proto buffers, JSON-based configuration, and schema-driven layouts.
- Mobile Architecture: Proven ability to design scalable and maintainable architectures (e.g., VIPER, MVVM, Clean Architecture), with a strong understanding of dependency injection, modularization, and codebase simplification.
- Testing & Quality: Experience with TDD/BDD, XCTest, continuous integration (CI), and creating robust unit, integration, and UI tests.
- Tech Stack Optimisation: Ability to assess, evolve, and implement tools, frameworks, and patterns for efficiency, scalability, and maintainability.
- Backend Development: 7+ years in backend development, with 3+ years of advanced proficiency in Golang and gRPC. Understanding of RESTful APIs, gRPC, microservices architecture, and event-driven design.
- AWS Cloud Architecture: Experience designing and scaling backend services on AWS (EC2, Lambda, S3, RDS, CloudFront) and proficiency in infrastructure-as-code tools (AWS CDK, CloudFormation).
- Distributed Systems: Experience with distributed systems patterns and challenges in high availability, multi-region, and low-latency applications.
- Shared Codebase Management: Demonstrated experience unifying backend codebases, eliminating redundancy, and promoting code reuse through modular architecture.
- Component Library & Server-Driven UI: Understanding of server-driven UI design patterns and experience implementing shared page and component libraries.
- Security Best Practices: Expertise in backend security protocols, data encryption, secure authentication, and access control.
- Code Quality & Testing: Proficient in writing clean, maintainable code with strong test coverage and experience with Azure DevOps CI/CD pipelines.
- Monitoring and Optimisation: Familiarity with performance monitoring tools (e.g., Prometheus, Grafana, AWS CloudWatch).
Responsibilities:
- Provide technical leadership for iOS and Android development in a server-driven UI context.
- Continuously improve and evolve the iOS and Android tech stack.
- Streamline and unify the global iOS and Android codebase.
- Lead the development of a strong testing strategy.
- Mentor junior developers and foster a culture of innovation.
- Collaborate with cross-functional teams to design and implement features.
- Optimize the server-driven UI backend architecture for maintainability, performance, and scalability.
- Unify and simplify the shared backend codebase.
- Contribute to a shared page and component library.
- 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, establishing CI/CD processes.
- Continuously analyze and improve backend performance.
- Engage with front-end, mobile, and product teams for seamless development.
Success Metrics:
- Effective execution of the technical roadmap for server-driven UI solutions.
- Measurable reduction in code duplication and improved modularization.
- Consistently high testing coverage and a low defect rate.
- Maintenance and enhancement of a unified iOS and Android architecture.
- Observable growth in the skills and knowledge of the development team.
Work Environment:
- Work location: Pune, India.
- Negligible travel is expected.
- Relocation assistance is available within the country.
- This position is not available for remote working.
Skills:
- Design
- Environment
- Integration
- Mobile Applications
- User Interfaces (UI)
BP is an equal opportunity employer committed to diversity and inclusion. They offer reasonable accommodations for individuals with disabilities throughout the application and employment process.
Company
BP
BP is a global energy business committed to reimagining energy for people and our planet. By 2030, BP aims to be a significantly different energy company, contributing to the world's net-zero goals an...