Senior Backend Developer
Posted on Wednesday, September 27, 2023
Fresha is the only subscription-free appointment booking software for beauty and wellness businesses.
Available in 120+ countries worldwide, used by 100,000+ businesses and 450,000+ professionals worldwide. Over 800 million appointments have been booked through Fresha to date.
Salon, barbershop and beauty professionals can use the platform to manage their entire operations with intuitive software and financial technology solutions. Fresha has zero monthly fees with optional paid features, including card payment processing.
The Fresha ecosystem gives beauty and wellness professionals everything they need to run their businesses seamlessly by facilitating appointment bookings, point-of-sale, customer records management, marketing automation, loyalty, product inventory, and team management, all in one place.
Fresha also allows consumers to discover, book and pay for beauty and wellness appointments with local businesses via its marketplace.
Fresha is headquartered in London, United Kingdom, with global offices in New York City, Vancouver, Sydney, Dublin, Amsterdam, and Warsaw. The company raised $185M in venture capital funding to date from leading institutional investors
Given our exciting and progressive growth plans, we are looking for an exceptional Senior Back-End Engineer to come join our global business.
Reporting directly to the Engineering Manager, and working collaboratively in a cross-functional product team within a tribe, you will be accountable for designing and developing applications and coordinating with the rest of the team working on different layers of the infrastructure Fresha.
This is a great opportunity for someone looking to work in a fast-paced and changing environment, who likes to work autonomously, enjoys a challenge and wants to make an impact!
- Design, build, and maintain efficient, reusable, and reliable Ruby/ Elixir code
- All our services are built-in Ruby, Elixir, GraphQL federation or Typescript, depending on which language best suits the solution
- For communication, we use Kafka for events and gRPC or JSON for synchronous calls.
- All our services run in Kubernetes.
- We are in the process of switching away from our Ruby monolith to a brand-new microservice architecture.
- Domain-driven design is at the heart of our development process, we like to build fast but think about the bounded context before we start.
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automation
- Be involved in all stages of building products from inception, through delivery and beyond
- Help to shape the future of our architecture and best practices
- Contribute to a healthy engineering culture of feedback and growth
This list is not exhaustive and there may be other activities you are required to deliver.
Skills, experience & qualifications required
- You understand how to build, deploy and maintain a globally distributed system.
- Knowledge of event-driven systems and tools/protocols like Kafka, and gRPC will be a plus.
- Have experience (~3+ years) working on internal product engineering teams, developer tools, developer productivity or infrastructure products at scale.
- Are a generalist engineer with an ability to pick up new frameworks quickly and willing to work across the stack.
- Enjoy understanding technical domains deeply and are willing to really get into the weeds
- You’re tech stack agnostic and care more about using the right tech for the job. Ideally, you have worked with 3+ different flavors, functional, OO and scripting languages.
At Fresha, we are creating a culture where individuals of all backgrounds feel comfortable.
We want all Fresha people to feel included and truly empowered to contribute fully to our vision and goals. Everyone who applies will receive fair consideration for employment.
We do not discriminate based on race, colour, religion, sex, sexual orientation, age, marital status, gender identity, national origin, disability, or any other applicable legally protected characteristics in the location in which the candidate is applying.
If you have any accessibility requirements that would make you more comfortable during the interview process and/or once you join, please let us know so that we can support you.
If we don't respond to your application within 7 days, please assume your application has been unsuccessful