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.
Interview Process
- Screen Stage - Video-call with a member from the Talent Team (45-60min)
- 1st Stage - Technical video/In-person interview with the team (60min)
- 2nd Stage - Technical Video/In-person interview with Team (up to 2.5hrs)
- Final Stage - Video interview with Head of Engineering / VP of Engineering (60min)
Top Skills
What We Do
Fresha is the world's largest and top-rated booking platform for Beauty and Wellness trusted by millions of consumers worldwide. Fresha is used by 70,000+ businesses and 300,000+ professionals worldwide, processing over 20mil appointments per month. Fresha is headquartered in London, United Kingdom with global offices located in New York City, Vancouver, Sydney, Dublin, Amsterdam , Dubai and Warsaw. The company raised $185M in venture capital funding to date from leading institutional investors.
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 its intuitive 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.








