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 12 global offices located across
North America, EMEA and
APAC.
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
Fresha is seeking an experienced Senior Software Engineer, preferably with a background or hands-on in software development, whether at work or on side projects, to join our Platform Engineering Team (Developer Experience). You will be helping to push our platform and engineering department to the next phase, ensuring engineers have the best internal tools, local developer experience and necessary resources to work more efficiently and continue to deliver industry-leading features to our growing platform.
Fresha Developer Experience Team's North Star Is To "continually Move The Needle For Engineers", Ensuring We Always Take The Proper Steps To Prioritise Their Needs And Ability To Reach Their Optimal Velocity While Optimising Our Budgets And Keeping Our Costs Flexible To Meet Business Objectives. We Achieve This By The Following
- Provide a "living" local development experience (LDE) - we regularly listen to engineers' feedback to understand their needs and see which areas of our LDE can be optimised and act accordingly, trialling revisions on a smaller scale before globally rolling it out to other services.
- Achieve transparency through communication and regular feedback - we push for innovative ways to ensure we maximise collaboration and communication.
- Giving engineers the "keys" to their services/ infrastructure - simply put, we believe engineers must feel empowered to deliver their desired service.
- We must continually push solutions to allow engineers to hit the floor running as soon as possible.
- Continually increase the value offered - By reducing cognitive load and technical debt while continuing to introduce and share standards and best practices, we can ensure that the value we deliver to our engineers will have a significant impact across various areas and services. This will allow for consistent familiarity for all engineers, regardless of their domain or tenure at our company.
- Give engineers autonomy - We ensure that the solutions we implement are autonomy-first and allow engineers to be accountable for how they use/leverage said solution.
- Reduce silos where possible ; knowledge should be documented and shared. As we believe you should be free to explore the technology and tools used, we are also responsible for educating our colleagues accordingly
As a Senior Platform Engineer, we want you to be a driving force in improving how our platform and its services are developed. Regardless of the stage in its lifecycle, we want to ensure that we offer engineers the right solution for the job that will make the Fresha engineering department better than yesterday and industry-leading. Like most incredible teams in history, we strive to achieve this with strong collaboration and communication (with our engineers).
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 address: WeWork, 10 York Road, London SE1 7ND
Tech Stack
- Docker in production and local development
- Taskfile automation tool of choice
- AWS EKS
- Kafka for our asynchronous message queues
- Elixir for our new backend services
- NextJS/Typescript for our new frontend services
- Ruby, NestJS for some legacy services
- RDS PostgreSQL for persistent data storage
- GitHub Action as CI tool of choice
- Jenkins & Argo Workflow for legacy pipelines
- Redis for key/value store
- Terraform for resource management
What You'll Do
- Automation - Seek out processes that can be improved with automation and have internal Developer Experience as the main driver.
- Autonomy - Effectively scope and lead projects autonomously.
- Development Experience - Extend our local development experience offerings for engineers
- Incident Management - Handle incidents with staging environments as if they were production
- Knowledge Sharing - Enrich knowledge across the department by creating Documentation, SOPs, Runbooks and fascinating knowledge-sharing sessions
- Monitoring & Observability - Extend Monitoring & Observability capabilities. Simplifying the process for engineers to access this data
- Collaboration - Collaborate and enable engineers to do their jobs more efficiently
- Engineering Efficiency - Developing tools to maximise engineering efficiency, such as automating the rollback of deployed applications.
- GitOps - Be an advocate of the GitOps methodology.
- Developer Experience Metrics - Assist with defining metrics that we can utilise to assess our internal Developer Experience
This list is not exhaustive and there may be other activities you are required to deliver.
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.
We'd love to hear from you if you
- Software Development - Have experience in software development
- Microservices - Have experience working with microservices and distributed systems at scale
- Cross-Team Projects - Have experience with working on cross-team projects
- AWS - Have AWS experience, we use EKS, RDS, S3, Cloudfront and MSK excessively
- SLIs/SLOs/SLAs - Have an understanding of SLIs, SLOs & SLAs
- Networking & Linux - Knowledge of platform and ops concepts such as networking and Linux administration
- CI Tools - Experience with CI tools: we use GitHub Action, Argo Workflows and Jenkins
- Monitoring Tools - Experience with monitoring tools: we use Datadog, Grafana, ELK, Sentry and OpsGenie.
Interview Process
- Screen Stage - Video call with a member from the Talent Team (45-60m)
- 1st Stage - Video call/In-person interview with Hiring Manager (60m)
- 2nd Stage (Technical) - Video call/In-person interview with the Hiring Team (up to 2.5h )
- Final Stage - Video call meet with CTO - 60 minutes
We aim to finalise 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.