Job Description
Project Overview
We are seeking an experienced Java performance instructor to deliver a 3-day, instructor-led training (7 hours/day, 21 hours total). The sessions should be highly practical and hands-on, teaching participants how to measure, diagnose, and optimize Java application performance at the JVM, GC, and code level.
Target Audience
- Java developers (intermediate and above)
- Engineers troubleshooting performance issues in JVM-based services
Training Objectives
By the end of the training, participants should be able to:
- Apply a structured performance methodology: measure → isolate → verify → iterate
- Understand JVM performance fundamentals (memory model, JIT compilation effects)
- Diagnose GC and memory-related issues and select appropriate GC strategies
- Use modern monitoring and profiling tools to identify bottlenecks
- Design and interpret microbenchmarks correctly, avoiding common pitfalls
- Apply JVM and memory tuning techniques with confidence
Trainer Responsibilities
- Deliver live instruction with strong hands-on components (labs, guided debugging, Q&A)
- Provide a runnable lab environment plan with setup instructions and prerequisites
- Share training materials (slides, notes, lab files)
- Include real-world troubleshooting patterns and “what to do Monday morning” guidance
- Provide a short post-training summary with key takeaways and recommended next steps
Required Expertise
- Extensive experience in Java performance engineering (JVM, GC, profiling, benchmarking)
- Practical experience with tools such as:
- Java Flight Recorder (JFR) & Mission Control (JMC)
- At least one profiler (VisualVM, async-profiler, YourKit, JProfiler, etc.)
- JMH microbenchmarking
- Ability to explain concepts clearly to developers and troubleshoot live
Nice to Have
- Experience tuning low-latency services and interpreting tail latency
- Experience with production performance triage (threading, contention, I/O bottlenecks)
- Familiarity with performance testing approaches and test design
Engagement Details
- Duration: 3 consecutive days (7 hours/day, 21 total hours)
- Delivery: Remote live session (unless specified otherwise)
- Style: Interactive, lab-heavy, focused on practical skills
To Apply
Please include:
- Summary of your Java performance tuning experience (years, types of systems)
- Tools you regularly use for JVM monitoring, profiling, and GC analysis
- Any sample syllabus or materials you can share (sanitized is fine)
- Your availability (time zone and possible delivery windows)
- Proposed approach for labs (local setup vs pre-packaged environment)