What are the responsibilities and job description for the Lead Software Engineer - IOS & Android Native position at JPMorgan Chase?
We have an opportunity to impact your career and provide an adventure where you can push the limits of what's possible.
Job Description
As a Lead Software Engineer at JPMorgan Chase within the mobile authentication 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. As a core technical contributor, you are responsible for conducting critical technology solutions across multiple technical areas within various business functions in support of the firm’s business objectives.
Job responsibilities
- Execute software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Provide overall direction, oversight, and coaching for a team of entry-level to mid-level software engineers working on basic to moderately complex tasks
- Be accountable for decisions that influence team resources, budget, tactical operations, and the execution and implementation of processes and procedures
- Ensure successful collaboration across teams and stakeholders
- Identify and mitigate issues to execute a book of work while escalating issues as necessary
- Provide input to leadership regarding budget, approach, and technical considerations to improve operational efficiencies and functionality for the team
- Create a culture of diversity, opportunity, inclusion, and respect for team members and prioritize diverse representation
- Create secure and high-quality production code and maintain algorithms that run synchronously with appropriate systems
- Produce architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Gather, analyze, synthesize, and develop visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems
- Proactively identify hidden problems and patterns in data and use these insights to drive improvements to coding hygiene and system architecture
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5 years applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Proficient in coding in one or more languages (Swift, Objective C, Java, Kotlin)
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Overall knowledge of the Software Development Life Cycle
- Solid understanding of agile methodologies such as CI/CD, application resiliency, and security
- Experience working with Restful API integration
- Experience working with Keychain, Wallet, and Apple security standards
- Experience in unit testing libraries like Xcode unit tests and Gherkin scripts for UI Test Automation
- Strong understanding of Java and iOS ecosystems and all mobile UI fundamentals, from layout to animations
- Experience working with large codebases, managing shared resources and libraries
Preferred qualifications, capabilities, and skills
- Familiarity with Agile development including daily scrum and weekly iteration reviews and planning
- Understanding of SOLID principles and architectural patterns such as MVP, MVI, and MVVM
- Hands-on experience and comfort working at code level and participating in all SDLC processes
- Created one or more mobile applications with over 100K downloads
- Experience in Android mobile application development with at least one application in the Google Play app store
- Familiarity with mobile app development for identity wallets (iOS/Android)
- Experience collaborating with cross-functional teams in a fast-paced environment