About this role
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.