Full Stack Engineer (GraphQL)
Posted on Thursday, October 12, 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 Full Stack Engineer to come join our global business.
Reporting to an Engineering Manager, and working with our apps team within a tribe, you will be accountable for designing and developing APIs that support our Marketplace Native Apps and coordinating feature/API development with the rest of the tribe & other tribes.
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 & document GraphQL schema to be used by 3 consumers (iOS, Android, and Web)
- Build & maintain efficient and developer-friendly APIs
- Own the uptime & monitoring of our team-owned services, including our GQL API gateway
- Identify bottlenecks and bugs, and devise solutions to these problems
- Be involved in all stages of building products from inception, through delivery and beyond
- Contribute to a healthy engineering culture of feedback and growth
- Help & support engineers from other teams in building & adopting GraphQL, including schema design & client implementation
- API Gateway written in Typescript using Yoga
- Clients in Swift, Kotlin, and NextJS
- RESTful and gRPC APIs for cross-service comms
- Kafka as an event bus
- Redis as a distributed cache
- Postgres as our database
- Elixir/Ruby/Typescript for all of our services
- Kubernetes on AWS for deployment
- Github Actions & Argo for CI/CD
Skills and experience required
- Commercial experience using and developing GraphQL APIs
- Experience in writing SPAs, especially with React
- Ability to write easy-to-understand high-standard documentation
- Strong communication skills, ability to self-organise and work well within teams
- Comfortable working in a fast-paced and changing environment
Flexi-time (around core hours)
Competitive salaries & RSUs
Pension plan (5% self + 3% company contribution)
25 days PTO
Weekly office lunches (Fridays)
Travel coverage when visiting teammates - through workshops and social events
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