Lead Software Engineer
We are actively seeking a highly skilled and motivated software engineer to join our Engineering team with a focus on streamlining DevOps and automation. As a Lead Software Engineer at JPMorgan Chase within the Commercial & Investment Bank 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.
Working within the Limits Management team of Markets technology, the team is responsible for providing a robust multi-asset risk and control management platform that supports FICC and Equities trading activities. Through code and cloud infrastructure, you will configure, maintain, monitor, and optimize applications and their associated infrastructure to independently decompose and iteratively improve on existing solutions. You are a significant contributor to your team by sharing your knowledge of end-to-end operations, availability, reliability, and scalability of your application or platform.
Job Responsibilities
Writes high-quality, maintainable, and well-tested software to develop reliable and repeatable solutions to complex problems
Collaborates with product development teams to design, implement, and manage CI/CD pipelines to support reliable, scalable, and efficient software delivery
Partners with product development teams to capture and define meaningful service level indicators (SLIs) and service level objectives (SLOs)
Develops and maintains monitoring, alerting, and tracing systems that provide comprehensive visibility into system health and performance
Participates in design reviews to evaluate and strengthen architectural resilience, fault tolerance, and scalability
Upholds incident response management best practices, champions blameless postmortems, and continuous improvements
Debugs, tracks, and resolves complex technical issues to maintain system integrity and performance
Champions and drives the adoption of reliability, resiliency and software engineering best practices, leading by example
Required Qualifications, Capabilities and Skills
Formal training or certification on software engineering concepts and 5+ years applied experience
Experience building production-grade software in at least one programming language such as Java, Python, or Go
Experience in writing unit tests and integration tests using tools such as JUnit, Mockito, or PyTest
Experience working with relational and NoSQL databases
Proficient knowledge of distributed systems, and reliability patterns for achieving redundancy, fault tolerance, and graceful degradation
Proficient knowledge of networking concepts, including TCP/IP, routing, firewalls, and DNS
Proficient knowledge of Unix/Linux, including performance tuning, process and memory management, and filesystem operations
Familiarity with DevOps practices and tools for continuous integration and continuous deployment (CI/CD), such as Github Actions, Docker, Kubernetes, GIT, branching strategies and SemVer
Experience analyzing, troubleshooting, and supporting large-scale systems
Preferred Qualifications, Capabilities, and Skills
Proficient knowledge of Java with a strong understanding of the Java programming language, including object-oriented programming concepts, and the JVM
Familiarity with observability and monitoring tools such as Prometheus, Grafana, or OpenTelemetry
Familiarity with cloud technologies such as AWS or GCP, including deployment, management, and optimization of cloud-based applications
Experience working in the financial/fintech industry