Job Description
Project Overview
We are seeking an experienced Java performance instructor to deliver a 3-day, hands-on training program (7 hours/day, 21 hours total) focused on JVM, garbage collection (GC), and code-level performance optimization.
The course should be practical and interactive, with live labs and guided exercises that teach participants to measure, diagnose, and optimize Java applications.
Target Audience
- Intermediate to advanced Java developers
- Engineers responsible for troubleshooting and optimizing JVM-based services
- Teams aiming to improve application performance, reduce latency, and optimize memory usage
Training Objectives
By the end of the training, participants will be able to:
- Apply a structured performance methodology: measure → isolate → verify → iterate
- Understand JVM fundamentals, including memory models and JIT compilation effects
- Diagnose GC and memory issues and select appropriate GC strategies
- Use modern monitoring and profiling tools to identify performance bottlenecks
- Design and interpret microbenchmarks correctly, avoiding common pitfalls
- Apply JVM tuning and memory optimization techniques confidently
Trainer Responsibilities
- Deliver live, interactive instruction with strong hands-on labs, guided debugging, and Q&A
- Provide lab environment setup instructions (local setup or pre-packaged VM)
- Share training materials: slides, notes, and lab files
- Include real-world troubleshooting patterns and actionable takeaways for practical application
- Provide a post-training summary with key points and recommended next steps
Required Expertise
- Extensive Java performance engineering experience (JVM, GC, profiling, benchmarking)
- Hands-on experience with tools such as:
- Java Flight Recorder (JFR) & Java Mission Control (JMC)
- Profilers: VisualVM, async-profiler, YourKit, JProfiler, etc.
- JMH microbenchmarking
- Ability to explain complex performance concepts clearly to working developers
- Experience troubleshooting live JVM performance issues
Nice to Have
- Experience tuning low-latency services and interpreting tail latency
- Experience in production performance triage (threading, contention, I/O bottlenecks)
- Familiarity with performance testing approaches and test design
Engagement Details
Training Style: Interactive, lab-heavy, focused on practical skills
Duration: 3 consecutive days, 7 hours/day (21 total hours)
Delivery: Remote live (unless specified otherwise)