The Genius engineering team builds and maintains a website and apps that are used by 100 million people every month. The majority of the content—lyrics, annotations, and metadata—is crowdsourced by an engaged group of contributors using a complex and ever evolving technical platform.
Genius is looking for a Android Engineer to architect and implement new features on Android. We’re looking for makers with a sophisticated code sense: folks who’ve built cool things, but who can also maintain and scale those things, and who feel at home deep in the guts of a library.
The best candidates will have professional experience on an Android app serving a large volume of users, will be proficient with Java, and have some experience with the core technologies we use (Data Binding, Realm, Retrofit).
Responsibilities:
- Build and maintain application features, working with core libraries and frameworks including Realm, Data Binding, and Retrofit
- Create reliable, crash-free releases on a repeatable and regular schedule
- Work closely with the full stack team to build features based on our API, and to plan for future API improvements
- Work closely with the product team to define feature specifications and craft unique & beautiful user experiences
Requirements:
- At least 2 years professional Android development experience
- Proficiency with Java
- Knowledge of, and passion for mobile app best practices
- Have personally published or worked on at least one application on the Google Play Store
- Some experience working with Javascript or React Native
- Interest in, or experience with developing in Kotlin
Example Projects:
- Build a system which fetches data and stores it in the database of your choice (Realm is preferred)
- Create a layout which scales across a wide range of devices
- Write a fragment using RecyclerViews, Adapters and Data Binding
- Make a home screen widget which displays the currently playing song
- Write an app that fetches remote data (use of frameworks such as OkHttp and / or Retrofit are encouraged)