Job Description
As an Android Developer, you will be responsible for the development and maintenance of applications aimed at a vast number of diverse Android devices. Your primary focus will be the development of Android applications and their integration with back-end services. You will work alongside other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem-solving, sophisticated design, and creating quality products is essential.
Key Responsibilities:
- Design and build advanced applications for the Android platform using Kotlin or Java.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Ensure the performance, quality, and responsiveness of applications by implementing effective testing and performance tuning strategies.
- Work on bug fixing and improving application performance.
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Translate business requirements into technical specifications and implement them effectively.
- Leverage Jetpack Architecture Components for efficient application architecture.
- Implement offline storage, threading, and performance optimization strategies to enhance user experience.
- Utilize Dependency Injection frameworks and Android NDK when required.
- Incorporate additional sensors such as gyroscopes and accelerometers to enrich application functionality.
- Stay up-to-date with the latest Android UI design principles, patterns, and best practices.
- Utilize open-source libraries to streamline development and reduce redundancy.
- Employ Firebase for various aspects of application development including authentication, real-time databases, and cloud messaging.
- Ensure code quality through regular code reviews and adherence to established development standards and best practices.
Qualifications:
- Minimum 2 years of experience in Android application development (3+ years preferred).
- Strong proficiency in Kotlin and/or Java programming languages.
- Hands-on experience with RESTful APIs and back-end services integration.
- Solid understanding of Android UI design principles, patterns, and best practices.
- Experience with offline storage, threading, and performance tuning.
- Familiarity with Jetpack Architecture Components and other Android architecture patterns.
- Knowledge of using sensors such as gyroscopes and accelerometers.
- Understanding of the open-source Android ecosystem and available libraries.
- Ability to translate business requirements into technical solutions.
- Proficiency in benchmarking and optimization techniques.
- Familiarity with Google’s Android design principles and interface guidelines.
- Experience with Dependency Injection frameworks like Dagger and Android NDK (a plus).
- Proficient in code versioning tools such as Git.
- Experience with the Firebase Framework for Android.