Senior Backend Developer

Engineering – Money /
Full-time /
About Fresha

Fresha is the leading marketplace platform for beauty & wellness trusted by millions of consumers and businesses worldwide.

Fresha is used by 110,000+ businesses and 450,000+ stylists and professionals worldwide, processing over 1 billion appointments to date

The company is headquartered in London, United Kingdom, with global offices located in New York City, Vancouver, Sydney, Dubai, Riyadh, Amsterdam, Warsaw and Pristina.

Fresha allows consumers to discover, book and pay for beauty and wellness appointments with local businesses via its marketplace, while beauty and wellness businesses and professionals use an all-in-one platform to manage their entire operations with an intuitive subscription-free business software and financial technology solutions.

Fresha’s ecosystem gives merchants everything they need to run their business seamlessly by facilitating appointment bookings, point-of-sale, customer records management, marketing automation, loyalty, beauty products inventory and team management.

The consumer marketplace unlocks revenue potential for partner businesses by leveraging the power of online bookings and automated marketing through mobile apps and advanced integrations with major tech brands including Instagram, Facebook and Google.

Role Overview

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 autonomouslyenjoys a challenge and wants to make an impact!

To foster a collaborative environment that thrives on face-to-face interactions and teamwork, all Fresha employees work from the office four days per week, with the flexibility to work remotely one day each week. London office: WeWork, 15th flr, 10 York Rd, London SE1 7ND

What you will be doing

    • Language - Design, build, and maintain efficient, reusable, and reliable Ruby/Elixir code
    • Polyglot - All our services are built-in Ruby, Elixir, GraphQL federation or Typescript, depending on which language best suits the solution
    • Messaging - For communication, we use Kafka for events and gRPC or JSON for synchronous calls.
    • Kubernetes - All our services run in Kubernetes.
    • Migration - We are in the process of switching away from our Ruby monolith to a brand-new microservice architecture.
    • DDD - 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.
    • Performance - Ensure the best possible performance, quality, and responsiveness of the applications
    • Troubleshoot - Identify bottlenecks and bugs, and devise solutions to these problems
    • Organisation - Help maintain code quality, organization, and automation
    • SDLC - Be involved in all stages of building products from inception, through delivery and beyond
    • Innovate - Help to shape the future of our architecture and best practices
    • Culture - Contribute to a healthy engineering culture of feedback and growth

What we are looking for

    • Technologies - Strong understanding of languages such as Elixir, Ruby, GraphQL or TypeScript
    • Distributed Systems - You understand how to build, deploy and maintain a globally distributed system.
    • Event-driven architecture - Knowledge of event-driven systems and tools/protocols like Kafka, and gRPC will be a plus.
    • Experience - Have experience (~3+ years) working on internal product engineering teams, developer tools, developer productivity or infrastructure products at scale.
    • Adaptable - Are a generalist engineer with an ability to pick up new frameworks quickly and willing to work across the stack.
    • Inquisitive - Enjoy understanding technical domains deeply and are willing to really get into the weeds
    • Pragmatic - 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 value passion and potential as much as specific skills. If you're enthusiastic and eager to learn, we encourage you to apply, even if you don't meet every listed requirement. We believe in fostering growth and providing the support needed for you to excel in your role.

Interview Process

    • Screen Call - Video-call with a member from the Talent Team (45-60 min)
    • 1st Stage - Video/In-person interview with Hiring Manager (60 min)
    • 2nd Stage - Technical video/In-person interview with our Engineers (up to 2.5hrs)
    • Final Stage - 30 minute meeting with our CTO

    • We aim to complete the entire interview process and deliver feedback within 4 weeks. 

      Every job application received is reviewed manually by our talent team. While we strive to assess applications within 7 days, the sheer volume of talented individuals expressing interest may occasionally extend this timeframe
Inclusive workforce

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.