Principal Software Engineer - Rides

Job Title

Location: Fountain Street, Manchester

We’re BookingGo, the ground transport division of Booking.com. We’re the ones who empower people to get where they’re going. Whether they’re taking the wheel or sitting back and leaving it to the driver. Whether they’re heading straight from A to B or enjoying the freedom to go wherever their journey takes them.

 

To do that, we operate multiple brands: Booking.com, Rentalcars.com, Rideways and Connect!

 

With our HQ in Manchester, we’re part of the worldwide Booking.com family. At the same time, we’re proud of our own unique identity. Speaking 42 languages, our 1,600+ staff come from all over the world, just like our customers. What brings us together is our love of adventure: our own as well as other people’s. It’s easy to be passionate about a job that enriches so many lives on a daily basis, and our workplace reflects our passion, our diversity, our global focus. Just search “Manchester’s coolest office” and see for yourself.

 

And we’re in good company. Together with priceline.com, KAYAK, agoda.com, and OpenTable, we’re part of Booking Holdings, the world leader in online travel and related services.

 

Where we are going

  • Cross functional agile teams who own their products in a Continuous Delivery DevOps environment
  • Revolutionise our online customer experience through a great web site and mobile app
  • Data driven decisions using Kibana, Hadoop, monitoring, Big Data, MI and MVT testing
  • Continuous improvement, keeping it simple and developing the team
  • Great engineering practices with a focus on TDD and BDD principles and a strong focus on non-functional requirements at the beginning rather than an afterthought
  • Decoupled service orientated architecture with resilience and adaptability built in

 

What we offer in return

  • Ownership of your work and a great technical challenge
  • A great new office to work in the heart of Manchester
  • Great facilities including subsidised canteen and Starbucks, free breakfast & fruit and cycle hub
  • An exciting and dynamic place to work
  • 25 days paid holiday plus bank holidays
  • Great discounts on car rentals and other group benefits
  • Opportunity to shape the future of the team
  • Software development kit that works

 

Skills we are looking for

We are looking for a superb and enthusiastic Principal Software Engineer (services) who will evangelise technology across agile teams to push the boundaries on engineering brilliant solutions and contribute to shaping our new future.  We expect you to have the energy and passion to deliver using a whole range of technologies and have a solid understanding of engineering principles.  We also expect you to have strong technical leadership experience, experience of evangelising technology whilst being an expert in Software Engineering.

  • Expert in writing good quality object-oriented code using Java that is simple and fast under load 
  • Highly proficient in the use of design patterns and frameworks such as MVC or Spring
  • Highly proficient in the use of database technologies such as MySql, SQL Server
  • Expert understanding of web services, APIs ideally REST based and SOA
  • Strong experience of Continuous Integration, Continuous Delivery and Agile
  • Solid understanding of how the web works starting at the request through to the response
  • Solid understanding of major browsers (including dev tools) and platforms (Linux, AWS)
  • Quality first mind-set for writing code using techniques such as TDD, BDD or Agile
  • Have a forward thinking mind set for engineering practices
  • Subject matter expert in areas of Software Engineering
  • Evangelising technology and engineering practices across teams

 

Other beneficial skills

  • Highly proficient with JavaScript frameworks such as Node.js, React.js and Angular.js
  • Solid understanding of styling and applying design to web pages using CSS
  • Solid understanding of asynchronous systems and messaging for example RabbitMQ
  • Experience with the design and execution effective functional tests

 

Key Responsibilities

  • Take the lead on design and development of features
  • Lead and coach other Engineers
  • Be regarded as a subject matter expert for languages, platforms and engineering practices
  • Evangelise engineering practices and technology across teams
  • Write high quality robust code including tests
  • Sense of ownership and the quality of the solutions you produce
  • Adhere to the defaults principles for Architecture, quality and non-functional requirements
  • Build, design and deliver high quality solutions in line with guidance and best practices of the department
  • Collaborate with the team and others to deliver high quality solutions
  • Design and develop reusable libraries, APIs and code that are easy to maintain, understand and re-use
  • Learn new technologies and keep abreast of existing technologies and be able to apply these to a variety of projects as applicable 
  • Work with the team to size and estimate work
  • Contribute to the evolution of best practices of the department
  • Write, review and take responsibility for clear, concise and comprehensive technical documentation
  • Supporting live products in a DevOps environment