JPMorganChase is seeking an Executive Director of Software Engineering to lead and participate in the development of their innovative multi-asset trading platform on AWS, addressing the need for a hands-on leader with deep expertise in streaming, non-blocking, reactive Java programming, and microservices architecture.
Requirements
- Deep knowledge and expertise in Java programming, with a self-assessed proficiency of 8 out of 10 or higher, and a willingness to engage in hands-on coding.
- Experience with middle-tier data caching solutions (e.g., Redis, Apache Ignite) and messaging-based solutions (e.g., Kafka, IBM MQ).
- Knowledge of modern architectures based on microservices, REST APIs, databases, SQL, non-SQL stores, and event-based architecture.
- Strong understanding of CI/CD, DevOps tool chains, and a test-driven approach to agile delivery, with hands-on experience in these areas.
- Hands-on experience with Spring framework and AWS cloud services, actively applying these skills in development tasks.
- Experience in trading systems and familiarity with FIX protocol is an added advantage.
- Ability to solve complex and mission-critical problems, both internally and externally, with a hands-on approach.
Responsibilities
- Lead, mentor, and actively engage with a team of technologists to develop and deploy applications to the highest standards, ensuring alignment with business and functional requirements.
- Design and implement microservices in Java, utilizing streaming, non-blocking, and reactive programming techniques, while also contributing directly to the codebase.
- Utilize technologies such as Kafka, IBM MQ, Kubernetes (K8s), Redis cache, MSK, and AWS to build scalable and efficient systems, providing both strategic direction and hands-on support.
- Drive the adoption of domain-driven design principles and ensure the architecture supports the trading platform's multi-asset capabilities, while actively participating in architectural discussions.
- Oversee and contribute to the development of technical documentation, including service APIs using Swagger, ensuring robust logging, auditability, security, and monitoring features.
- Participate in API design sessions and guide the selection of design patterns for the team, while also contributing to the design process.
- Lead and participate in code review sessions, providing sign-off and ensuring high maintainability through TDD/BDD approaches.
Other
- Bachelor's degree in Computer Science or a related field from a reputed university/college, or equivalent experience.
- 8-10 years of experience as a software engineer, with a proven track record in building distributed architecture systems, especially those involving large data volumes and real-time distribution.
- Proven ability to mentor, groom, and guide junior team members, fostering a collaborative and growth-oriented environment.
- A constant learner and early adopter of leading-edge technologies and methodologies, actively seeking opportunities to apply new knowledge.
- Must be an equal opportunity employer and place a high value on diversity and inclusion at the company.