Job Description :
                                                                             Senior Android Developer
Warren, NJ
6+ months contract
Core Keywords:
         Writing Android Libraries, deep Android framework knowledge, encryption/security, SDK/API differences, production-quality, analytics
Experience:
         Bachelor''s or Master''s degree in Computer Science, Computer Engineering, or related field
         5+ years of Android app development, with at least 2 published apps in the Google Play store that can be demo’ed
         2+ years of additional object-oriented programming experience (Java, C++, C#, objective-C)
         2+ years of experience with Google Cloud Messaging (GCM), Amazon SNS or similar
         Knowledge of Other cloud-based services/SDKs like Firebase, Google App Engine, Fabric, etc.
Responsibilities:
         Design and develop a large-scale, visually appealing, modular Android application capable of integrating multiple custom libraries and securely uploading data to servers asynchronously on a frequent periodic basis.
         Convert existing production applications into modular AAR/JAR libraries for packaging and inclusion in other applications.
         Create enterprise-grade security for protecting sensitive data both on-device and in-transit (encryption, authentication, access expiration
         Effectively use cloud-based solutions (GCM, Google App Engine, Firebase, other) for dynamically managing configurations, event triggers, and other use cases.
         Use best practices to minimize impacts to user experience, such as battery drain, ANRs, unresponsive UI, etc.
         Effectively work with business owners to gather requirements, gain deep understanding of use cases and business needs, and translate into design and implementation.
         Ability to read through 3rd party developer code, understand flow and function, and make improvements as needed.
         Ability to capture app analytics using analytics SDKs (Google Analytics, Crashlytics, Firebase, Flurry, etc) and analyze current users, behavior, and app stability.
Required Skills:
         Deep, thorough knowledge of Android programming (Java6/7, XML), standard design patterns for widgets, views, navigation, etc, modern design practices using material design, backwards compatibility using Android Support libraries
         Deep, thorough knowledge of Android operating system, including APIs and required permissions, base functionality of key phone components (specifically telephony, signaling, radio) as well as understanding of AOSP source itself
         Knowledge of key differences across Android SDK versions from Froyo to “N”
         Superior ability to debug code and crashes with little or no information, such as from user builds
         Knowledge and familiarity with Android Studio IDE, including latest canary version 2.2+
Other Desired Skills:
         Knowledge of open source copyleft libraries which supplement and complement standard Android SDK
         Understanding of mobile air transmission protocols such as CDMA, EVDO, LTE, WiFi a plus
         Strong interpersonal, oral, and written communication skills
         Ability to work in a fast-paced, Agile, competitive environment
         Ability to work independently and in group environments
         Ability to manage projects throughout the various stages of the SDLC