What are the responsibilities and job description for the Sr Lead Software Engineer- Android position at JPMorgan Chase?
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.
- 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)
- 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.