We are seeking a highly skilled Senior Android Developer with a strong background in the Android/Kotlin/Java technology stack. The ideal candidate needs to have extensive experience in developing Android applications, particularly with media technologies and video-based products. The candidate will be responsible for developing, maintaining, and enhancing our Android applications while adhering to best practices and working within an Agile development environment.
Key Responsibilities:
Develop, maintain, and enhance Android applications using Kotlin and Java in Android Studio.
Implement MVVM design principles for robust and scalable Android application architecture.
Work with media technologies, including RSTP, WebRTC, H.264, H.265, HLS, MSE, and Opus, to build high-quality video-based products.
Integrate and manage RESTful services and APIs, ensuring efficient and reliable data exchange.
Parse and handle JSON file formats for various application requirements.
Adhere to basic design best practices, including Single Responsibility and Dependency Injection principles.
Create comprehensive technical documentation, including UML diagrams, sequence diagrams, and other necessary documentation.
Participate in Agile methodologies and Scrum processes, contributing to sprints and regular meetings.
Utilize Git for source control and version management.
Manage tasks and project tracking using JIRA.
Understand and apply CI/CD frameworks and deployment processes to ensure smooth and efficient delivery of applications.
Follow and promote best coding practices, including descriptive variable and function naming, quality code comments, and good object-oriented programming design.
Qualifications:
Strong 5 to 10 years of experience with Android development using Kotlin and Java.
Excellent understanding of Android design principles and MVVM implementation.
Extensive experience working with media technologies (RSTP, WebRTC, H.264, H.265, HLS, MSE, Opus).
Proficient in working with RESTful services, APIs, and JSON file format parsing.
Knowledge of basic design best practices (Single Responsibility, Dependency Injection).
Proven ability to create technical documentation (UML, Sequence diagrams).
Experience with Agile and Scrum methodology.
Proficiency in using Git for source control.
Experience working with JIRA for project tracking and management.
Understanding of CI/CD frameworks and deployment processes.
Strong commitment to following and promoting best coding practices.
Preferred Skills:
Excellent problem-solving skills and attention to detail.
Strong communication and teamwork abilities.
Ability to work independently and manage time effectively.
Passion for learning new technologies and staying updated with industry trends.