DescriptionWe have an exciting and rewarding opportunity for you to take your software engineering career to the next level.
As a Software Engineer III at JPMorgan Chase within Consumer & Community banking, 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
- 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, analyzes, 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
- Contributes to software engineering communities of practice and events that explore new and emerging technologies
- Adds to team culture of diversity, opportunity, inclusion, and respect
Required qualifications, capabilities, and skills
- 5+ years of applied experience in software engineering, with a focus on Android development.
- Strong understanding of the Android ecosystem, including application lifecycle, performance optimization, and system constraints.
- Expertise with the Android SDK and core Jetpack libraries: (e.g., Compose, LiveData, ViewModel, Navigation Component).
- Strong knowledge of modern concurrency patterns in Kotlin especially Coroutines.
- Experience with API design, versioning, and backward compatibility in collaboration with backend teams.
- Proficiency in Unit and Instrumentation testing: using libraries such as Mockito and Espresso.
- Experience with distributed systems concepts: including caching strategies, local persistence solutions, and data synchronization.
- Proficiency with modularization strategies and dependency injection frameworks (e.g., Dagger, Hilt, or Koin).
- Familiarity with best practices in mobile design: Adhering to Material Design guidelines, proper threading management, and accessibility best practices.
- Solid understanding of modern architectural patterns: such as MVI (Model-View-Intent) and MVVM (Model-View-ViewModel).
- Understanding of build systems and CI/CD pipelines: Experience with Gradle, Jenkins, or similar tools
Preferred qualifications, capabilities, and skills
- Working knowledge of Git/Bitbucket version control. Ability to communicate effectively with other technical resources and the company as a whole
- Proficiency with Mac OS , GNU tools, and scripting languages is a bonus
- Prior experience working on agile teams is a plus. Pair programming ability is a bonus
- Created an application that is available on google play store (bonus but not a must)