At OpenTable, we take pleasure in developing phenomenal software. We believe that quality comes from a commitment to clean code and solid engineering principles honed through rapid, continuous development and innovation. Our GuestCenter platform is the heart of OpenTable and it connects restaurants to 26+ million diners around the globe. If you are excited by meaningful engineering processes and can deliver exceptional code in a fast-paced environment, we'd love to meet you. Bonus points if you love restaurants, too!
Our team is responsible for building the GuestCenter offerings aimed at restaurant owners and managers to help them manage their restaurants from anywhere on their iOS or Android phones.
As a member of the GuestCenter mobile team, you will be responsible for actively building, testing and evolving our Android phone application. As a part of the team, you'll collaborate with a passionate and diverse group of engineers, designers, and product managers who are committed to building beautiful, scalable, and high-value features for restaurants. We are looking for an engineer that is passionate about developing cutting edge mobile applications with experience in the Android platform but also interested in contributing to the iOS platform application.Responsibilities
- Analyze, plan, and design feature projects into small and value-based delivery iterations
- Work with designers to build a killer UI meant to deliver delight
- Collaborate with multiple backend teams to design API solutions that meet a feature's need
- Promote and drive quality as a first principle by helping us evolve our unit and regression testing practice, facilitate architecture and code reviews, and enhance our continuous integration/continuous delivery capability
- Provide support and analysis of production incidents
- Continuously provide mentorship and guidance to team members
- BS in Computer Science or equivalent work experience
- 5+ years of professional software development experience
- 3+ years of Android development experience
- Experienced evaluation and working with different toolkits, frameworks and architectures
- Familiar with (and deep experience in two or more of): MVP, Networking, Multi-threading, SOLID, Reactive, Dependency injection
- A passion for the Android platform, design principal and best practices
- Experience with popular architectures like MVP and MVVM
- Experience with popular libraries like RxJava, Retrofit, OkHttp and Dagger
- Experience building with Kotlin or Java
- Experience building with Android Jetpack
- Experience writing tests for Android with JUnit and Espresso
- Experience working on a complex application focused on continuous delivery
- Experience working with web backends and databases.