DescriptionWe 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 Corporate and Investment Bank, Global Equity Derivatives Risk Management 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. In this role, you will combine a unique mix of strong hands-on development skill, involvement in technical design and architecture decisions, and the ability to draw on deep experience to provide technical leadership and mentoring to a new and growing team of technologists.
In this this role, you will combine a unique mix of strong hands-on development skill, involvement in technical design and architecture decisions, and ability to draw on deep experience to provide technical leadership and mentoring to a new and growing team of technologists.
You will drive the full delivery lifecycle, from requirements gathering, helping take the strategy through to design, development, testing, deployment and support. The successful candidate must be passionate about working in a fast moving environment, collaborating across a global team of multiple disciplines and agile development process. The candidate must be excited about working with new technologies and continually learning and evolving their skillset.
Job responsibilities
- Work directly with business, quant and technology teams to articulate new technology requirements and solve business problems.
- Collaborate with other members of a globally distributed team to brainstorm new ideas / solutions, and provide mentoring and technical expertise to the team.
- Develop specific enhancements and/or build new solutions to fulfill business objectives related to new business requirements.
- Own end-to-end feature deliveries through the full SDLC process, including requirements gathering, development, unit and integration testing, packaging, deployment, and support.
- Work closely with other technology teams to ensure that required changes are made in other systems.
- Ensure technology solutions meet business and client requirements, that they are robust and supportable.
- Document release procedures and support notes for deliverables to enable proper support by our production management groups.
- Provide 3rd Level production support on a rota basis – analyze issues observed in production, provide detailed analysis and recommendations to production management groups, and identify opportunities to improve the production system.
- Mentor junior Java developers and conduct code and design reviews.
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years of applied experience.
- Hands-on practical experience delivering system design, application development, testing, and operational stability
- Excellent understanding of Java Core concepts, including object-oriented design, memory management, multi-threading/concurrency, and new language features up to Java 17.
- Strong experience with Java technologies/frameworks such as Spring/Spring Boot, Spring JPA/Hibernate, REST based services, etc.
- Strong experience with JVM performance analysis, including profiling, heap dump analysis, thread dump analysis, GC tuning, etc.
- Experience designing and implementing scalable microservice architectures with high resiliency capabilities.
- Experience supporting production environments, responding to user concerns, and taking ownership of production issues.
- Experience working in a 3rd Level advanced support capacity.
- Excellent communication skills and enthusiasm to work on a globally distributed team.
Preferred qualifications, capabilities, and skills
- Proficiency in Unix/Linux environments, ability to navigate the system, investigate processes and logs, analyze system performance using tools such as Dynatrace, etc.
- Experience of working in financial services / Understanding of equity derivative products.
- Exposure to cloud compute platforms, including AWS.
- Experience with Databases – relational as well as No-SQL - Sybase / Oracle / Mongo DB
- Experience with Messaging Middleware platforms – Kafka / RabbitMQ
- Experience with full development lifecycle and tools, including Git/Bitbucket, Jira, Jenkins, Gradle, Maven.
- Experience with Test-Driven Development (TDD) using tools such as JUnit and mocking frameworks.