Senior Java Developer
Who are we?
At Booking.com, we make it easier for everyone to experience the world. We began by taking hotel bookings online over 20 years ago and we've been shaping the travel industry ever since. Today, we're building a platform that connects all parts of the trip - from accommodation to transport, tickets, tours and more.
From our HQ in Manchester, our Transportation team helps people get where they want to go, anywhere in the world. Whether customers want the freedom of a car, the ease of a taxi or the economy of public transport, we make it all possible.
Our team is passionate about helping people travel. They see challenges as opportunities. And they're always ready for change.
Where are we 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 are we looking for?
We are looking for a superb and enthusiastic Senior Software Engineer who will 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. As a minimum, we expect all our Engineers to have:
- A solid understanding of web development and web technologies
- A solid understanding of how the web works starting at the request through to the response
- A solid understanding of design patterns and frameworks such as MVC or Spring
- An understanding of Continuous Integration, Continuous Delivery and Agile
- An understanding of major browsers (including dev tools) and platforms (Linux, AWS)
- A solid understanding of security principles and secure coding
- A proficient in writing good quality object-oriented code using that is simple, fast under load and robust
Developing features for our web site across mobile, tablet and desktop. Our web site is the high-volume site handling millions of searches and bookings a year with a strong focus on A/B testing.
- Highly proficient with HTML 5, AJAX, Bootstrapping, XHTML, HTTP, JQuery, JSON and XML
- Solid understanding of styling and applying design to web pages using CSS
- Highly proficient with the use of JSP and Java
- Experience of using Spring/Struts
Developing services and components within product domains that do not have public facing web site components for example our Search and Pricing Engines.
- Highly proficient with the use of Java or PHP
- Solid understanding of web services and REST based APIs using JSON and XML
- Proficient with database technologies such as MySql, SQL Server
- Solid understanding of domain driven design
- Solid understanding of SOA
- Solid understanding of ORM technologies such as Hibernate
- Web Development & Service Development
- Solid understanding of asynchronous systems and messaging for example RabbitMQ
- Quality first mind-set for writing code using techniques such as TDD or BDD
- Solid understanding of Agile practices
- Commercial experience in an e-commerce background and A/B testing
- Cloud technologies such as AWS and container technologies such as Docker
- Solid understanding or knowledge of web server technology such as Apache or Tomcat
- Take the lead on design and development of features
- Lead and coach other Engineers where required
- Write high quality robust code including tests
- Build, design and deliver high quality solutions in line with guidance and best practices of the department
- Strong sense of ownership and the quality of the solutions you produce
- Adhere to the defaults principles for Architecture, quality and non-functional requirements
- 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 your 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
- Have fun
- 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!