Software Engineering Lead - Scala

Location: Manchester (with Flexible Working)

Salary: Competitive + Great Benefits

Scala, Spark, AKKA, Hadoop, Kafka, Distributed systems, Continuous Delivery, Kinesis, Machine Learning, Big Data, Developer, Software Engineer, Application Development 

Who are we?

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 offer car hire to our customers through our Rentalcars.com brand and car hire, taxis and ticketed transfer services through Booking.com. We also have a B2B solution, Rentalcars Connect, providing great ground transportation options to the customers of our partners

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 2,000+ 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 are we going?

  • Cross functional agile teams who own their products in a Continuous Delivery DevOps environment
  • Frictionless customer experience driven by data, machine learning and AI
  • Cloud by default with continuous delivery, infrastructure as code and automation at our core
  • Domain based SOA ecosystem organised around Product
  • 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

We have a great journey ahead and our vision is to radically change the working practices to realise our ambition of being a “World Class” engineering function and the “Technology Employer of Choice” in the Northwest and beyond.  Make no mistake we have a challenging journey ahead but we are committed to delivering a great customer experience across web, mobile, call centre and partner channels and this is where you could fit in.

What are we looking for?

The ideal candidate will be able to demonstrate a deep understanding of Big Data, Data analysis and Data quality in an e-commerce business. They’ll have a proven background in delivering software solutions which solve genuine business problems and drive business grown. They’ll have come from a technical background, have current hands on skills and be moving or moved into a team leadership role.

They’ll be able to command respect and converse equally well with software engineers and product owners and basically turn vision into reality.

There are two main priorities for the team –

  1. Create a Data Quality framework for use by other product teams. This framework will help drive up data quality through both the SDLC process and in a production environment; providing insight into data quality issues which can then help drive the software backlog.
  2. Integrate BookingGo experimentation data into Booking.com Experimentation Infrastructure

Other priorities are maintaining streaming pipelines and improving our machine learning capability.

We are looking for a superb and enthusiastic Scala Software Engineering Lead who will push the boundaries on engineering brilliant solutions and contribute to shaping our new future. We expect them to have the energy and passion to deliver using a whole range of technologies and have a solid understanding of engineering principles. As a minimum, we expect this Software Engineering Lead to have:

  • A solid understanding of the Scala programming language and functional programming principles.
  • A solid practitioner of code quality techniques like TDD.
  • A good understanding of distributed systems. Experience in Akka would be advantageous.
  • A good understanding of Spark and the Hadoop ecosystem.
  • Experience in Apache Kafka or any other real time messaging system would be useful.

As a minimum, we expect all our Engineering Leads to have:

  • Highly proficient in technical leadership
  • Solid understanding of building robust and resilient systems
  • Strong focus on delivery management
  • Solid understanding of how the web works starting at the request through to the response
  • Proficient in the use of design patterns and frameworks such as MVC or Spring
  • Solid experience of Continuous Integration, Continuous Delivery and Agile
  • 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
  • Good understanding of security principles and writing secure code
  • Solid understanding of Agile practices

Any other beneficial skills?

  • Good understanding of asynchronous systems and messaging
  • Commercial experience in an e-commerce background and A/B testing
  • Cloud technologies such as AWS and container technologies such as Kubernetes

Experience of the following technical skills and technologies would also be advantageous: Hadoop, Scala, Spark, Kafka and Akka (nice to have). We’re a genuine agile business so ideally you’ll have worked in this environment (TDD, Continuous Deployment etc) but equally we’ll be happy to support your learning and development.

What would your responsibilities be?

  • People Leadership
    1. Lead, inspire and motivate your team
    2. Line manage a team of Engineers
    3. Nurture, grow and develop engineering talent in the team
    4. Fostering a great engineering culture who innovate, work as a team and celebrate success
    5. Learn new technologies and keep abreast of existing technologies and be able to apply these to a variety of projects as applicable
    6. Lead and coach Engineers
  • Craft & Delivery Leadership
    1. Engineering delivery, quality and practices within your team including delivery management
    2. Collaborate with the team and others to deliver high quality solutions
    3. Ownership of the quality of the solutions your team produce
    4. Embed Agile ways of working and values within your team
    5. Sizing and estimating work
    6. Delivery of the wider Engineering strategic objectives
    7. Get into the technical detail where required to coach, support and mentor the team
    8. Engineering Craftsmanship including coaching and mentoring the team
    9. Adhere to the default principles for Architecture, quality and non-functional requirements
    10. Contribute to the evolution of best practices across the department
    11. Drive a DevOps environment including on call escalation
  • Technology Leadership
    1. Take the lead on design and development of features
    2. A technology evangelist
    3. Write high quality robust code including tests
    4. Design and develop reusable libraries, APIs and code that are easy to maintain, understand and re-use
    5. Build, design and deliver high quality solutions in line with guidance and best practices of the department
    6. Thought partner for Product to define, shape and deliver the roadmap
    7. Own the architecture in your product team

What do we offer our employees?

  • 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 (rising to 28 days after 3 years of service)
  • Great discounts on accommodation, car rentals and other group benefits
  • Opportunity to shape the future of the team
  • Software development kit that works!

We want our colleagues to have a work life balance that works both for them and the business. Our core hours are 10-4 with flexibility around that within a 37.5 hour week. We are also open to considering other flexible working arrangements. Our Talent Specialists will discuss this with you if your application is progressed.

Apply for this Job

* Required