Lead Android Engineer in Miami, FL at Royal Caribbean

Date Posted: 12/12/2019

Job Snapshot

Job Description

Engineering at Royal Caribbean International's digital division plays an integral role in creating and improving systems that are reimagining the cruise vacation industry for guests and crew alike. Join our team of highly-skilled engineers to work in a fast-paced, ambitious environment that values innovative problem-solving in an industry in constant evolution. Our mobile engineers collaborate in a day to day basis to design and develop the next generation of functionality for our Excalibur mobile app. You will develop application functionalities to support our Guests to expedite their check-in and check-out before, during and after their vacation.   

Responsibilities: 

  • Lead software design, prototype, and development of Android apps. 
  • Contribute best-in-class programming skills to develop highly innovative, consumer-facing mobile apps. 
  • Write clean, maintainable code and performing peer code-reviews 
  • Work with other team members to investigate design approaches, prototype new technology and evaluate technical feasibility 
  • Work in an Agile/Scrum environment to deliver high quality software against aggressive schedules 
  • Establish architectural principles, select design patterns and then mentor team members on their appropriate application 
  • Work closely with product and design teams to customize our Excalibur app 
  • Facilitate and drive communication between mobile engineers and back-end engineers 

 

Job Requirements

Qualifications:  

  • Bachelor’s degree or above in Computer Science 
  • 5+ years building complex, high quality Android applications, and have a strong knowledge of Android app design principles, patterns, and best practices 
  • Strong proficiency with Java, Kotlin, and the Android development ecosystem 
  • Deep understanding of Android platform, including different device capabilities, battery life, performance, and notifications. 
  • Robust knowledge of Java, RxJava, RxBinding, Dependency Injection, Android SDK, and Android Studio. 
  • Experience writing tests for Android with JUnit and Espresso 
  • Experience with architectures like MVP and MVVM 
  • Experience with Android frameworks/tools such as Dagger 2, Picasso 
  • Ability to communicate complicated technical problems to both technical and business audiences 
  • Strong knowledge of REST architecture and distributed systems 
  • Experience integrating mobile clients with microservices (REST based APIs) 
  • Bias for a shift-left, test driven development 
  • Strong customer focus, ownership, urgency and proactivity        

Preferred Technology Experience:  

  • Experience with Amazon Web Services (AWS), Java or Spring 
  • Test automation framework experience across multiple mobile platforms, such as Selenium and 
  • Appium 
  • Continuous Integration using Jenkins 
  • Experience with distributed databases such as Couchbase or Realm 
  • Experience with tools like Jira, Bitbucket, Confluence