The gap nobody talks about
Most automation teams are built around control engineers and PLC programmers. What they rarely have is exposure to the software engineering practices that the rest of the industry has been running for twenty years: structured version control, automated testing, continuous integration, documented architecture, code review.
Not because they lack the ability. Because nobody in their world has shown them how these things work in practice - on real machines, under real project pressure.
The cost is invisible until it isn’t. A single engineer leaving takes the project knowledge with them. A regression reaches the machine floor because there was no automated test to catch it. A new hire spends three months learning the project before they can contribute. These are not bad-luck events. They are structural problems with a known fix.
What makes this different
We are not a training company with a fixed curriculum. We are engineers who build machines and maintain production code every day. We teach the underlying practices first - version control, CI/CD, software architecture, testing strategy - and we show where our tools fit in, and where they do not.
We work through real examples from your own codebase wherever possible. Abstract exercises built around toy problems rarely survive first contact with production code.
A team that finishes our training knows how to build a proper development workflow from scratch - independently of any specific vendor or toolchain.
To give you a sense of what we cover
2-day on-site workshop · from €1,900 plus travel. Remote delivery is available.
Topics, depth, and examples are scoped to your team in a short call before anything is scheduled. The outline below is a representative starting point - some engagements go deeper on software architecture and never touch our tooling at all.
Day 1 - Foundations
- Structured PLC software: coding conventions, managed/unmanaged objects, library layering
- Core concepts: object lifecycle, error propagation, the Bridge Pattern for decoupling equipment from HMI communication
- Equipment objects in practice: actuators, I/O, axes - instantiated from tested building blocks, not reimplemented each project
- Hands-on: building and integrating a framework object from scratch against a running demo machine
Day 2 - Application architecture and tooling
- Standardised application structure: separating communication, data, and function - and why it makes codebases readable for engineers who did not write them
- Unit architecture, state machine lifecycle, and how units coordinate without direct coupling
- Sequences: step-based patterns, the Await helpers that replace polling loops, error propagation up the call chain
- Tooling in practice: IDE scaffolding, commissioning without HMI code, backup/restore, CI/CD basics
- Hands-on: completing the demo machine end-to-end
Get in touch → to discuss scope, team size, and format.