Hi, my name is John Catterfeld and I’d like to welcome you to the OpenTable UK technology blog – a place where we’d like to share our passions and introduce you to a whole new world of fabulous dining and amazing technology.
Who are we?
First and foremost we’re into food. And restaurants. And delighting our diners with wonderful dining experiences. And if you want to hear more from us about these passions then pay a visit to the OpenTable UK blog or the OpenTable UK Press Centre and follow @OpenTableUK on Twitter – because on this blog you’re only going to hear about our love of technology and all the cool stuff we do with it!
But first some introduction is needed. I am the Senior Director of Engineering and have worked at OpenTable for four years. My principal goal is to create environments where awesome teams of Engineers can build awesome software! The specific journey we’ve been through to achieve this is a topic for another day but there is one key message that is worth sharing. When I first arrived, I had a dream that I shared with the team – to create the best engineering team in the UK. It was an ambitious target and we don’t really have an effective way of testing whether we’ve been successful in that goal. But the consistent belief in achieving that vision was enough to at least make it feel true and it has led to some spectacular results, some of which you will read about on here.
What do we do?
We build great software.
We’re passionate about high quality code and we use cutting-edge technologies and techniques to achieve it. The core of our system is built in .Net so we have a lot of expertise in this area but we’re not limited to a single language. We like to explore new languages and look to apply it wherever it is relevant. We’re meticulous in the code we write but pragmatic when necessary to deliver the best results for the business. Legacy code is in trouble as we look for every opportunity to get rid of it, but that in itself is never the goal – the goal is to build great software that delivers value to our customers.
We believe in testing.
We test everything we produce to within an inch of its life. We employ TDD and BDD at a unit level and we create suites of integration tests and business readable acceptance tests. We build performance tests, load tests and smoke tests and have our systems continuously monitored so we can spot when issues occur. And we do this all within the Engineering team, there is no “throwing over the wall” to a separate QA team that does all the testing – the teams of Engineers themselves are responsible for the quality of our systems.
We move fast.
We automate everything – testing, builds, deployments and monitoring. We believe in continuous delivery and we use it to get feedback on our systems as quickly as we can. Either to fix issues or to adapt to our customers’ needs. And we combine that ethos with a DevOps culture, working with our Operations team to write scripts that build servers and applications within minutes rather than days.
How do we do it?
We believe in the ethos of Agile.
But not some restrictive version of Agile read from a book or delivered from a course. We believe in the ideas of trying something, seeing the results and iterating over that until we come up with better and better solutions. And we apply this methodology to everything we do – our code, our development process, our team structure and our performance management. We’re never happy with the status quo.
We believe in sharing.
You can never know it all. You will spend your whole life learning new lessons without even scratching the surface of what there actually is out there to know. But that’s not a reason not to try and so we believe in sharing our experiences with each other. We read books, run vision groups, hold brown-bag sessions and attend training, always in the pursuit of self-improvement and sharing. And you’ll see our name come up more and more at events and conferences as we start sharing our thoughts with the wider world.
This is starting to sound like a sales pitch and I don’t want to do a Jerry Maguire so I’ll sign off now. But we’re not finished, in fact we’ve only just started. We’re still on a journey and we want to share our experiences with you along the way. I don’t know when we’ll get to the end (probably never) but I think the most fun is to be had as we go anyway.
I hope you’ve enjoyed this introduction and we’re always on the look-out for exceptional people so if you think you’ve got what it takes to be a part of this phenomenal team then let us know on Twitter - @OpenTableTechUK.