Haystack
← Back to Jobs
Technology
ET

Senior Java Performance & Reliability Engineer

Espire technologiesAlpharetta, GA🇺🇸United StatesPosted Sep 20, 2026

Quick Overview

Seniority
Mid Senior
Work mode
Hybrid
Location
Alpharetta, GA, United States
Posted
2 days ago
DockerMicroservicesSQLSpringSpring BootAWSLoad BalancingSplunkGatlingGrafanaJMeterJavaKubernetesRedis

Job Description

Job description

We are seeking an experienced Senior Java Engineer with deep expertise in Java application performance, distributed systems, databases, concurrency, and production troubleshooting. The ideal candidate will be highly hands-on and comfortable working with both modern and legacy Java applications, identifying performance bottlenecks, optimizing resource utilization, and resolving complex production issues.

This role requires someone who can go beyond application development and understand how applications behave at scale across Java, databases, containers, Kubernetes, networks, caching, and infrastructure.

Responsibilities

  • Read, debug, refactor, and optimize existing Java applications across Java 8, 11, 17, and 21.
  • Diagnose and resolve complex application performance and scalability issues.
  • Analyze CPU spikes, memory leaks, high resource utilization, thread contention, and application latency.
  • Perform root cause analysis by reviewing application logs, thread dumps, heap dumps, and system metrics.
  • Optimize SQL queries and database interactions, including indexes, connection pooling, database locks, and transaction management.
  • Analyze application algorithms and identify opportunities to improve time and space complexity.
  • Troubleshoot applications operating in distributed and high-volume environments.
  • Understand and analyze traffic and data flow across applications, APIs, networks, and load balancers.
  • Design and troubleshoot multi-threaded and concurrent Java applications, including thread safety, synchronization, and resource management.
  • Work with containerized applications and Kubernetes environments.
  • Design and execute performance and load-testing strategies using JMeter, Gatling, or equivalent tools.
  • Use profiling tools such as JProfiler, YourKit, or equivalent to identify application-level performance bottlenecks.
  • Use monitoring and observability platforms such as Splunk, Dynatrace, AppDynamics, Grafana, or equivalent tools for proactive monitoring and troubleshooting.
  • Work with caching technologies such as Redis to improve application performance and scalability.
  • Collaborate with development, architecture, infrastructure, database, and production-support teams to resolve complex issues.
  • Recommend improvements to application architecture, code quality, scalability, reliability, and performance.

Required Qualifications

  • 5+ years of professional Java development experience, preferably supporting large-scale enterprise applications.
  • Strong hands-on expertise with Java 8, 11, 17, and 21.
  • Ability to understand and refactor code written by other developers, including legacy applications.
  • Deep understanding of Java memory management, JVM behavior, garbage collection, memory leaks, and CPU utilization.
  • Strong understanding of multi-threading, concurrency, synchronization, thread safety, and parallel processing.
  • Strong understanding of data structures, algorithms, and Big O time/space complexity.
  • Deep knowledge of relational databases and SQL optimization, including indexing, query optimization, connection pooling, locking, and transactions.
  • Strong experience working with distributed systems and microservices architectures.
  • Understanding of networking, load balancing, application traffic, and data flow across distributed environments.
  • Hands-on experience with Docker/containers and Kubernetes.
  • Strong production troubleshooting skills, including log analysis and root cause analysis.
  • Experience using application profiling and diagnostic tools.
  • Experience with monitoring and observability platforms.
  • Knowledge and practical experience with caching mechanisms such as Redis.

Preferred Qualifications

  • Experience supporting applications with large user bases and high transaction volumes.
  • Hands-on experience with performance and load-testing tools such as JMeter or Gatling.
  • Experience troubleshooting performance issues in cloud-native and Kubernetes environments.
  • Experience with Spring Boot and microservices-based Java applications.
  • Experience with cloud platforms such as AWS.
  • Strong understanding of application resiliency, scalability, availability, and performance engineering.
  • Experience with CI/CD and modern DevOps practices.
  • Ability to work across development and production environments and take ownership of issues through resolution.

Similar jobs