Technical Leadership : Lead the design and architecture of complex Android applications, providing technical guidance and mentorship to junior developers.
Development : Develop and maintain high-performance, scalable, and user-friendly Android applications using Kotlin and Java.
Problem Solving : Analyze and resolve complex technical challenges, identify performance bottlenecks, and implement efficient solutions.
Code Quality : Write clean, maintainable, and well-documented code, adhering to coding standards and best practices.
Testing : Implement robust unit and integration tests to ensure code quality and application stability.
Collaboration : Collaborate effectively with cross-functional teams, including product managers, designers, and QA engineers.
Innovation : Stay up-to-date with the latest Android technologies, trends, and best practices, and propose innovative solutions.
Mentorship : Mentor and guide junior developers, sharing knowledge and expertise. Develop and integrate advanced UI / UX components using Jetpack Compose.
Work with real-time data and implement features using WebSockets, Firebase Realtime Database, or GraphQL APIs.
Research and apply emerging Android technologies, such as Android App Bundles (AAB), modularization, and multi-module apps.
Requirements :
3+ years of professional experience as an Android developer.
Bachelor's degree in Computer Science, Software Engineering, or a related field.
Extensive experience in Android development, with a deep understanding of the Android SDK, frameworks, and APIs.
Proficiency in Kotlin and Java programming languages.
Strong understanding of software engineering principles, design patterns, and architectural patterns.
Experience with various Android development tools and technologies, such as Android Studio, Gradle, and Git.
Knowledge of testing methodologies and frameworks.
Excellent problem-solving and analytical skills.
Strong communication and collaboration skills.
Preferred Qualifications :
Experience with architectural patterns like MVVM, MVP, and MVI.
Knowledge of reactive programming principles and libraries like RxJava or Coroutines.
Experience with dependency injection frameworks like Dagger or Hilt.
Experience with Agile development methodologies.
Contributions to open-source projects or a strong online portfolio.