Job Description
Project Overview
We are seeking an experienced Java Performance Instructor to deliver a 3-day, live, instructor-led training focused on practical, hands-on skills. Participants will learn how to measure, diagnose, and optimize Java application performance at the JVM, GC, and code level.
- Duration: 3 consecutive days, 7 hours per day (21 hours total)
- Mode: Remote live instruction
- Audience: Java developers (intermediate+), engineers troubleshooting JVM-based services
Training Objectives
By the end of this training, participants will be able to:
- Apply a structured performance methodology: measure → isolate → verify → iterate
- Understand JVM performance fundamentals, including memory model and JIT compilation effects
- Diagnose GC and memory-related issues, selecting appropriate GC strategies
- Use modern profiling and monitoring tools to identify bottlenecks
- Design and interpret microbenchmarks effectively (avoiding common pitfalls)
- Apply JVM and memory tuning techniques with confidence
Trainer Responsibilities
- Deliver interactive, lab-heavy sessions with guided debugging and Q&A
- Provide a runnable lab environment plan (setup instructions and prerequisites)
- Share training materials (slides, notes, lab files)
- Include real-world troubleshooting patterns and actionable guidance (“Monday morning tips”)
- Provide a post-training summary: key takeaways and recommended next steps
Required Expertise
- Strong Java performance engineering experience (JVM, GC, profiling, benchmarking)
- Practical experience with tools such as:
- Java Flight Recorder (JFR) & Mission Control (JMC)
- Profilers: VisualVM, async-profiler, YourKit, JProfiler, etc.
- JMH microbenchmarking
- Ability to explain complex concepts clearly and troubleshoot live
Nice-to-Have Experience
- Tuning low-latency services and interpreting tail latency
- Production performance triage: threading, contention, I/O bottlenecks
- Familiarity with performance testing approaches and test design
Engagement Details
- Delivery: Remote, live, interactive sessions
- Training Style: Lab-heavy, practical, interactive
- Total Duration: 21 hours over 3 consecutive days
Application Requirements
To apply, please include:
Proposed approach for labs (local setup vs pre-packaged environment)
Summary of Java performance tuning experience (years, system types)
Tools regularly used for JVM monitoring, profiling, and GC analysis
Sample syllabus or materials (sanitized is acceptable)
Availability (time zone and possible delivery windows)