Role:
The successful candidate will be a senior engineer with a wealth of Android Development experience including the ability to provide technical leadership, coaching and mentoring, and will have an operations mindset to enable the buildout of robust, secure and maintainable applications.
Primary responsibilities:
1. Management of conflicting priorities in a rapidly changing environment
2. Establish a team strategy and lead the team to implement towards this target state, continually improving our Development and Continuous Integration capabilities
3. Working with product owners, business analysts, and user experience designers to ensure not only requirements are clear whilst offering technical input but also implementing these requirements into the re-usable components/frameworks
4. Working with security architects and implement the latest security and industry standards requirements into the framework
5. Working with solution designers to provide input into the design for any feature or application that the mobile service supports
6. Active participation in all aspects of the software delivery life cycle and associated agile activities that the team undertake
7. Coaching and mentoring of other engineers to uplift service capability and cross-skill individuals over time
8. Continuous review, identification and improvement of engineering processes, practices and tooling
9. Perform code reviews and provide timely and constructive feedback
10. Participate in feature estimation from early ideation to delivery phases
11. Technical design and coding of all mobile applications and microservices
12. Working with a quality mindset to ensure applications are robust and appropriate code coverage is maintained and improved over time
13. Continuous technical uplift and knowledge sharing with others including presentations to internal colleagues and external meetups/conferences
Skills & Experience:
14. Experience across the full software delivery life cycle (planning, analysis, design, implementation, testing, deployment, and maintenance)
15. Agile software development and management methods and ability to excel within a fast-paced environment
16. A solid and strong technical background as an engineer within Android mobile development (Java, Kotlin)
17. Experience working as a developer for cross platform mobile development
18. Experience working with diverse teams from development, testing, security, architecture, infrastructure to business and management
19. Experience with build management tools including continuous integration and delivery practices and tools (Gradle, Jenkins)
20. Experience with continuous test automation tooling (Perfecto, Applitools)
21. Software design and delivery with UX and accessibility front of mind
22. Experience with latest development methodologies and tooling
23. Development experience using common IDE and source systems (Android Studio, Git)
24. Writing unit and functional automation tests (Junit, Roboelectric, Espresso)
25. Release and configuration management practices including parallel development (tagging/branching strategies), managing multiple versions and third party library dependency management
26. Experience with repository artifact management (Artifactory)
27. Knowledge of code quality analysis tools (coverage, duplication, complexity, dependency analysis and standards)
Desirable Skills/Experience:
28. Experience working as an engineer within one or more alternate mobile application development technologies (Objective-C, Swift, React Native)
29. Experience working as an engineer within one or more backend technologies, RESTful JSON APIs and microservices
30. Experience with Query Languages for APIs (GraphQL)
31. Experience with cloud-based technologies and managed services (AWS)