Pragmatic training from hands-on software developers

Although our day jobs are all about building software, we've been training people from around the world for a number of years, helping them improve the way that they build software too. In a break from the norm, the slides from our training courses are available to view online in their entirety. We want you to know what our courses cover and that you're not in for days on end of death by PowerPoint. Here's a summary of training that we offer.

1. Software Architecture for Developers

Designing software given a vague set of requirements and a blank sheet of paper is a good skill to have, although not many people get to do this on a daily basis. However, with agile methods encouraging collective ownership of the code, it's really important that everybody on the team understands the big picture. And in order to do this, you need to understand why you've arrived at the design that you have. In a nutshell, everybody on the team needs to be a software architect.

"Software Architecture for Developers" is a two-day training course about pragmatic software architecture, designed by software architects that code. It will show you what "just enough" up front design is, how it can be applied to your software projects and how to communicate the big picture through a collection of simple lightweight diagrams. It's aimed at software developers and architects regardless of whether you're building software in Java, .NET or something else. Join us for a mixture of presentation, discussion and deliberate practice.


2. Enterprise Software Developer

"Enterprise Software Developer" is a four day practical training course about building software within an enterprise environment in a structured, lightweight and pragmatic way. It covers the complete end-to-end software development process; from planning, gathering requirements and software architecture through to the effective use of source code control, automated unit testing, continuous integration and load testing. Pragmatic enterprise software development is about taking the best bits from traditional and modern approaches, blending them together to form a structured yet lightweight approach to building software that's appropriate to the way that your organisation works. This is what the course is all about.


3. Load Testing for Developers

"Load Testing for Developers" is a one day training course to get you started load testing your web applications. Have you ever built a software system and your users have complained that it's too slow? I have; debugging live performance and scalability issues with business sponsors watching over your shoulder isn't fun! Load testing is an often forgotten and seemingly difficult task that many people shy away from but a basic level of load testing is often enough to give you confidence that you've satisfied expectations regarding performance and scalability. It's a natural extension to the software architecture, technical lead and software developer roles.