Senior Developer - iOS


 

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? 

  • C ross functional agile teams who own their products in a Continuous Delivery DevOps environment
  • Revolutionise our online customer experience through an award-winning mobile app (and a website)
  • Data driven decisions using Kibana, Hadoop, monitoring, Big Data, machine learning and MVT
  • 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 as an afterthought
  • Development in Swift, Presentation patterns (MVVM,MVC, VIPER) & SwiftUI

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, cycle hub and break out spaces
  • 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

Key Responsibilities 
  • 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 - 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
  • Have fun

Skills we are looking for
  • We are looking for a superb and enthusiastic Mobile 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.
  • Proficient in writing good quality object-oriented code using Swift that is simple, fast under load and works really well
  • Good understanding of Interface Builder and Auto Layout
  • Strong understanding of iOS SDK and platform, memory management, dependency injection and testing frameworks
  • Good understanding of building good looking, immersive Mobile App user interfaces
  • Good understanding of persistence technologies such as Realm, Core Data and SQLite
  • Good understanding of one or more design patterns such as MVC, MVVM, MVP and VIPER
  • Good understanding of integrating with back-end (RESTful) APIs
  • Good understanding of Continuous Integration, Continuous Delivery and Agile practices
  • Good understanding of security principles and secure coding

Other beneficial skills
  • Good understanding of notifications technologies
  • Proficient in maintaining object-oriented code using Swift & Objective-C
  • Understanding of mobile tech such as fastlane, CocoaPods, Firebase and TestFlight 
  • Understanding of HTTP, JSON and XML
  • Understanding of asynchronous technologies such as Grand Central Dispatch (GCD)
  • Quality first mind-set for writing code using techniques such as TDD or BDD
  • Good understanding of Agile practices
  • Commercial experience in an e-commerce background and A/B testing 
  • Good understanding of crash logs and how to debug them  

 

 


Back to top