Backend Developer

Location: Fully remote, company based in London

Reporting to: Lead Backend Developer

In under two decades Mr & Mrs Smith has grown from a cult guidebook to the travel club for hotel lovers with over 1.3 million members and a hand-picked collection of more than 1,500 hotels. The role of senior front-end web dev is key to the next phase of Mr & Mrs Smith’s growth as we continue to curate the world’s most desirable hotel collection. The ideal candidate will be passionate, have knowledge of the luxury lifestyle sector, and understand what inspires the modern traveller.

About you

You are enthusiastic, bursting with ideas for ways to improve systems you work with and are always looking to improve your skills. You are ready to collaborate with your team and come up with more and more awesome solutions. You have experience in writing backend services in PHP and want to join a growing team, developing our website and contributing to our re-engineering to a modern microservice based architecture using technologies, including Symfony, RabbitMQ, MySQL and ElasticSearch. You want to work with a great team who care that they are doing the right thing in the right way. 

Role

This role is a backend developer role in a Linux/Symfony environment. You will be contributing to the development an API-driven architecture, moving to a microservice pattern.

Key technical skills

• PHP7 

• Frameworks e.g. Laravel, Symfony, Zend 

• JIRA - Agile, Scrum experience (sprints, retrospectives) 

• Excellent development principles such as DRY and SOLID 

• TDD/Unit testing (PhpUnit/ PhpSpec) 

• Relational databases ideally MySQL 

• Knowledge of design patterns 

Nice-to-have skills

• Excellent knowledge of Symfony 

• BDD 

• DDD 

• Microservice experience 

• Experience with queuing technology, ideally RabbitMQ 

• Experience working in the travel industry. Understanding how rates and availability work would be a major plus. 

• Experience working with high-traffic websites 

• Experience of ElasticSearch 

• Experience with GoLang 

• Experience with NodeJS + GraphQL 

About our team

The Mr & Mrs Smith technology team takes responsibility for creating and updating a large variety of global systems. Comprising complex databases, highly functional back-end microservices, customer-facing APIs and websites, we apply many of the same principles across the board – our obsession with detail, our desire to share knowledge, and our belief in building quality in. 

We are a growing team, with back-end and front-end developers, QAs, designers/UX, DevOps engineers and product owners, organised into cross-functional scrum teams. We look to remain ahead of the curve and adopt leading edge technologies where these can help us achieve our goals and targets. 

While the company is London based, our teams now operate full remotely, with members across Europe, Asia and Americas. 

We hold regular knowledge-sharing sessions, often go to the same industry meet-ups, and maintain a presence on the conference scene. 

Technology

Our technology stack is primarily built around PHP7 and Symfony framework, all running with MySQL, Cassandra, Redis, RabbitMQ, ElasticSearch, Nginx & other technologies on AWS. We use Jenkins, PHPUnit, PHPSpec, Cypress and Selenium to contribute to our quality management. Our code base is managed via Git and Gitlab. Recently we added GoLang and NodeJs + GraphQL to the technology stack. 

Our front-end technologies include HTML5 (Twig templating in Symfony), CSS3, Sass and JavaScript (es6), including in-house and third-party libraries managed via NPM. Across our sites we use jQuery, Lodash, React/JSX/Redux, some AngularJS and Backbone and plenty of native JS. 

Team working

You will be working as a member of an amazing team developing our technology. It is important that you support the company's highly agile development environment by applying creative and independent thinking to complete project objectives. 

As a member of the development team you will contribute to the development effort by developing high quality software components using the company's architectural stack. We share all our ideas about architectural design issues within the development team.