Android Tech Lead
We are currently looking for an Android Tech Lead (with development involvement) to work on the Frisbee project — a secure and fault-tolerant corporate messenger for effective teamwork. Frisbee combines the convenience of public messengers with the capabilities needed for work, and offers various solutions for secure storage and deployment.
Our Android application is written in Kotlin. We follow the principles of Clean Architecture and use the MVVM pattern. We actively use a reactive approach with Coroutines and Flow. Server interaction is done via REST and SSE. For network requests, we use Retrofit 2 and OkHttp. The database is Room, navigation is implemented with Cicerone, and for dependency injection, we use Toothpick. The development is carried out by a team of 9 Android developers, 8 of whom are Senior level.
The project has been developing since December 2019, it is a long-term product with real clients.
Responsibilities:
- Define the architectural direction of the Android application;
- Make key technical decisions and set development standards;
- Conduct internal architecture and code reviews;
- Participate in planning, task estimation, and cross-platform interaction organization;
- Optimize application performance: rendering, memory, network, startup time;
- Track Android technological trends and propose relevant solutions for implementation;
- Control technical debt, plan and ensure its reduction;
- Analyze crashes, logs, and metrics, propose measures to improve stability;
- Ensure application and user data security;
- Respond promptly to critical situations;
- Develop new functionality and improve existing functionality as part of a feature team.
Candidate Profile:
- 7+ years of experience in Android application development;
- Experience working on a large and well-known project as a Tech Lead for an extended period;
- Deep understanding of the Android OS, its architecture, SDK, and application lifecycle;
- Strong knowledge and practical experience applying various architectural approaches (Clean Architecture, MVVM, MVI, MVP, multi-module, etc.);
- Excellent command of Kotlin and deep knowledge of Coroutines, Flow, Room, and Compose;
- Understanding of mobile application UI/UX principles and experience in their design;
- Ability to work effectively with a team;
- Clear and constructive communication.