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 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.