Senior Android Developer
Job Summary
As an Android Developer, you will help build mobile apps for Android.
The successful candidate should be comfortable with various mobile platforms, native & hybrid technologies.
This person will be involved in the design, development, testing, and deployment of apps.
They should be familiar with Agile Utilizing Scrum methodology to manage the software development projects.
Effectively work and collaborate with the design team to deliver a rich, modern, and friendly user experience.
Responsibilities
- Work on native app development/deployment for Android.
- Involved in the research & planning of new mobile apps or prototypes.
- Work with the product and design team to understand end-user requirements and translate them into technical specification requirements.
- Help improve the quality and optimization of apps by employing best coding practices, performing code reviews, leveraging automated test tools to implement/execute unit & regression test plans, and continually iterate.
- Keep up-to-date with latest industry trends in mobile technologies and understand how we can exploit them in our apps.
Requirements
- 3+ yrs experience of Android application development.
- Experience with leading mobile development teams.
- Strong development skills in JAVA/Kotlin for Android.
- Experience in other programming languages besides Java/Kotlin is a plus.
- Extensive working knowledge of Android Studio and related APIs.
- Must have worked on an app that has been published in the Google Play Store.
- Possess strong application architecting skills based on the latest Android architecture components.
- Familiarity with RESTful APIs to connect Android applications to back-end services.
- Good knowledge and understanding of Object Oriented concepts and mobile architecture.
- Proficient in understanding the Android UI design principles, patterns, and best practices.
- Strong knowledge of native activity lifecycle of Android.
- Familiar with offline storage and such optimization techniques as thread pools and caching.
- Familiar with encryption utilizing cryptographic keys an asset.
- Knowledge of open-source Android ecosystem and available libraries.
- Familiar with cloud messaging APIs (i.e. Google Firebase Messaging) and push notifications.
- Good working knowledge of version control systems such as Git/SVN along with clients such as BitButcket or equivalent. Good understanding of how to build feature and release branches.
- Proven experience working in Scrum/Kanban with Agile teams.
- Working experience in translating functional requirements into technical specifications.
- Experience in conducting code reviews to ensure consistent quality, robustness, and conformance to standards and best practices.
- Experience with writing automated unit & regression tests.
- Motivated and passionate about what you do and have a high desire to constantly learn.
- Value team work and encourage collaboration.
- Good verbal and written communication skills.
Education
- BS Degree in Computer Science Degree or related field.