Lead Software Engineer- Android
Be an integral part of an agile team that's constantly pushing the envelope to enhance, build, and deliver top-notch technology products.
As a Senior Lead Software Engineer at JPMorgan Chase within an agile 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.. Drive significant business impact through your capabilities and contributions, and apply deep technical expertise and problem-solving methodologies to tackle a diverse array of challenges that span multiple technologies and applications.
Job responsibilities:
- Produces architecture and design artifacts for complex applications and ensures design constraints are met by software code development.
- Proactively identifies hidden problems and patterns in data and uses these insights to improve coding hygiene and system architecture.
Contributes to software engineering communities of practice and participates in events that explore new and emerging technologies.
Leverages enterprise-authorized AI coding assist tools within the work environment to improve code quality, delivery speed, and productivity across complex deliverables (e.g., code generation/refactoring, unit test creation, documentation), while validating outputs through peer review, automated testing, and secure coding standards; contributes learnings and reusable patterns to improve broader team effectiveness.
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.
- Adds to a team culture of diversity, opportunity, inclusion, and respect.
- Focus on creating an informative, data-promoten journey with a customer-focused mindset
- Demonstrate the ability to understand requirements and translate them into efficient code
- Gain experience with Kotlin, Jetpack Compose, RxJava, LiveData, mobile UI fundamentals (from layout to animations), and RESTful API integration
- Utilize experience with unit and functional testing libraries like Mockito and Espresso
- Leverage experience with distributed systems, caching, and persistence solutions.
- Apply understanding of architectural patterns such as MVP and MVVM, and application design patterns (Gang of Four).
- Utilize understanding of build and CI systems such as Gradle and Jenkins
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 in one or more programming language(s)
- Hands-on experience using enterprise-authorized AI-assisted software development tools within the work environment (e.g., for coding, test creation, troubleshooting, or documentation) with demonstrated ability to critically evaluate, validate, and refine AI-generated outputs for correctness, performance, and security.
- Understanding of responsible AI use in engineering workflows, including data sensitivity considerations, secure handling of inputs/outputs, and adherence to resiliency and security expectations; ability to guide peers on safe and effective usage within team practices.
- Advanced knowledge of software applications and technical processes with considerable in-depth knowledge in one or more technical disciplines (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
- Ability to tackle design and functionality problems independently with little to no oversight
- Practical cloud native experience
- Experience in Computer Science, Computer Engineering, Mathematics, or a related technical field
Preferred qualifications, capabilities, and skills:
- Work with mobile application team to setup monitoring and resolve production issues/crashes on mobile devices. Assist with troubleshooting, root cause analysis, and ensure that software bugs are corrected in an expedient manner. Communicate resolution & next steps.
- Experience with mobile testing in areas like unit test, automation test, testing/debugging using emulator and device including experience with mobile application profiling for memory analysis, thread analysis and heap analysis on devices, emulators and simulators.
- Can work with large codebases, managing shared resources and libraries and involvement in the ongoing development one or more mobile applications available in Apple's App Store or Google’s Play Store.
- Ability to troubleshoot and identify root causes under time pressure.
- Experience building localized, multi-tenant solutions.
- Strong experience with data structures and multithreading.