We have an opportunity to impact your career and provide an adventure where you can push the limits of what's possible.
As a Lead Software Engineer at JPMorgan Chase in Infrastructure Platforms, 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.
The team is responsible for the development and maintenance of a comprehensive suite of Relational Database Managed Services, deployed across both private and public cloud environments. This self-service product is designed to support all Lines of Business, ensuring seamless integration and functionality. The development team is globally distributed, working collaboratively in a dynamic and rapidly evolving environment. They are engaged in multiple large-scale projects simultaneously, driving innovation and excellence in database management solutions.
Job responsibilities
Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problemsActs as a Lead developer who will help set direction and best practice around automated testing, platform framework, SDLC as well as acting a point of contact for more junior developers to give them guidance on best practices.Collaborate with other backend developers to get involved with code reviews and building up our suite of microservices components to facilitate faster development.Leads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologiesDevelops secure high-quality production code, and reviews and debugs code written by othersIdentifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systemsLeads evaluation sessions with external vendors, startups, and internal teams to drive outcomes-oriented probing of architectural designs, technical credentials, and applicability for use within existing systems and information architectureLeads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologiesAdds 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 experienceHands-on practical experience delivering system design, application development, testing, and operational stabilityAdvanced in one or more programming language(s)- Python with the ability to write clean, efficient, and maintainable codeExperience with database management and optimization, ensuring robust and scalable data solutionsProficiency in automation and continuous delivery methodsStrong experience in developing web applications using Django and Django REST Framework, with a focus on building scalable and maintainable RESTful APIsPractical cloud native experience- AWS and infrastructure as code.Experience in developing, debugging and automated testing (e.g. PyUnit) within a commercial setting.Experience in front end development (e.g. REACT, JavaScript)Proficient in all aspects of the Software Development Life CyclePreferred qualifications, capabilities, and skillsExperience in designing, deploying, and managing containerized applications using Kubernetes, with a strong understanding of orchestration and scaling strategies.Ability to architect and manage infrastructure on AWS Cloud, utilizing Infrastructure as Code (IaC) tools like Terraform to automate and optimize deployment processes.Hands-on experience with relational databases like Oracle, MSSQL, PostgreSQL or similar distributed databases, ensuring data consistency, reliability, and performance in distributed environments.Experience in designing and implementing control plane architectures for large-scale applications, focusing on efficient resource management, orchestration, and system reliability to support complex, distributed systems.