Software Engineer |||
Boku
Boku Inc. (BOKU.L) is the leading global provider of local mobile-first payments solutions. Global brands including Amazon, DAZN, Meta, Google, Microsoft, Netflix, Sony, Spotify, and Tencent rely on Boku to reach millions of new paying consumers who do not use credit cards with our purpose-built payment network of more than 300 local payment methods across 70+ countries. Every year, Boku processes over $10 billion in value for our customers. Incorporated in 2008, Boku is headquartered in London and San Francisco and has employees in over 39 countries around the world, including Brazil, China, Estonia, Germany, Ireland, Japan, Singapore, and the UAE. Boku is a truly global company that takes pride in its diversity and thriving equal opportunity workplace.
Role Purpose:
We are looking for an experienced Full Stack Software Engineer to join our dynamic development team. The ideal candidate will possess strong expertise in modern frontend frameworks as well as Java backend development, and have a passion for creating scalable, high-performance web applications. This position provides an opportunity to work across the entire technology stack and to contribute to architectural decisions that propel our product forward.
This role is specifically for the Tools team, whose primary objective is to enhance Boku's operational efficiency by developing tools and tooling platforms for other teams. The main stakeholders for these tools and platforms will be engineering teams, while a few operational teams at Boku will serve as secondary stakeholders.
As part of this role, you will face the challenge of building end-to-end platforms and libraries that will enable the development of future scalable applications at Boku. We are looking to onboard a full stack developer who has experience in building applications with UI technologies.
Key Responsibilities:
Frontend Development
- Work primarily with Angular for new projects and feature development
- Maintain and enhance existing applications built with Vue.js and Angular
- Collaborate with UX/UI designers to implement pixel-perfect designs
- Implement state management solutions and optimize frontend performance
- Develop and maintain frontend unit tests and integration tests
Backend Development
- Design, develop, and maintain robust Java-based applications using Spring MVC
- Build and optimize RESTful APIs and microservices architectures
- Implement security best practices including authentication, authorization, and data protection
- Design and work with relational databases (MySQL, PostgreSQL, Oracle) including complex schema design
- Implement caching strategies and performance optimizations
- Write comprehensive unit tests and perform thorough development testing
System Design & Architecture
- An ability to think through stakeholder’s pain points and requirements and to come up with a simple, elegant solution.
- Design scalable, distributed systems and microservices architectures
- Create system architecture diagrams and technical specifications
- Participate in architectural discussions and technical decision-making
- Design for high availability, performance, and fault tolerance
- Plan system scalability and capacity requirements
- Architect end-to-end solutions that seamlessly integrate frontend and backend systems
- Handle data flow and API integration between frontend and backend services
- Optimize application performance across the full stack
- Implement monitoring, logging, and error handling strategies
Other Responsibilities
- Work hands-on with a highly skilled team of Engineers and Product Managers to ideate, build, and improve Boku’s tooling platform.
- Participate in all phases of the software development lifecycle, including design, development, testing and release.
- Mentors and coaches’ other engineers and conduct code reviews
- Contribute to technical documentation and best practices
- Collaborate with DevOps teams on deployment and infrastructure decisions
- Own the products that you build, become the domain expert, and be actively involved in strategic direction and product decisions.
- Sharing knowledge and drive best practices in frontend web development across the Engineering teams by giving brown bags, writing article, etc.
Key Skills and Competencies:
- Solid experience with at least one modern frontend framework (Angular or React)
- Strong expertise in Java or other OOP languages with deep understanding of object-oriented programming principles.
- Strong software design and architecture skills
- Ability to work collaboratively and effectively with cross-functional teams: Product Management, Quality Assurance, Technical project managers, Merchant support, etc.
- Excellent written and verbal communication skills to document and explain technical design, best practices, and integration guide to both technical and non-technical audiences.
- Experience building products that are hosted in the cloud (AWS, GCP, Azure etc).
- Strong JavaScript, HTML5, and CSS3 skills
- Extensive experience with Spring Framework, including Spring MVC and/or Spring Boot
- Strong expertise in relational databases (MySQL, PostgreSQL, Oracle)
- Experience with testing frameworks (JUnit, Jest, Cypress)
- Experience with RESTful API design and implementation
- Experience with some (or all) of the following technologies/frameworks/tools: JMS, JPA/Hibernate, Jersey, Jetty, Kubernetes
- Experience using agile methodologies and tools
- Experience with microservice architecture
- Experience with cloud platforms (AWS, Azure, GCP) and containerization technologies (Docker, Kubernetes)
- Understanding of version control systems (Git)
- Knowledge of build tools (Maven, Gradle) and frontend build processes (Webpack, Vite)
- Collaborate closely with QA team to develop effective test cases and provide support with technical expertise during QA testing
- Strong problem-solving and analytical thinking abilities
- Excellent communication skills and ability to work in a collaborative team environment
- Self-motivated with ability to work independently and manage multiple priorities
- Willingness to learn new technologies and adapt to changing requirements
- Strong attention to detail and commitment to code quality
Qualifications:
- 7+ years of professional software development experience
- Bachelor’s degree or equivalent in Computer Science Engineering or Information
Technology