Description
We are currently seeking an experienced professional to join our team in the role of Sr. Associate Director, Software Engineering.
Principal Responsibilities
- Android Application Development: Design, build, and maintain Android applications and reusable components aligned to agreed architecture and engineering best practices.
- Develop customer-centric user experiences using modern Android UI frameworks (Jetpack Compose and/or XML Views) and implement robust application logic using current Android development approaches.
- Integrate applications with backend services and APIs, ensuring reliability, performance, and secure data handling.
- Contribute directly to feature delivery, bug fixing, and technical improvements across the mobile codebase.
- Partner with product and design to translate requirements into scalable, maintainable technical solutions.
Engineering Quality and Governance
- Ensure high-quality code through clean architecture, unit testing, and peer code reviews.
- Follow governance processes to ensure long-view technical design is in place for robustness, scalability, and maintainability.
- Drive performance optimisation, stability improvements, and secure coding practices appropriate for banking-grade applications.
- Maintain and improve development standards, including coding guidelines, branching strategies, release readiness checks, and technical documentation.
Issue Resolution
- Identify and diagnose complex technical issues across devices, Android OS versions, OEM variations, and integration points.
- Develop and implement effective solutions in a timely manner, collaborating with other engineers where needed.
- Maintain a clear log of issues and resolutions, providing structured updates to stakeholders (including risks, mitigations, and timelines).
Continuous Improvement
- Gather feedback from users and internal teams to identify areas for improvement in the Android app and development lifecycle.
- Work closely with platform and engineering teams to implement enhancements and optimisations based on feedback and data (e.g., crash analytics, performance metrics).
- Stay up to date with Android ecosystem changes (SDK updates, Jetpack libraries, Play policies, security guidance), incorporating relevant advancements into the team’s approach.
- Contribute to documentation, including developer guides, FAQs, and troubleshooting tips to support maintainability and onboarding.
Communication and Collaboration
- Maintain open lines of communication with product, design, QA, security, and backend teams, providing regular updates on progress and risks.
- Participate in cross-functional meetings to share insights and collaborate on mobile-related initiatives.
- Foster a positive, supportive environment that encourages knowledge sharing, mentoring, and teamwork.
Requirements
- Strong problem-solving abilities, with a proven track record of resolving complex technical issues.
- Excellent communication skills, both written and verbal, to collaborate effectively with cross-functional teams.
- Ability to work in a fast-paced environment, managing multiple projects and priorities.
- Strong experience with version control (Git) and modern branching/release practices.
- Familiarity with CI/CD pipelines and tools such as Jenkins (or equivalent).
- Good understanding of Android performance optimisation (startup time, rendering, memory, battery) and secure coding best practices.
- Experience integrating mobile apps with cloud services and APIs (REST/GraphQL), including authentication and secure session handling.
- Working knowledge of Agile development methodologies.
- Minimum 3+ years of professional Android development experience, including recent experience delivering production apps.
- Proficiency in Kotlin (and understanding of Java where required).
- Strong understanding of Android app architecture and patterns (e.g., MVVM, Clean Architecture), modularisation, and dependency injection (e.g., Hilt/Dagger/Koin).
- Experience building UI with Jetpack Compose (preferred) and/or Android Views, including state management and complex UI rendering.
- Experience with Android Jetpack libraries (e.g., ViewModel, Navigation, Room/DataStore, WorkManager).
- Solid understanding of concurrency and async programming (Coroutines/Flow, threading).
- Experience with testing practices: unit testing (JUnit), UI testing (Espresso/Compose UI), and testability by design.
- Awareness of security expectations for mobile banking (e.g., secure storage, encryption, certificate pinning/transport security, OWASP MASVS concepts).
This listing is enriched and indexed by YubHub. To apply, use the employer's original posting:
https://portal.careers.hsbc.com/careers/job/563774612313303