We are seeking a backend engineer to lead the development of a service that continuously and rapidly enhances value through technology selection, architecture design, and application development in our core business of inter-company post-payment services. The goal is to create a service that allows client companies to conduct transactions with peace of mind.
The mission includes solving the challenges faced by current client companies and developing features to address obstacles for companies planning to implement the service.
Development Methodology
We use Scrum methodology for development, focusing on creating prototypes with chosen architectures and technologies rather than spending too much time on planning. With this, we aim for small, frequent releases.
Our one-week sprints incorporate GitOps for faster delivery, enabling release cycles at the PR level.
Since we handle financial transactions, it’s crucial to ensure the service functions correctly, not just adequately. Development must consider handling errors, retry methods, and responses to issues.
Technology Stack
The technology stack we use includes the following. While these are not mandatory skills at the time of application, you will be expected to work using these technologies.
- Languages: Go, TypeScript
- Frameworks: Nuxt.js, Remix, Nest.js, gRPC, GraphQL, OpenAPI Specification (Swagger)
- Databases: MySQL, BigQuery, Datastore
- Middleware: Docker, Kubernetes, Envoy, Kong, OpenCensus/OpenTelemetry
- Cloud Infrastructure/Services: GKE, Cloud Run, Cloud Functions, Cloud Storage, Cloud Pub/Sub, Cloud Operations, Firebase Authentication, SendGrid, Datadog, Sentry
- CI/CD: Cloud Build, Github Actions
We are using more microservices in our architecture, which means we focus on how different services communicate with each other. This approach involves solving typical issues related to microservices and distributed systems. Where the scalability is required, we use serverless architecture with Cloud Run.
Experience Gained
This position requires balancing the unique challenges of integrating “SaaS,” “BPO,” and “Fintech” into a cohesive application. As user demands, operational complexity, and evaluation challenges grow, we need someone who can tackle these high-level challenges and develop solutions effectively.
Additionally, the importance of addressing non-functional requirements is increasing. This includes eliminating security risks through continuous updates, managing the growing complexity of operations, and maintaining service boundaries as we expand our use of microservices and serverless architecture with Cloud Run for scalability.
This role offers the opportunity to engage with a wide range of challenges, not only technical but also related to our business and culture. We are looking for someone who can contribute to application development and help balance the elements of “SaaS,” “BPO,” and “Fintech.”
Responsibilities
Design the architecture, select technologies, implement, release, and continuously improve the service “Money Forward Kakebarai,” that is primarily operated on Google Cloud.
- Continuously find the challenges and reflect the changes into product features.
- Plan how the product will operate before development and communicate within the team.
- Create systems and operations that could quickly solve troubles
- Learn new technologies and share knowledge internally and externally.
- Enjoy learning and taking on challenges to solve problems together as a team.
By using the latest technology that is evolving everyday, we believe we can achieve more efficient and scalable product development.
New challenges are emerging, such as observability issues with serverless architecture and boundary problems as microservices expand. We would like to work with someone who anticipate and address these challenges, ensuring the product can continue operating smoothly.
Requirements
- Experience developing with a web application framework, regardless of language
- Experience developing applications using RDBMS
- Experience developing with Golang or an interest in Golang
- Experience operating services long-term using cloud platforms like AWS or GCP
- Experience using container technologies like Docker
- Business-level Japanese proficiency (equivalent to JLPT N1).
- Understand business domains and model problems.
- Strong sense for handling anomalies and detecting data inconsistency patterns, with a basic understanding of microservices and distributed systems.
- Understand the basics of agile development and test-driven development.
- Has eagerness to continuously learn and engage with new technologies.
- Can identify challenges independently and proactively involve others to move projects forward.
- Communicate effectively with various people internally and externally.
Nice to haves
While not specifically required, tell us if you have any of the following.
- Experience developing microservices
- Experience with working in an Agile/Scrum team
- Knowledge and experience in performance tuning for high-traffic services
- Experience in project management or team leadership
- Experience developing with React
- Experience developing AI or using AI tools
- Experience in AI development and/or experience in using AI tools to improve development processes.
- Money Forward recently announced our AI Strategy roadmap which focuses on improving AI-driven operational efficiencies, as well as integrating AI agents into our products to deliver better value to our users.
Compensation
5.5 to 10 million JPY annually.