Principal Software Engineer
JPMC Candidate Experience page
About the role
If you are looking for a game-changing career, working for one of the world's leading financial institutions, you’ve come to the right place.
As a Principal Software Engineer at JPMorganChase within the Commercial and Investment Bank Payment Performance Engineering team, you will serve as the technical authority and execution lead for performance engineering across our platforms. You will be hands-on and strategic—defining non-functional requirements (NFRs) and service level objectives (SLOs), embedding performance into CI/CD, scaling automated performance testing, and driving resiliency, capacity, and user experience outcomes across distributed systems. You will set the bar for performance-first design, partner closely with architecture, SRE, and application teams, and ensure performance risks are identified and eliminated before production.
Job responsibilities
- Define and institutionalize application- and endpoint-level NFRs and SLOs, including p95/p99 latency, throughput, ramp profiles, and error budgets
- Drive proactive performance engineering through early bottleneck detection, architectural guidance, and capacity modeling
- Serve as the final technical authority for performance sign-offs across platform releases
- Design, build, and maintain automated test suites for load, stress, soak, spike, and capacity scenarios
- Virtualize partner dependencies and inject faults to validate components when upstream systems are unavailable
- Expand fully automated, environment-aware performance test execution (on-commit/overnight) with health checks and actionable sanity tests
- Build dashboards and alerts correlating performance test signals with production telemetry against defined SLOs
- Provide actionable reporting on SLO variance, drift, and per-endpoint hotspots using RUM, synthetic, and server-side metrics
- Embed performance gates into CI/CD pipelines (pre-deploy smoke, post-deploy validation, regression detection with auto-fail/notify)
- Lead chaos and resiliency experiments (CPU, memory, network, latency, dependency failures) and validate autoscaling under extreme load
- Apply AI/LLMs to workload and scenario generation, metrics interpretation, and automated reporting with measurable success guardrails
Required qualifications, capabilities, and skills
- 15+ years of overall engineering experience, with 10+ years in performance engineering for high-traffic distributed systems (web, APIs, microservices, event-driven, data-centric)
- Hands-on software engineering experience with Java/Spring Boot and Kubernetes (self-managed and EKS)
- Deep expertise in workload modeling, queuing theory, and statistical analysis of latency/throughput; fluent with percentile-based SLOs and error budgets
- Proficiency with load and protocol testing tools such as JMeter and BlazeMeter
- Scripting/orchestration skills in Java, Python, or TypeScript for performance automation and execution control
- Experience with service virtualization and fault injection (e.g., WireMock, Mountebank, Toxiproxy), including record-replay and dynamic templating
- Strong observability/APM capabilities using Dynatrace and/or OpenTelemetry, plus RUM and synthetic monitoring approaches
- Experience building dashboards and analysis workflows in Kibana and/or Grafana to drive actionable decisions
- Strong CI/CD and DevOps experience (e.g., Jenkins, GitLab, GitHub Actions) including repeatable sign-offs, artifact/version alignment, and environment promotion
- Infrastructure-as-code and platform delivery experience (e.g., Terraform, CloudFormation) including autoscaling strategies
- Ability to partner across architecture, SRE, and application teams to coach standards adoption and drive release readiness
Preferred qualifications, capabilities, and skills
- Experience with data-platform performance optimization (e.g., Oracle tuning, JDBC pool tuning, Kafka throughput/partitioning, caching strategies)
- Strong systems and cloud performance background (Linux tooling, JVM tuning, containers, AWS primitives such as compute, ALB/NLB, EKS, networking)
- Experience with k6 and other modern cloud-native load testing frameworks
- Familiarity with service mesh technologies (Istio/Linkerd) and traffic-control patterns (rate limiting, backpressure)
- Practical application of LLMs for test generation, anomaly detection, or automated reporting in engineering workflows
- Experience operating in financial-services scale, low-latency systems, and/or regulated environments
- Knowledge of advanced performance tooling (e.g., perf, eBPF) and production-grade troubleshooting practices
This position is subject to Section 19 of the Federal Deposit Insurance Act. As such, an employment offer for this position is contingent on JPMorgan Chase’s review of criminal conviction history, including pretrial diversions or program entries.
Skills
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free