Android Lead Software Engineer
We have an opportunity to impact your career and provide an adventure where you can push the limits of what's possible.
As a Lead Software Engineer at JPMorganChase within the Consumer & Community Banking Mobile team, you are an integral part of an agile team that works to enhance, build, and deliver trusted market-leading technology products in a secure, stable, and scalable way. As a core technical contributor, you are responsible for conducting critical technology solutions across multiple technical areas within various business functions in support of the firm’s business objectives.
Job responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Gathers, analyses, synthesizes, and develops visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems
- Proactively identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
- Drives team adoption of enterprise-authorized AI-assisted engineering practices within the work environment to improve code quality, delivery speed, and operational outcomes (e.g., AI-assisted code review/refactoring, test strategy acceleration, incident/root-cause analysis support), while establishing consistent validation standards (secure coding, peer review, automated testing) and promoting reuse of effective patterns across the team.
- Applies knowledge of tools within the Software Development Life Cycle toolchain, including enterprise-authorized AI-assisted development and automation capabilities, to improve the value realized by automation.
- Executes standard software solutions, design, development, and technical troubleshooting
- Writes secure and high-quality code using Java, MVVM, Dagger, RxJava, and Kotlin
- Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
Learns and applies system processes, methodologies, and skills for the development of secure, stable code and systems
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Advanced coding in (Kotlin, Java)
- Demonstrated experience leading effective use of approved AI-assisted software development tools (e.g., for coding, code review, test acceleration, troubleshooting) with the ability to set team expectations for validating AI outputs for correctness, performance, and security.
- Strong understanding of responsible AI use in engineering workflows, including data sensitivity considerations, secure handling of inputs/outputs, and adherence to resiliency and security expectations; experience coaching engineers on safe, compliant adoption within delivery practices
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Solid understanding of agile methodologies such as CI/CD, Applicant Resiliency, and Security
- Experience working with Restful API integration
- Experience working with RxJava, LiveData, or State flows
- Experience in Unit testing libraries like Mockito, JUnit, Gherkin scripts for UI Test Automation.
- Strong understanding of java and android ecosystem and all mobile UI fundamentals, from layout to animations
- Familiarity with Agile development including daily scrum and weekly iteration reviews and planning
- Experience with Unit Testing frameworks
- Experience with Android jetpack, Kotlin Coroutines
- Understanding of SOLID principles and architectural patterns such as MVP, MVI and MVVM
- Experience with data injection tools, such as Dagger, Hilt, Kotlin, etc.