Commitment: Full-time
Location: Warsaw
Work type: Onsite
About Fresha
Fresha is the leading marketplace platform for beauty & wellness, trusted by millions of consumers and businesses worldwide. Fresha is used by over 120,000 businesses and 450,000 stylists and professionals globally, processing over 1 billion appointments to date. Headquartered in London, UK, Fresha has 12 global offices across North America, EMEA, and APAC.
Fresha enables consumers to discover, book, and pay for beauty and wellness appointments. For businesses and professionals, Fresha offers an all-in-one, subscription-free platform for managing operations, including appointment bookings, point-of-sale, customer records, marketing automation, loyalty programs, inventory management, and team management.
The consumer marketplace boosts partner business revenue through online bookings and automated marketing, integrating with platforms like Instagram, Facebook, and Google.
Role Overview
Fresha is seeking an exceptional Senior Front-End Engineer to join our global team. You will work collaboratively in a cross-functional product team within a tribe, responsible for designing and developing applications. You'll coordinate with team members working on different layers of Fresha's infrastructure.
This role is ideal for individuals who thrive in a fast-paced, dynamic environment, enjoy working autonomously, embrace challenges, and are driven to make an impact.
To foster collaboration and teamwork, all Fresha employees work from the office four days per week. Our Warsaw office is located at Aleje Jerozolimskie 81, 02-001 Warsaw, Poland.
What You Will Be Doing:
-
SDLC: Design, build, and maintain efficient, reusable, and reliable React code.
-
Performance: Ensure optimal performance, quality, and responsiveness of applications.
-
Problem-solving: Identify bottlenecks and bugs, and devise effective solutions.
-
Quality: Maintain high code quality, organization, and automation.
-
Lifecycle: Participate in all stages of product development, from inception to delivery and beyond.
-
Architecture: Contribute to shaping the future of our architecture and best practices.
-
Culture: Foster a healthy engineering culture of feedback and growth.
Additional and Ad-hoc Duties:
-
Integration: Familiarity with continuous integration.
-
Tooling: Familiarity with development aiding tools.
-
Database: Ability to create database schemas that represent and support business processes.
-
Technologies: Familiarity with TypeScript, Cordova, Native development for Android and/or iOS, RAIL Performance, PWA, SSR, Node, Cypress, and Jest.
-
Full Stack: Full-stack experience (Ruby or Elixir experience is a plus).
This list is not exhaustive and may include other responsibilities.
What We Are Looking For:
-
SPA: Proven experience in writing complex JavaScript Single Page Applications (SPAs).
-
React/Redux: Proven experience with React and Redux.
-
Toolchain: Proven experience with a modern JS toolchain (NPM, Lerna, Webpack, ESLint, etc.).
-
Maintainability: A passion for writing well-structured, easily maintainable, and well-documented code that balances beauty and pragmatism.
-
Delivery: Ability to plan and deliver small engineering projects.
-
Creativity: Creative thinking and a problem-solving mindset.
-
Communication: Ability to interact effectively with people across the business, build strong relationships, and influence upwards.
-
Teamwork: A team player, willing to assist the team when needed.
-
Proactive: Self-starter with a proactive approach.
-
Adaptability: Comfortable working in a fast-paced and changing environment.
Interview Process:
-
Screen Call: Video call with a member from the Talent Team (30-60 minutes).
-
1st Stage: Technical Video call/In-person interview with our Engineers (up to 60 minutes).
-
Tech Stage: Technical Video call/In-person interview with our Engineers (up to 2 hours).
-
Final Stage: Video call/In-person meet with our CTO (up to 60 minutes).
We aim to complete the entire interview process and provide feedback within 4 weeks. All applications are reviewed manually, and while we aim to respond within 7 days, high volumes may occasionally extend this timeframe.