Training

We advocate software development based upon:
  • Minimal bureaucracy
  • Truly empowered teams
  • High quality software
  • Process automation
  • Immutable environments
Given our experience with this approach, we are keen to show others how to replicate our success.

See below for a brief overview of the training courses we offer, followed by detailed listings of course contents.

Courses - at a glance

Course Details

The one improvement which will significantly advance your development process, is automation.
No other single activity will generate such a huge return on investment.
With a solid grounding in the fundamentals of the Operating System, your developers will be well equiped to automate the key pain-points experienced within your development process.
Streamlining and standardising your processes through automation will repay great dividends and lift your developers up from the drudgery of routine tasks, freeing and enabling them to focus on higher value-add activities.
With over 3 decades worth of *nix knowledge, we offer training for candidates with various levels of experience.
Our on-site, hands-on, instructor-led GNU/Linux training can be customised to your specific requirements but, by default, all participants will receive a complimentary Raspberry Pi 5 computer running the ("systemd" free) Devuan distribution, which we use to teach our range of 2-day courses. (Note this device does NOT require network access for the training course).
why we use a Raspberry Pi

This is important, since the best way to learn about the *nix Operating System is by getting hands-on.

Many organisations provide locked-down, security-enabled, company machines which are not conducive to low-level systems training. Further, the prospect of clobbering your daily-workhorse machine does not create an ideal mind-set.

Providing a clean, unencumbered machine therefore ensures a consistent and effective training platform and provides an effective springboard for further self-learning.

(Note this device does NOT require network access for the training course).

GNU/Linux and automation training courses
  • Process Automation: an introduction to GNU/Linux:

    • pre-requisites:

      • an eagerness to learn new skills which will form the bedrock of your future career
      • a curiosity about the underlying design principles behind *nix operating systems
    • course content:

      • a brief history of Unix
      • the fundamentals of the Operating System
      • key design principles
      • the boot process
      • the file system
      • users, groups and permissions
      • processes, streams and pipes
      • shells
      • an overview of the more useful commands
      • commands and configuration tweaks for enhanced productivity
      • regular expressions
      • the basics of shell-scripting
      • handling command exit values
      • automation
      • automated code check-out
      • automating the build process
    • next steps:

      • Process Automation: advanced GNU/Linux
  • Process Automation: advanced GNU/Linux:

    • pre-requisites:

      • existing knowledge of GNU/Linux, or
      • completion of the course 'Process Automation: an introduction to GNU/Linux'
    • course content:

      • a quick GNU/Linux refresher
      • advanced shell configuration
      • more configuration tweaks for enhanced productivity
      • grep, sed & awk
      • shell-script parameter validation and error handling
      • advanced shell-scripting
      • debugging shell-scripts
      • security and monitoring
      • tips and tricks
      • automated environment setup
      • automated deployments
      • further automation
    • next steps:

      • Software Quality: infrastructure code

Note each of the above courses include a FREE "Raspberry Pi 5" computer for each participant, which we use for teaching purposes.

(Click each of the above to expand).
Craftsmanship is at the heart of our approach, which aims to provide three key benefits to software development; namely, Faster, Cheaper and higher Quality.
Being able to consistently deliver on any one of those benefits would certainly be welcomed, but being able to consistently deliver on all three, is a game-changer. Find out how by booking one of our courses.
No other vendor offers such training.
With these courses, participants will be taken through the entire process. We offer technical training, as detailed below.
Software development training courses
  • Software Quality: infrastructure code

    • pre-requisites:

      • familiarity with modern software development practices
      • fluency in (any) programming language
      • whilst the ideas presented in this course can be implemented in any programming language, the code examples are Java based; therefore some familiarity with this language would be beneficial, though not essential
    • course content:

      • an overview of current quality approaches and their limitations
      • identifying opportunities for improvement
      • investigating specific combinations of established software development principles which lend themselves to the creation of high quality software
      • why interfaces should be kept to a minimum and how that can be achieved
      • maintaining strict boundaries between layers and why that really matters
      • a hands-on workshop featuring a step-by-step development guide to creating high-quality code; upon completion, participants will be well versed in the specifics of how to create high-quality infrastructure code (in any language)
      • orchestration
      • better exception handling
      • better configuration
      • code quality from the ground up
      • better unit testing, integration testing and mocking
    • next steps:

      • Software Quality: business logic
      • automation
      • immutable environments
  • Software Quality: business logic

    • pre-requisites:

      • completion of the course 'Software Quality: infrastructure code'
      • whilst the ideas presented in this course can be implemented in any programming language, the workshop is based on discussing a Java implementation; therefore some familiarity with this language would be beneficial, though not essential
    • course content:

      • issues with standard approaches to both quality and business logic
      • key attributes of high-quality business code
      • what actually is a Domain Specific Language?
      • the benefits of creating a Domain Specific Language
      • specific design principles which result in the emergence of Domain Specific Languages
      • whilst you are at liberty to freely implement any of the ideas presented within this course, by way of example, we will focus on one specific (free) implementation, named ReBL
      • introduction to ReBL - a free, lightweight framework for the creation of high-quality business logic
      • workshop - ReBL - discussing key aspects of the design and details of the implementation; upon completion, participants will be well versed in the specifics of creating Domain Specific Languages and reusable business logic (in any language)
      • putting it all together: infrastructure code + business logic + configuration
    • next steps:

      • Software Quality: business logic - advanced
      • automation
      • immutable environments
  • Software Quality: business logic - advanced

    • pre-requisites:

      • completion of the course 'Software Quality: business logic'
      • whilst the ideas presented in this course can be implemented in any programming language, the workshop is based on discussing a Java implementation; therefore some familiarity with this language would be beneficial, though not essential
    • course content:

      • a quick recap of 'Software Quality: business logic'
      • a deep-dive into orchestration - the essence of business logic
      • enhanced exception handling, including the use of Finite-State-Machines
      • how to integrate Aspect Oriented Programming to super-charge software delivery
      • enhanced logging techniques and why they are beneficial
      • incorporating deep-level security and why that matters
      • how to start using all of the techniques within actual projects
    • next steps:

      • automation
      • immutable environments

Note each of the above courses include a FREE follow-up evaluation, which consists of either an on-site or remote review (maximum 2 hours) of how successfully the attendees have been able to apply the course content to real-world projects. It is hoped the feedback given through this review process can help consolidate the information presented during the course within the context of actual project-work, as well as providing actionable suggestions and advice. (This review must be booked within 3 months following the delivery of the relevant course).

(Click each of the above to expand).
Use the button below if you would like to purchase any of our instructor-led, 2-day training courses for your organisation.
Note participants are capped at a maximum of 16 attendees per class, with a minimum requirement of 10 attendees.
Courses can be block-booked, as required.
Please let us know if you have any questions about our training.
Check availability and book one or more training courses.
Book Now