Responsibilities
Design and build advanced applications for the Android platform
Collaborate with cross-functional teams to define, design, and ship new features
Work with outside data sources and APIs
Translate designs and wireframes into high quality code
Ensure the best possible quality, performance and responsiveness of the application.
Identify and correct bottlenecks and Work on bug fixing and improving application performance.
Help design, build and maintain high performance reusable and reliable Java and Android.
Unit-test code for robustness, including edge cases, usability, and general reliability
Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Perform regular code review of peers via Crucible.
Lead the offshore development team and actively contribute to sprint grooming with Business Analysts & Product Owner.
Requirements
Proven software development experience and Android native development using Java.
Experience in creating Libraries and custom SDK.
Experience with networking libraries like retrofit, volley.
Experience with MVVM,MVP, JetPack architectural design pattern.
Experience with LiveData, Observers and DataBinding.
Experience with Firebase Cloud Messaging, Firebase Ananlytics, App Dynamics.
Experience with Latest Android SDK.
Good Understanding of Application Security concepts and experience with Proguard
Familiarity with Agile Management tools like Rallly/Jira
Strong knowledge of Android UI design principles, patterns, and best practices
Strong UI development skills (complex view trees, animations, rendering and strong knowledge of the Android UI kit).
Experience with offline storage, threading and performance tuning.
Familiarity with cloud message APIs (GCM/FCM) and push notifications.
Understands Google's Android design principles and interface guidelines.
Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies
Familiarity with MVC, MVP and MVVM architecture
Proficient understanding of code versioning tools, such as Git.
Familiarity with continuous integration i.
e.
Jenkins
Good knowledge of unit testing framework (Robo Electric and Instrumentation) and rash lytic tools.
Nice to have
Kotlin experience
Published at least one original Android app.
BS/MS degree in Computer Science, Engineering or a related subject