Overview

Responsibilities:

  • Architect, develop and maintain Android native mobile applications
  • Develop and maintain Android native plugins for our cross-platform mobile applications
  • Actively assist in keeping our Apache Cordova cross-platform current with new releases and patches
  • Continuously partner with QA and Infrastructure engineers to automate our build and test pipeline
  • Evaluate beta Android releases to ensure compatibility with our native and cross-platform mobile applications as well as identify new native services and features we might leverage throughout our products
  • Deploy beta tests and release candidates to Google Play Console as well as manage rollout to customers
  • Work with product managers, designers, and engineers to prototype and implement low level, device native features
  • Communicate effectively with other engineers, product managers, customers, and partners.

Required Qualifications:

  • B.S., M.S., or Ph.D. in Computer Science or similar discipline
  • 3+ years of developing native mobile applications for Android with Kotlin and Java including:
    • Developing reusable components (Views/Activities), frameworks, or libraries
    • Communication with JSON services with community standard libraries such as Retrofit, OkHttp, and Moshi
    • Automated UI and Unit Testing
    • Asynchronous and parallel programming to keep the UX responsive
    • Performance profiling for proper use of disk space, memory and battery life
    • Familiarity with Android Architecture Components (RecycleView, ViewModels, LiveData, Room, and Navigation)Though you need only be familiar with the Android platform you may rarely need to assist in the development efforts for iOS components where the conceptual bridge between platforms isn’t too wide. You will be given plenty of extra time for any such work outside your primary area of expertise
  • Highly preferable to have 2 or more years experience working with JavaScript/Node CLI tools as our cross-platform mobile applications make heavy use of JavaScript at both runtime and for build tools
  • Experience with Apache Cordova is desirable but totally optional. However, your willingness to learn and work with Apache Cordova will be required.

If you're familiar with Microsoft .NET it's a big plus but also completely optional — we use C#, .NET, ASP.NET MVC, Web APIs, Microsoft SQL Server on the backend