We are looking for a senior backend engineer to help up build our platform to handle payments on a global scale. You will primarily work with Ruby, building out features using Ruby on Rails. As we’re still scaling our front-end team, you may be asked occasionally to work on front-end tasks as well.
As a senior engineer, you will need to work with our product managers to define requirements and convert that into a usable architecture, and then implement them in code. You will also provide constructive feedback through code reviews, as well as architecture discussions. As hiring and supporting new developers is important to us, you will be expected to be able to mentor junior developers, and work with them to improve their core skills.
Our ideal candidate has experience working with large web applications. They will know how to build reliable, scalable, and performant web applications. Testing and code quality are also extremely important to us, so having a strong knowledge of testing and the different testing types is required.
Responsibilities
- Build backend systems using Ruby on Rails stack
- Understand product goals and feature requests and translate them into working software
- Lead large technical projects from design through implementation and delivery
- Support team members through code review and architecture discussions
- Ensure high-quality, reliable software - including thorough testing, proactive monitoring, observability, and continuous improvement
- Identify high-leverage refactoring opportunities that improve team velocity, code clarity, and long-term maintainability
Requirements
- Experience with building performant and scalable APIs
- Solid understanding of database performance characteristics and data access patterns
- Ability to design data models and system architectures spanning multiple data stores (experience working with OLAP and OLTP databases)
- Hands-on experience with observability practices, including metrics, logging and tracing
- Strong technical communication skills - including the ability to document designs and decisions clearly and concisely
- Experience with integrating with third party APIs in a secure and fault-tolerant manner
- Experience and understanding of common web vulnerabilities and how to mitigate them
- Strong understanding of software architecture, design patterns and best practices
Nice to haves
While not specifically required, tell us if you have any of the following.
- Experience with TypeScript, Vue.js and/or React
- Experience with payments or payment systems
- Business-level spoken Japanese