I do a lot of trainings and courses in the company where I work currently. And I was also in a lot of courses too. But I think, that those courses or trainings don’t work really. The reason, why is that they are just so called "sheep dips".
Sheep dip training doesn’t work
The first time when I heard the expression "sheep dip" was in the excellent book "Pragmatic Thinking and Learning". It means a training where a lot of people receive a lot of information, mostly just by sitting, listening and watching a lot of PowerPoint slides.
A sheep dip is in real the following (from "Pragmatic Thinking & Learning"):
A sheep dip (for real) is a large tank in which you dunk the unsuspecting
sheep to clean them up and rid them of parasites (see picture). The sheep line up (as sheep do) you grab one and dunk in the tank for an intensive, alien, and largely toxic experience. It wears off, of course, so you have to dip them again.
The problem is the exact same with the education trainings in companies. A lot of employees spend time and the revenue is very, very little.
Doing it better
The question is "How can we do education better?". In my experience there are some better ways:
- Pair programming
- Little workshops (just the team)
- Collaboration platforms
- Good documentation
One of the best ways to learn is to get feedback fast. In a "sheep dip" training/course there is nearly no chance to have a such feedback. Therefor pair programming is very good, but hard to do. At least one of the two developers has to be experienced, so the knowledge transfer could happen.
Another way I like very much are little workshops. Normally I ask a developer team, if they are interested in some kind of workshops (reviews, designing, architecture, etc.) based on some reviews of their outcome. The feedback what I received so far is very positive.
I think collaboration platforms, like wikis or OneNote, are still underestimated in corporate environments. But I had a chance to participate in a team where they used OneNote. It was really great, because they added all little tricks and tips how to handle problems with the frameworks and tools in this collaborative platform.
The last way is a good documentation. But what is a good documentation? Well, for me it has to be up-do-date, clear, short, contains examples and easy to read. Another point is, that the documentation has to be searchable. It should be easy to find things fast and just in one place.