We are looking for a Performance Engineer with strong Java experience to help evaluate, troubleshoot, and optimize the performance, scalability, and reliability of enterprise applications. This role will focus on performance testing, analysis, and tuning across Java-based applications and services. The ideal candidate has hands-on experience designing and executing performance tests, analyzing application behavior and bottlenecks, and working with development teams to identify and implement performance improvements.
Responsibilities:
- Design, develop, and execute performance, load, stress, and scalability tests for Java-based applications.
- Analyze performance test results to identify bottlenecks and areas for optimization.
- Tune and optimize Java applications for improved response time, throughput, scalability, and resource utilization.
- Troubleshoot performance issues across application, database, and infrastructure layers.
- Work closely with Java developers, architects, QA, and infrastructure teams to identify and resolve performance issues.
- Monitor application performance and analyze metrics including CPU, memory, latency, throughput, and resource utilization.
- Develop performance test scenarios that accurately represent real-world production workloads.
- Establish performance baselines and benchmarks and track improvements over time.
- Document performance findings, recommendations, and tuning results.
- Support performance testing throughout the software development lifecycle.
Requirements:
- Strong professional experience with Java and Java-based enterprise applications.
- Hands-on experience with performance testing and performance engineering.
- Experience with one or more performance testing tools such as JMeter, LoadRunner, Gatling, or k6.
- Experience analyzing application performance and identifying root causes of bottlenecks.
- Understanding of Java/JVM performance, including memory management, garbage collection, threading, and application profiling.
- Experience with performance monitoring and profiling tools.
- Strong understanding of APIs, distributed applications, and/or microservices.
- Experience working with relational databases and understanding of database performance.
- Strong analytical and troubleshooting skills.
Required Skills:
- Java
- Performance testing tools (e.g., JMeter, LoadRunner, Gatling, k6)
- Java/JVM performance tuning
- Application performance analysis
- Performance monitoring and profiling
Preferred Skills:
- Experience with AWS or other cloud environments.
- Experience with containerized applications and Kubernetes.
- Experience with observability/APM platforms such as Dynatrace, Datadog, AppDynamics, or New Relic.
- Experience with Java profiling tools such as JProfiler, VisualVM, or similar.
- Experience with CI/CD and integrating performance testing into automated pipelines.
- Experience with large-scale enterprise applications and high-volume workloads.