DescriptionJoin us as Lead Android Software Engineer at Chase, where you can elevate your career in our Digital development team. We're focused on creating innovative, market-disrupting experiences and services, offering a rewarding opportunity for talented software developers.
As a Lead Android Software Engineer at JPMorgan Chase within the Digital Development team, you will be presented with a rewarding and stimulating opportunity to elevate your software engineering career. Our focus is on crafting innovative, market-disrupting experiences and services. We appreciate clear, well-documented, and maintainable code, and we are in search of developers who share this perspective.
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, equity, inclusion, and respect
Required qualifications, capabilities, and skills:
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Work with API integration Past experience in RxJava, LiveData, and Restful API integration is expected
- Knowledge of Unit testing libraries like Mockito Experience with distributed systems, caching, and persistence solutions
- Proficient in coding in one or more languages
- Understanding of build systems such as Gradle, Jenkins
- Solid understanding of agile methodologies such as CI/CD, Applicant Resiliency, and Security
- Demonstrated knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
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.
- Understands 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.
- Develop test driven mobile app features following agile software development methodology using Java, Kotlin, Android Jetpack, RxJava, and Retrofit. Ensure code adheres to industry coding best practices.