Description
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