What are the responsibilities and job description for the Lead Software Engineer - Python, Data Platform, Trading 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.
As a Lead Software Engineer at JPMorgan Chase within the Commercial & Investment bank and Electronic Trading Technology Data Analytics, 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
- 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 problems.
- Champion the integration and adoption of Python technologies within our hybrid Python/KDB platform.
- Collaborate closely with Quant Research and Trading Desks in a dynamic, data-driven environment.
- Design and implement innovative software solutions, employing creative problem-solving skills to address complex technical challenges.
- Develop secure, high-quality production code, and conduct code reviews and debugging for peers.
- Identify and automate solutions for recurring issues to enhance the operational stability of software applications and systems.
- Lead communities of practice within Software Engineering to promote the use of emerging technologies.
- Foster a team culture that values diversity, equity, inclusion, and respect.
- Guide team members through effective management of the book of work, improving team performance through SDLC, testing, and continuous enhancement of coding standards.
- Develop scalable real-time processing solutions using agile methodologies.
- Work with application support teams to maintain and support the platform.
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) Extensive experience with Python and its data ecosystem (numpy, pandas, iceberg, spark, jupyter).
- In-depth knowledge of Python internals and the ability to develop performance-optimized Python solutions.
- Formal training or certification in software engineering concepts with advanced applied experience.
- Hands-on experience in system design, application development, testing, and ensuring operational stability. Proficiency in automation and continuous delivery practices.
- Expertise in all aspects of the Software Development Life Cycle.
- Advanced understanding of agile methodologies, including CI/CD, Application Resiliency, and Security.
- Experience in leading development efforts: requirements gathering, task decomposition, time and effort estimation, delivery planning, testing, and user acceptance testing.
- In depth knowledge of the financial services industry and their IT systems
Preferred qualifications, capabilities, and skills
- Knowledge of common data science libraries in Python : scikit-learn, pytorch, tensorflow.
- Familiarity with public cloud compute & storage services like Amazon EC2, EKS, S3, Fsx Lustre.
- Experience using KDB and/or associated q language would be advantageous.
- Experience working in a platform or developer experience team – enabling developers / data scientists and building easy to use APIs.
- Background in Financial Services, Securities Trading.