The Staff Android Developer will design and develop mobile applications for the company’s line of spoken products. To be successful in this essential role the Employee must have strong knowledge in Android development and the ability to work autonomously. The Employee will have proven experience in applying new technologies and solutions to drive engaging consumer-grade applications, ideally in a learning environment.
The Staff Android Developer will be part of an Agile development team responsible for building innovative, high-performance, scalable native applications using latest technologies and frameworks and integrating third-party SDKs. The Employee will be responsible for the development and maintenance of applications aimed at a range of Android devices including mobile phones and tablet computers.
Key Responsibilities
- Design, develop, unit test, and deploy medium and high complexity Android based solutions using common standards and frameworks
- Create & execute automation test strategy for mobile apps across Android platforms
- Manage concurrent project efforts, and work both independently and in a team environment
- Collaborate with the product delivery team to ensure technical feasibility for new features and enhancements to the existing features
- Collaborate with the product delivery team to define, design, and ship new features
- Scale the Android team processes; improve release pipeline, build automation and monitoring
- Demonstrate solid knowledge and understanding of continuous integration
- Work with designers, backend engineers and product managers to deliver an optimized product and exceptional user experience
- Collaborate with product managers and designers to create prototypes for new and enhanced features
- Ensure the performance, quality, and responsiveness of applications
- Organize peer code- reviews to spot problems and ensure quality of the product. Offer guidance to less senior members of the team on how to improve code quality and efficiency.
- Prioritize and estimate tasks efficiently, ensuring that scheduled launches happen according to planning. Help more junior team members with their time estimations if needed.
- Partner with other Senior iOS Developers in solving complex challenges in building best-in-class features and product enhancements.
- Promote a culture of partnership, teamwork, innovation and diversity, equity, and inclusion
- Participate in and champion a highly collaborative, customer-centric, data-driven culture that challenges norms with a bias to action; support diversity of thoughts, experiences, and approaches to solve issues
- Duly observe all applicable health and safety laws and regulations.
Current Android Stack
- 100% Kotlin
- MVVM Architecture
- Coroutines + Flows
- Firebase
- Dagger Hilt
- Layout still built using XML with a plan to move towards Compose by end of 2024.
- Retrofit + gRPC + Protobuf + REST
- Room
- SQLite + SQLCipher
Qualifications & Skills
- Degree in Informatics, Computer Science, or equivalent combination of education, training, and experience
- A strong communicator able to seamlessly collaborate with several different teams
- Experience in implementing consistent testing principles
- Strong object-oriented design, programming, and debugging skills
- Proficient in Kotlin, Android Studio, and the Android SDK is a must
- Experience with Git and GitHub is a must
- Experience with network client development, including consumption of web services, is desired
- Experience with server-side API development; Experience with third-party libraries and APIs
- Strong debugging skills with the ability to code unit-test for robustness, including edge cases, usability, and general reliability
- Prior successful experience in online or related industry is desirable
- Experience with JavaScript, CSS, and HTML is a plus
- Experience working with remote data via REST and JSON
- Excellent knowledge of the general mobile landscape, architectures, trends, and emerging technologies
- Solid understanding of the full mobile development life cycle
- Strong customer empathy and ability to translate customer insights into winning product management strategies
- Robust decision making – based on evidence and data
- Passion for education and learning
- Possesses a global outlook and approach
- Ability to work in a team and communicate effectively with colleagues
- Ability to work in a fast-paced environment and handle multiple priorities
- Evident fluency in English, being confident in speaking, reading and writing communication