Software Design patterns is not an enigma. It is actually pretty easy to learn, remember and practice, if your initial learning is aided through live examples. I've taken more than 100 session on this for engineers with 0-12 year experiences, and each one of them is a successful engineer by now.
I can train on a 1-on-1 basis or for a group of your engineers.
The entire course is about 20-25 hours but can be in more detail if you need it.