The Android Developer is responsible for the prototype development and maintenance of applications aimed at a range of mobile devices. We want someone who enjoys working with new technologies, who has a string of skills and creativity that can lead the application development of mobile features. You will be working within an agile environment with other engineers and developers that are adding to the software development on different layers. Therefore, a commitment to collaborative problem solving, sophisticated design, and the creation of quality products is essential.
Duties and Responsibilities:
- Design and Build advanced applications for the Android Platform using Java & Kotlin.
- Maintenance existing production app using Java.
- Provide thought-leadership regarding implementation best practices
- Ensure the performance, quality, and responsiveness of applications
- Collaborate with a team to define, design, and test new features
- Identify and root cause bottlenecks and fix bugs improving application performance
- Help oversee code quality, organization
- Review code for robustness, including edge cases, usability, and general reliability.
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Understanding of automotive command and control apps is a plus.
Education and Years of Experience:
- BS/MS degree in Computer Science, Engineering or a related subject.
- At least 5 Years of Experience with Android Development
- Practical experience in Android development.
- Familiarity with Java language
- Experience working within an Agile Environment and adoptable to change.
- Must have hands on experience with developing trends and emerging standards in mobile apps (RxJava, MVP, Kotlin, etc) and working with Jetpack Components
- Experience with mobile payments, and wearables is a plus
- Knowledge of Bluetooth Stack in Low Energy and Classic
- Knowledge of Android Bluetooth Low Energy Stack and APIs
- Experience with third-party libraries and APIs
- Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies
- Solid understanding of the full mobile development life cycle
- Experience with offline storage, threading, and performance tuning
- Knowledge of other web technologies and UI/UX standards
- Understanding of Google's design principles and interface guidelines
- Experience with performance and memory tuning with tools
- Familiarity with cloud message APIs and push notifications
- Familiarity with continuous integration
- Good understanding of RESTful APIs and how to connect Android applications to back-end services
- Understanding of code versioning using git.
- Understanding of accessibility and security compliance