Software Developer/ Engineer/ Architect

Senior Software Engineer - Phorest Pay - Remote

Would you like to help to create the future of a product used by thousands of businesses and millions of consumers? Phorest Salon Software powers over 8,500 hair and beauty salons in the UK, Ireland, Germany, Australia, Finland, the USA and Canada and the platform processes 7 million appointments a month for hair and beauty consumers.

Our system touches every point of the salon experience - from the in-salon software appointment calendar and CRM with a fully integrated marketing suite, to staff apps to payments. We are also the window through which the salon provides their end customer with an amazing experience through custom native apps, eCommerce and online bookings. Why? Because we want to help salons find their dream clients and get them back more often and spending more.

Phorest is the number 1 salon software brand for premium independent salons in those markets and one of our next goals is to allow our customers to easily receive payment from their clients using our software.

The Opportunity

Over the last 18 months we have taken significant steps to integrate our product into the payments space. Our goal is to ensure Phorest can facilitate any type of financial transaction that occurs between our salons and their end customers. This is a technically complex and challenging domain, and one which has a huge potential impact on the future of the company. We’re really only just getting started, and we have lots of exciting ideas around payments that we want to bring to our product. 

You will join a small group of highly skilled engineers as a Senior Software Engineer in building exciting new features and extending our platform. Given we are a small product group, you will have freedom and control to shape our product vision without bureaucracy or politics.

You will be working on a large distributed system (event-driven and restful services running on Docker and Serverless) solving complex problems in an environment where we look to continuously improve and learn. We work with feature flags and continuous delivery to ensure our work gets to production as fast and safely as possible.

What you’ll do

You will be challenged with ambiguous and complex technical problems. You will work with the other engineers, product managers and designers in your team to engineer solutions which solve those problems, and will own the delivery of those solutions.

In addition to building solutions yourself, you will support your team lead by helping to plan and coordinate the work needed to solve a given problem amongst other members of the team. You will support the team in its delivery of the solution and clearly communicate progress. 

You will act as a role model to others on your team. You will demonstrate to them what good looks like by embodying the company’s engineering values and principles in everything that you do. 

You will be hands-on for the majority of your time, taking full ownership of the delivery of work to the customers while also ensuring that a sufficient level of production monitoring is in place.

You will shape how we solve technical problems, contributing to key architectural decisions within our product.

You will act as a mentor for the less experienced members of your team. You will help them to grow via activities such as pair programming, code reviews, providing advice and generally doing what you can to help ensure they are not blocked.  

You will own the entire lifecycle of features in your product area. This includes activities such as producing technical design docs, product health improvements, writing and shipping code, planning the rollout to customers and being responsible for that feature in production.

You will deliver clean, testable code, and will be continually looking to learn from both company and industry engineering best practices.

You will gain exposure to the payments industry, including integrating with the leading payment processing platforms in the tech space.

What we’re looking for

At least 5 years of professional experience with object-oriented software design - (for example Java, Kotlin, Ruby)

Discipline and appreciation of working with TDD / CI processes.

Experience designing distributed services which can communicate in a fault-tolerant manner using both RESTful and message-driven APIs.

Someone who owns their work from start to finish. We don’t have an operations team and engineers are expected to deploy and monitor the areas of the system they work in.

Someone who values solving real customer problems that have real business impact, over always chasing the latest shiny technology.

Familiarity with common software design patterns.

Experience within the domain of payments would be beneficial but not mandatory.

Experience with, or willingness to learn how to operate our AWS based infrastructure and services.

Experience working with relational and NoSQL databases and performance tuning.

Experience working in an agile, product-led environment.

Ability to inspire and motivate, to improve quality and productivity, maintaining technical innovation and excellence.

Someone that challenges the norm and isn’t afraid to voice their opinion.

Benefits

Your wellbeing is important to us - we provide private healthcare, an employee assistance program and a free online GP service (WebDoc).

As part of our Financial Wellbeing, we provide competitive Compensation, an Employee Share Purchase Scheme, Pension, Life Assurance, and Income Protection.

We help you travel by providing a bike to work scheme as well as tax saver transport tickets.

We care for your family and provide Enhanced Maternity and Paternity benefits.

We grow our own timber! We provide a great learning environment including an extensive onboarding program.

Career development is important to us. We even have our own in-house Learning and Development/Business coach and many online resources including LinkedIn learning.

We don’t believe in formal dress codes. We prefer business casual.