Backend Engineer - Financial Integrations (mid/senior)

2024-05-01
Europe
Upflow
About UpflowUpflow revolutionizes the way B2B businesses get paid, unlocks owed cash reserves, and empowers B2B companies to grow better.Most modern, fast-growing companies are fully focused on sales growth and retention and struggle to maintain focus on cash collection. This leads to thousands of unpaid invoices, broken communications, outdated payment methods, and a negative customer experience. As a result, cash flow suffers, and growth is inhibited. Upflow is the modern collections hub that manages all data, analytics, communications and payments to improve cash flows.We are a product-led organization launched in 2018 and trusted by hundreds of companies across the US and EMEA, including Lattice, Front, Iziwork, ProductBoard, and more. We're also backed by leading investors (YCombinator, 9yards, eFounders) and top business angels from N26, Square, Mercury, Uber, and Netsuite.We're distributed across three continents and rapidly expanding. It's a perfect time to join if you're looking for an exciting personal growth opportunity and international experience.For more information, please visit our website www.upflow.io.About the teamThe Financial Integrations team is in charge of the repository of financial data that our application relies on to provide its functionality.To keep the data fresh & correct, we pull and push data from various accounting, billing, payment & CRM SaaS tools (Stripe, Netsuite, Quickbooks, Salesforce, Sage, …) through pipelines called “native integrations”. Each pipeline supports multiple types of synchronizations (full initial sync, incremental sync, etc…) thanks to a common synchronization engine that orchestrates units of work.These pipelines are a core component of our software product and we’ve implemented them in a flexible way so we can reuse the same code for every merchant plugged to the same 3rd party tool. This enables us to set up new merchants without any engineering involvement and eliminate time-consuming set-up projects. Treating integrations as a part of our Product also makes deploying a bug fix to all instances of an integration as easy as a CI/CD build.For merchants that have invoicing or accounting tools we don’t support yet or have in-house solutions, the team offers a public REST API that allows anyone to build an integration with us.What you will doAs a member of the team, you will build & maintain some or all ofour native integrations that pull, push & map data to & from 3rd party toolsthe synchronization engine (task queueing & workers, and the light framework we’ve built)our public REST APIYou will also investigate & resolve data issues & discrepancies that arise in such data-intensive systems.In your day-to-day, you can expect a mix of the following activities:Create a constant stream of PRs to make incremental improvements to our existing codebase both on the technical & functional front.Collaborate with other engineers by authoring and reviewing RFCs & PRs, slicing work into technical tasks, estimating tasks, etc.Participate in the champion rotation to triage, investigate, and resolve production & data issues detected by our tools or reported by the Customer Care teamCollaborate with product managers & engineers to define product solutions when we create new integrations, add entirely new features, …Work on performance or software architecture issues, balancing technical improvements with product & business needs(When you’re ready) Be in charge of epics : kick them off, break down the work, lead the implementation, handle surprises & risks, etc…Our current stack100% Typescript with Node.js+ExpressPostgres (as a datastore) and Redis & Bull (queues for asynchronous synchronization tasks)Monolith hosted on GCP + CloudFlareDatadog + Sentry for monitoring.Github Advanced Security for securityFull continuous delivery on CircleCI, with 10 deploys per day on average & 1000s of non-regression tests run on each buildNotion for documentationWe value working in small batches and keeping it simple so that we solve today’s problems.YouWe are seeking talented developers who thrive in a positive environment. If you’re naturally collaborative, self-driven, and comfortable discussing pragmatic solutions to a problem, the Financial Integrations team could be an excellent fit for you!Many backgrounds & experiences can be a good fit for this position: perhaps you are a Data Engineer interested in Fintech or maybe you’re a Backend Engineer who wants to grow in the area of Data? Whatever it is, you’ll likely have things to bring to the table and the chance to learn new things here since the team is at the crossroads of backend & data engineering.We regularly investigate data discrepancies and deal with 3rd party systems so the happiest engineers will be those who enjoy looking at details and who like the challenge of a, sometimes, complex problem. And, if you've worked on a complex codebase in the past and have experience evolving it incrementally to tame its complexity, you'll be even better equipped to contribute to the team's success.Since Upflow is a Fintech, you’ll be exposed to many parts of this ecosystem (Stripe payments, Payment gateways, financial analytics, etc). Although accounting knowledge isn't required, an interest in learning about this is important to have the motivation to acquire the domain knowledge.Why join Upflow? Best-in-class product in a massive market. Fast-moving environment - you will never stop learning and growing. Trusting environment - hands-off management style with a strong culture of ownership and autonomy. International environment - work with team members across Europe and the US. Top end offices in central Paris, with a strong remote culture. Some members of this team are in Nantes. Competitive salary package, and benefits (Alan coverage, Swile card for lunches, etc.)Recruitment ProcessScreening call with Philippe, VP of EngineeringAs your future manager, Philippe will give you a clearer view of what your day-to-day in the role will be and, then, dive into what you’ve done, what you enjoy and what you’re looking for. Come with questions, we’d love to help you see yourself working at Upflow.Technical test, reviewed by the teamA take-home test that shouldn’t take more than a few hours. Your submission should be both an illustration of how you code professionally and reflect what you understand matters in Engineering at Upflow. Don’t hesitate to ask questions if something isn’t clear.Technical interviewThomas, the team's Engineering Lead, and Jean-Christophe, our Principal Engineer, will debrief your technical test in the first part of this interview and, then, dive deeper into your expertise, know-how, and your philosophy. Be sure to ask questions to get a better sense of the tech at Upflow, how we use it as well as our engineering culture.Meet the team!You’ll meet Sandeep, Software Engineer, and Xavier, Product Manager, and discuss how you would fit at Upflow. This would be a great time to ask questions about the day-to-day or the team culture.