Requirements
- 5+ years of software engineering experience
- Familiarity with Android components
- Experience building or contributing to at least one Android app
- Product design intuition and user empathy
- Drive to push the boundaries of Android UI/UX
- Understanding of the importance of tests and how to approach writing tests
- Self‑drive to improve the app and codebase above and beyond what's outlined in the spec
- Rock solid experience with Kotlin, Kotlin Coroutines, Kotlin Flow, Dagger 2, MVVM, Clean Architecture, Background Services, Music Player Service, Android Animations, Jetpack Navigation, JUnit tests
- Excellent communication skills
- User oriented problem solving approach
- Driven with continuous feedback from leaders
- (Desirable) Experience building, maintaining, or otherwise contributing to open source projects in Android
- (Desirable) Experience with iOS, Web or NodeJS
What the job involves
- With the growth of our Android app, being the most used text‑to‑speech app in the Play Store, we find the need for a Senior Android Engineer to help us support the new user base as well as work on new and exciting projects to push us forward
- This is a key role and ideal for someone who thinks strategically, enjoys fast‑paced environments, passionate about making product decisions, and has experience building great user experiences that delight users
- We are a flat organization that allows anyone to become a leader by showing excellent technical skills and delivering results consistently and fast. Work ethic, solid communication skills, and obsession with winning are paramount
- Owning major features and working closely with our design team - take ownership of features inside the app and become responsible of delivering high quality features
- Shape the future of our Android team
- Own, maintain and improve reliability metrics for key features
- Participate in discussions across different teams - Product, Design, Engineering
- Review pull requests, and support other teammates
- Handle critical issues or cope with unexpected challenges
- Take ownership of feature releases and provide nightly builds for the QA team
Technologies we use
- Kotlin
- Kotlin Coroutines
- Kotlin Flow
- Jetpack Navigation
- Dagger 2
- Room
- Custom Views, Canvas & Paint
- Jetpack Compose
- JUnit