This role is for a Senior Developer - Android to design, implement, and maintain enterprise-grade Android software. The ideal candidate will be an experienced and flexible self-starter with a strong background in Java for Android, familiar with mobile development challenges, and proficient in SCM tools. This person will provide technical guidance to the team, create design artifacts, and ensure the quality and efficiency of the application.
Responsibilities
- Provide guidance on implementation and design best practices to other developers.
- Produce design artifacts such as class and sequence diagrams for Android library features or client solutions.
- Implement product features within a team using best practices to meet product deliverables.
- Refactor code to increase operating efficiency and extensibility, and / or adapt programs to new requirements.
- Implement reusable unit tests to ensure the integrity of ongoing product quality.
- Participate in Agile sprint planning sessions and provide constructive feedback.
- Assist the Product Management team with high-level estimations and clarification of technical implementation of features.
- Prepare software packages for deployment that adhere to defined standard deployment policies.
Skills
Required Skills :
Strong knowledge of Java for Android and familiarity with mobile development challenges.Proficiency in the use of SCM tools (SVN, Git, Maven, Stash), best practices, and continuous integration.Familiarity with Android API Level 14 and up .A clear understanding of the difference between mobile product libraries, mobile applications, and client-specific extensions.Understanding of distributed multi-tier infrastructure .Easy-going and flexible individual who can integrate and function within a pre-existing team.A self-starter who can operate with minimal direction.Excellent oral and written communication skills capable of leading design / architecture & training sessions.A creative thinker and experienced problem solver.Proven multi-tasker.Preferred Skills :
Familiarity with Android API Level 8 and up .Understanding of code obfuscation & encryption techniques .Understanding of multimedia content delivery protocols such as HLS, Progressive download.Experience using media players on various mobile platforms.Proficient using UML (sequence, state, collaboration, class, use-case diagrams).Knowledge of design patterns such as MVC, Strategy, Factory, Singleton and general design considerations.Familiarity with Microsoft PlayReady .Knowledge of performance improvement techniques as applicable to mobile devices.Qualifications
A post-secondary degree in Computer Science, Software Engineering or equivalent academic experience is required.Skills Required
Mobile Development, Web Apps, Java, C#, UI / UX design, Android Framework, Restful Apis, Software Design