Android Developer - working with latest tech - Gain full stack skills with Microsoft Azure
Skills & Requirements
- Excellent knowledge of Android Material design guidelines and best practices
- Experience of using the latest Android framework like Android Architecture Components (Room, Volley , ViewModel, LiveData)
- Excellent knowledge of building scalable code using dependency injection (Dagger, Koin), RXJava, Retrofit/Volley
- Experience of building complex Android applications using the latest design patterns (MVP, MVVM etc)
- Experience working with a variety of web services data formats (e.g. JSON, XML, ProtoBuf), architectural styles (e.g. REST, GraphQL) and authentication schemes (e.g. OAuth2.0)
- Excellent understanding of Junit, Mockito and Espresso.
- Good understanding of Gradle and the Android Studio build process
- Experience in developing applications in Kotlin
- Excellent written and verbal communication, problem solving and analytical skills
- Positive proactive attitude, willing to turn their hand to any problem, and willing to work things out when they fall outside their area of direct expertise.
- Eager to work as a member of a team and pitch in to ensure the team succeeds with its commitments.
- An interest in expanding your horizons and learning new skills as well as caring about doing things well.
- More senior candidates should demonstrate leadership potential and be able to tick a lot more of the nice to have boxes below.
Nice to have
We will be particularly interested in your application if you can tick some or all of these boxes too:
- Broader mobile development experience beyond Android, such as iOS (Swift, Objective C) would be a plus.
- Full stack development - All of the server side aspects of our application are Microsoft Azure based. Candidates that already have some .Net skills or are interested in picking up Azure skills and C# .Net will be of particular interest.
- Understanding of Domain Driven Design and exposure to working with microservice architectures.
- Experience of test driven development, writing unit tests and solid understanding of how to write testable code
- Experience of working as a member of an agile team and familiar with agile planning and estimation techniques. A good understanding of the fundamental rationale for employing an agile approach
- Experience with using engineering practices that compliment an agile approach. Test driven development, source branching strategies (GIT Flow), continuous integration etc.
- Experience working with Jira, GIT and Azure DevOps / Azure App Center for source control, builds / deployment backlog and task management.