Lead Software Engineer, Trading Technology
Job Description
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 JPMorganChase within the Trading Technology, 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 • Work alongside a team of technologists to develop and deploy applications that meet business and functional requirements. • Contribute to the design and implementation of microservices in Java, applying streaming, non-blocking, and reactive programming techniques under the guidance of senior team members. • Use technologies such as Kafka, IBM MQ, Kubernetes (K8s), Redis cache, MSK, and AWS to build and maintain scalable services. • Support the team's adoption of domain-driven design principles and take part in architectural discussions. • Assist in producing technical documentation, including service APIs using Swagger, and help implement logging, auditability, security, and monitoring features. • Take part in API design sessions and help evaluate design patterns proposed by the team. • Write test cases using TDD/BDD approaches and participate in code review sessions, both as a reviewer and reviewee. • Help validate the scalability of services using mock testing frameworks and other tools. • Drives team adoption of enterprise-authorized AI-assisted engineering practices within the work environment to improve code quality, delivery speed, and operational outcomes (e.g., AI-assisted code review/refactoring, test strategy acceleration, incident/root-cause analysis support), while establishing consistent validation standards (secure coding, peer review, automated testing) and promoting reuse of effective patterns across the team. • Applies knowledge of tools within the Software Development Life Cycle toolchain, including enterprise-authorized AI-assisted development and automation capabilities, to improve the value realized by automation.
Required qualifications, capabilities, and skills • Bachelor's degree in Computer Science or a related field, or equivalent experience. • Working knowledge of Java programming, with a self-assessed proficiency of 5 out of 10 or higher, and a willingness to engage in hands-on coding. • Formal Training and certification on software engineering and 5+ years of applied experience • Exposure to distributed architecture systems involving large data volumes or real-time distribution. • Familiarity with CI/CD, DevOps tool chains, and a test-driven approach to agile delivery. • Exposure to middle-tier data caching solutions (e.g., Redis, Gemfire, Apache Ignite) and/or messaging-based solutions (e.g., Kafka, IBM MQ) is a plus. • Understanding of modern architectures based on microservices, REST APIs, databases, SQL, non-SQL stores, and event-based architecture.
Preferred qualifications, capabilities, and skills • Exposure to the Spring framework and AWS cloud services. • Familiarity with trading systems and the FIX protocol is an added advantage. • Willingness to take on complex problems with support from senior team members. • A constant learner, open to adopting new technologies and methodologies as the team evolves.
To apply for this position, please use the following URL: https://ars2.equest.com/?response_id=9b220b1a546fa930dc5fe203cbbb1b81