We are looking for a Senior Software Engineer to work on the Mobile application Service Layer (Backend for Frontend) that will be used by tens of millions of cardholders around the world. We want someone with strong technical skills and creativity. You should enjoy solving tough problems and working with modern technologies, be comfortable sharing your ideas and be obsessive about user experience and beautiful code. You will be part of the Mobile Engineering team whose mandate is to develop new products and platforms for the customers, building interactive experiences at all touch points of a consumer's journey whether before, at, or after the time of purchase.
Responsibilities
- Build server-side applications consumed by award-winning mobile apps
- Write, refactor and delete code to maintain a clean codebase
- Develop and maintain the "Backend for Frontend" API layer
- Fix bugs and handle legacy code
- Collaborate with engineers, product people, designers and QA in a large team
- Design solutions for open-ended problems
- Integrate with bespoke, hand-crafted backend services
- Perform performance analysis and optimization
- Write unit tests to ensure code quality
- Work with asynchronous code
Requirements
- 5 to 8 years of relevant working experience
- Background in building server-side applications and writing, refactoring and deleting code
- Proficiency in Kotlin and Gradle
- Expertise in REST, GQL and RAML
- Skills in build tools and Continuous Integration
- Competency in fixing bugs, handling legacy code and writing unit tests
- Understanding of asynchronous code, performance analysis and optimization
- Familiarity with Open Source
- Capability to work in a team and be self-starting
- Bachelor's degree in computer science or related field, or equivalent experience