Description
We are seeking a Mobile AVP Software Engineer to join our team at Barclays, where you will spearhead the evolution of our digital landscape, driving innovation and excellence.
Purpose of the role As a Mobile AVP Software Engineer, you will design, develop, and improve software, utilizing various engineering methodologies, that provides business, platform, and technology capabilities for our customers and colleagues.
Accountabilities
- Development and delivery of high-quality software solutions using industry-aligned programming languages, frameworks, and tools.
- Cross-functional collaboration with product managers, designers, and other engineers to define software requirements, devise solution strategies, and ensure seamless integration and alignment with business objectives.
- Collaboration with peers, participation in code reviews, and promotion of a culture of code quality and knowledge sharing.
- Staying informed of industry technology trends and innovations and actively contributing to the organisation's technology communities to foster a culture of technical excellence and growth.
- Adherence to secure coding practices to mitigate vulnerabilities, protect sensitive data, and ensure secure software solutions.
- Implementation of effective unit testing practices to ensure proper code design, readability, and reliability.
Assistant Vice President Expectations
- Advising and influencing decision-making, contributing to policy development, and taking responsibility for operational effectiveness.
- Leading a team performing complex tasks, using well-developed professional knowledge and skills to deliver on work that impacts the whole business function.
- Setting objectives and coaching employees in pursuit of those objectives, appraising performance relative to objectives, and determining reward outcomes.
Requirements
- Strong Android development experience with expert knowledge of Kotlin and experience supporting legacy Java codebases.
- Android SDK, Android Studio & Jetpack Components.
- Experience building modern Android applications using XML and Jetpack Compose, Navigation Component and Compose Navigation, Architectural patterns (MVVM, MVP), Kotlin Coroutines and Flows, and Dependency Injection (Hilt / Dagger).
- Strong understanding of Android lifecycle management, state handling, and side-effect management, notifications, and permissions.
- Experience with networking technologies such as Retrofit and OkHttp.
- Strong knowledge of Gradle, Modularisation strategies, and Build optimisation.
- Experience with automated testing using JUnit, Mockito, and/or MockK, Compose UI Testing.
- Experience with CI/CD pipelines, ideally Jenkins, GitLab, GitHub, Snyk, GitFlow, and Trunk-Based Development.
- Monitoring and observability platforms such as Datadog, Firebase, or similar tools.
- Strong understanding of application architecture, dependency management, and maintainable code design.