Job Title: Android Developer
JOB ID: 20-04057
Android Developer – Contract
Large consulting company with multiple clients in the Chicago area. You work at various client sites around Chicago. Most projects will be multiple month long engagements. This position will be contract to hire with CapGem, and you would start off at around 6 months on contract before being switched over to perm but could be just a long term contract as well.
USC, GC, H4 and TN only
Completely remote for now but would prefer someone in Chicago, IL or willing to relocate to Chicago, IL.
3-5 years of industry experience in enterprise architecture, systems integration, package implementation, and interactive design and architecture
A strong understanding of complex computer science and software engineering principles
' Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
Ability to lead and mentor junior team members and guide them on important architectural aspects & decisions.
Ability to understand business requirements and translate them into technical requirements
Familiarity with RESTful APIs to connect Android applications to back-end services
Strong knowledge of Android UI design principles, patterns, and best practices
Experience with offline storage, threading, and performance tuning
Ability to design applications around natural user interfaces, such as "touch
Knowledge of the open-source Android ecosystem and the libraries available for common tasks
Familiarity with cloud message APIs and push notifications
Solid understanding of the application design patterns like MVP, MVVM, VIPER etc.
Understanding of Google's Android design principles and interface guidelines
Proficient understanding of code versioning tools, such as Git
Familiarity with continuous integration ex: Jenkins CI tool. Good to have, not mandatory.
Knowledge of Unit Testing e.g. Junit, Mock API
Design and build applications for the Android platform
Ensure the performance, quality, and responsiveness of applications
Collaborate with a team to define, design, and ship new features
Identify and correct bottlenecks and fix bugs
Help maintain code quality, organization, and automatization
Bring new ideas and innovation to the team