Senior Android Developer for Innovative Consumer and Enterprise Applications
About the Client
The customer is a US-based strategic consulting company working in Healthcare, Telecom, and Finance on innovative consumer and enterprise applications.
About the Project
The project is a single Android application that is distributed both through an embedded video phone (that we are developing jointly with another vendor) and as a consumer APK that runs on mobile phones and tablets. This project uses the same web services and SIP stack as the iOS application.
About the Team
Development is generally taking place in Ukraine. The management is in NY, other members are located around the US and fill various roles in the project from Product Managers to Testers.
Responsibilities and Skills
We are looking for Android developers for both embedded devices and more traditional Play Store Android application development.
- Design, build and maintain high performance, reusable, and reliable source code
- Ensure the best possible performance, quality, and responsiveness of the application
- Identify and correct bottlenecks and fix bugs
- Help maintain code quality, organization, and automation
- Unit-testing code for robustness, including edge cases, usability, and general reliability
- Сustomization of a custom Android system (AOSP) one of the projects uses
- Code against, and promote the use of, OOP, SOLID principles, clean architecture as well as deep knowledge of platform-specific coding conventions and patterns/anti-patterns
- Experience with using patterns in your last projects
- Ability to write clean, reusable, maintainable and readable code
- Strong knowledge of the main Android components and their life cycles as well as their types (when it’s a time to use Activity / Fragment / Custom View?)
- Unit testing experience, including testing frameworks, mock objects, code coverage
- Experience with platform tools for troubleshooting, debugging and optimizing your code, the most known memory leaks cases in Android apps
- Comprehensive knowledge of multithreading in Android (Thread, Handler, HandlerThread, Looper and so on)