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:
Management of conflicting priorities in a rapidly changing environment Establish a team strategy and lead the team to implement towards this target state, continually improving our Development and Continuous Integration capabilities 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 Working with security architects and implement the latest security and industry standards requirements into the framework Working with solution designers to provide input into the design for any feature or application that the mobile service supports Active participation in all aspects of the software delivery life cycle and associated agile activities that the team undertake Coaching and mentoring of other engineers to uplift service capability and cross-skill individuals over time Continuous review, identification and improvement of engineering processes, practices and tooling Perform code reviews and provide timely and constructive feedback Participate in feature estimation from early ideation to delivery phases Technical design and coding of all mobile applications and microservices Working with a quality mindset to ensure applications are robust and appropriate code coverage is maintained and improved over time Continuous technical uplift and knowledge sharing with others including presentations to internal colleagues and external meetups/conferences Skills & Experience:
Experience across the full software delivery life cycle (planning, analysis, design, implementation, testing, deployment, and maintenance) Agile software development and management methods and ability to excel within a fast-paced environment A solid and strong technical background as an engineer within Android mobile development (Java, Kotlin) Experience working as a developer for cross platform mobile development Experience working with diverse teams from development, testing, security, architecture, infrastructure to business and management Experience with build management tools including continuous integration and delivery practices and tools (Gradle, Jenkins) Experience with continuous test automation tooling (Perfecto, Applitools) Software design and delivery with UX and accessibility front of mind Experience with latest development methodologies and tooling Development experience using common IDE and source systems (Android Studio, Git) Writing unit and functional automation tests (Junit, Roboelectric, Espresso) Release and configuration management practices including parallel development (tagging/branching strategies), managing multiple versions and third party library dependency management Experience with repository artifact management (Artifactory) Knowledge of code quality analysis tools (coverage, duplication, complexity, dependency analysis and standards) Desirable Skills/Experience:
Experience working as an engineer within one or more alternate mobile application development technologies (Objective-C, Swift, React Native) Experience working as an engineer within one or more backend technologies, RESTful JSON APIs and microservices Experience with Query Languages for APIs (Graph QL) Experience with cloud-based technologies and managed services (AWS)