Back End Engineer at tomato payPosted on: 05/04/2021
Tags: grpc ecs nosql serverless cassandra embedded python nodejs dynamodb fargate terraform kafka aws graphql gitlab
tomato pay is a simple, QR-code based payments and invoice app used by businesses and sole traders who want to receive payments in a fairer, cheaper and more ethical way. Businesses and sole traders can benefit from our low-cost QR-code payments solution with no hidden fees, which saves them money compared to their current payment systems, gives them instant access to their money as cash settlement happens almost immediately, and access to all of their bank accounts in one place. Businesses and sole traders can benefit from our quick and easy invoice solution. Invoices can be created within the app, with the option to give discounts and late penalties (pre-built into the app using gamification and behavioural science) and send nudges to remind customers and clients to pay. Plus, as you connect your bank account, payments are embedded within the app - so no need to give your bank details, and receive money owed instantly into your account. Everyone can support their local communities thrive by paying their neighbourhood businesses in a cashless, hassle-free way. We are looking for a talented Senior Engineer who has a strong background in backend development, who can confidently integrate APIs and who has experience in DevOps. The ideal person will join our Engineering team and help develop the technology and tools to power the next step of our journey. You will work closely with the Product and Engineering teams to define software requirements and take the lead on operational and technical projects. This is a varied role where you’ll work on everything from architecting new features, to performance optimisation. It’s an opportunity to join a fast-growing startup at an early stage, build impactful products with a high degree of influence, and change the current financial industry. In this role, you should be able to work independently with little supervision. You should have excellent organisational, communication and problem-solving skills. This will involve building out banking and payments solutions. **Responsibilities** * Design, implement, test, and deploy high-performance backend microservices * Champion and implement development best practices to ensure that the code is of a high quality, well-tested, scalable and secure * Effectively write and discuss technical design documents with Engineering and Product * Own technical decisions and maintain high standards within a fast-paced, iterative environment * Develop tools that improve a developer’s experience and velocity; our CI/CD pipeline is based on GitLab * Work with peers on the Engineering team, review code and help others improve * Collaborate closely with the Product, Design and Engineering teams by participating in daily standups, sprint planning and acceptance testing **Technology Stack** * Java, Python, NodeJs * AWS - API Gateway, ECS Fargate, DynamoDB * Serverless & Terraform deployments * Kafka, events, gRPC microservices #### Requirements * At least 6 years of experience with Java (Python would be a bonus). * Hands-on DevOps experience with AWS infrastructure and micro-services. * Solid foundation in designing and developing scalable APIs. * Experience with NoSQL databases (we use Dynamo, Cassandra). * Solid understanding of REST, gRPC and ideally also GraphQL. * Strong computer science and engineering fundamentals including concurrency, multithreading, data structures, solution design, architecture, and design patterns. * Experience with widely successful Agile techniques: User Story, TDD, Continuous Integration, Continuous Testing, Pairing. * A Bachelor's, Masters, or Ph.D. in Computer Science, Information Technology, Computer Engineering or a related field. #### Benefits * 25 days / year holiday * Employee share options * Usual working hours (9.00 - 18.00) * Core working hours are (11:00 - 15:00) * Pension scheme * Free barista made coffees, beer, cider, prosecco, and social evenings. * Secure cycle parking and showers If you do not already hold the right to work in the UK and/or require sponsorship in order to continue working here, you should think carefully before applying. This is because we will be unable to sponsor you unless there is no other suitably qualified settled worker available to fill the role or your current immigration status means that the resident labour market test will not apply in your case.