We are looking for a backend engineer to help us build our platform to handle payments on a global scale. You will primarily work with Ruby, building out features using Ruby on Rails (90% of tasks). As we’re still scaling our front-end team, you may be asked occasionally to work on front-end tasks as well (Less than 5% of tasks). As well as this there will be tasks related to Monitoring, Observability etc. which uses Terraform and DataDog (< 5%).
Typical tasks include adding new APIs for Front-end Interfaces in our Ruby on Rails application for customers to use, investigating bugs with our partners to ensure customer payments go through smoothly, and improving our systems’ reliability and observability to ensure better better health using Terraform.
You will work with our product managers and critically evaluate requirements then implement those requirements in code. You will also work with your fellow developers and provide constructive feedback through code reviews, look at refactoring opportunities, and helping improve the codebase. You will receive mentoring support from managers and senior developers to help develop your skills as realizing growth potential is a key goal.
Our ideal candidate has experience working with large web applications. They will know how to build reliable 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
- Work on large technical projects from design through implementation and delivery as part of a team
- Ensure high-quality, reliable software - including thorough testing.
Requirements
- Strong experience building backend systems using Ruby on Rails in production environments (We prefer Ruby experience, but candidates with solid experience in other backend web frameworks are also welcome.)
- Experience building scalable and performant web applications.
- Solid understanding of relational databases and SQL
- Ability to design data models and system architectures.
- Strong technical communication skills - including the ability to document decisions clearly and concisely
- Experience and understanding of common web vulnerabilities and how to mitigate them
- 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, or React
- Experience with payments or payment systems
- Experience with integrating with third party APIs in a secure and fault-tolerant manner
- Understanding of database performance characteristics and data access patterns
- Familiarity with Monitoring and Observability techniques and platforms such as DataDog.