Training

We offer a range of courses available in public or private settings. In a private setting, courses can be tailored to your exact needs. Our training courses are aimed at senior developers who want to raise their game.

Concurrent Lock-Free Programming in Java (3 Days)

By the end of this course candidates will have acquired an in-depth knowledge of concurrent programming that allows them to develop data structures such as queues, executors, and shared memory IPC transports that significantly out perform the standard approaches.

In addition to learning the basic techniques of building high-performance data structures, a performance testing and profiling methodology will be introduced that is fundamental to working at the extremes of systems performance.

The course is a blend of lectures, coding exercises, and workshops. Candidates should bring along a laptop capable of running at least 4 threads concurrently, i.e. dual core with Hyperthreading enabled. Though not a requirement, systems with Linux installed can participate in deeper profiling exercises.

Next public Lock-Free Algorithms course can be booked online here...

Understanding Modern Hardware

Memory Models

Performance Testing - Modelling & Profiling

Advanced Concurrent Data Structures

Applying Mechanical Sympathy

The Wider Context - Putting it into Practice

Performance Testing & Profiling Java Applications (3 Days)

This course is aimed at senior developers who want to learn how to make performance testing and profiling an integral part of their approach to CI or Continuous Delivery. Candidates will learn how to micro benchmark components, then assemble them into performance tested services. The pattern repeats until eventually the system as a whole is performance tested.

In parallel with performance testing the candidates will learn how to profile an application at all levels of the stack right down to the hardware level using a combination of tools. By learning how to measure and reason about the computing resource building blocks, the delegates will learn how to construct a model of what performance is possible for a given component or service. This is the essence of Mechanical Sympathy.

The course is a blend of lectures, coding exercises, and workshops. Candidates should bring a laptop capable of running at least 4 threads concurrently, i.e. dual core with Hyperthreading enabled, with Linux operating system installed.

Next public Performance Testing & Profiling course can be booked online here...

Understanding Modern Hardware

Computing Resource Fundamentals

Linux Operating System Fundamentals

Java Virtual Machine Fundamentals

Performance Testing Theory

Profiling

Development Practices

Examples of recent feedback