Know Your Tools

A practical developer tools course for teams that want faster workflows, better debugging, and more confidence with everyday engineering tools.

Hands-on training in the tools essential for a professional developer. This course is mainly focused on the tools used to solve real-life problems. Developers will gain knowledge on a variety of topics, including effective use of IDE, practical use of Git, optimizing database access, troubleshooting JVM issues, build tools like Maven, plenty of tips and tricks, and more.

Duration
2 days
Level
Beginner
Format

60% workshop /

40% lecture

Max Participants
20
Instructors
1
Lifetime Access
  • Training Materials
  • Slack Community
Who Should Attend

Developers

Key Takeaways
  • IDE mastery and debugging techniques
  • Version-control workflows with Git
  • Command-line skills and automation
  • Working with Docker and databases
  • Practical tips that save time daily
Training Program

Day 1

  • IDE - IntelliJ Idea
    • Features
    • Shortcuts
    • Preferences
    • Working with multiple projects
    • Database access
    • Useful plugins
  • Debugging
    • Debugging in IntelliJ Idea
    • Debugging Java run from Maven
    • Remote debugging
  • Terminal
  • Maven
  • Git
  • Logging
    • Logback, Log4j2
    • Capturing logs
  • Writing less code with Lombok

Day 2

  • Java and JVM
    • JDK differences in implementations
    • OracleJDK
    • OpenJDK
    • OpenJ9
    • JVM
    • Understanding JVM memory
    • Garbage collector
    • Useful JVM params
  • Troubleshooting Java applications
    • Using Profilers: YourKit, JProfiler, VisualVM, Opsian
    • Using Samplers
    • Identifying bottlenecks with VisualVM
    • Using core dump with VisualVM
    • Troubleshooting slow database access
  • Containerization
    • Building Docker images for java applications
    • Using Dockerfile
    • Using maven plugins (Spring, Jib, Buildpack)
    • Optimizing Docker images
    • Size of the image
    • Startup time
    • Memory usage

Explore related courses that help your team go deeper or approach similar challenges from different angles.

Ready to Get Started?

Contact us to discuss your training needs, schedule, and how we can customize this program for your team.