One of the things I've been working on for a few months came to fruition recently as I delivered my first ever training course. After doing a guest lecture to a class of finalist MEng Computer Science students at the back end of last year, it was another opportunity to overcome some of the anxieties I have around public speaking.
The training had come about from a meeting last October with the marketing department. They have a lot of marketing executives working on creating prettier, more effective landing pages and home pages for both service departments and academic departments, but without the technical expertise to put designs into practice. We're left the problem of our ageing CMS forcing people down the raw HTML/CSS route, and us unable to offer a service to implement other people's designs on a one-off basis. One idea that came out was that we could provide some internal training to upskill employees specifically tasked with creating rich pages in our CMS, and it seemed reasonable to then open it up to the wider University.
Having not run a training course before I tried to take experience from the training I've been on instead:
- Don't wang on for long periods of time
- Make it very practical
- Unlimited coffee, good food
I had tried to run the course through the normal avenues but was told it was too niche. I'm lucky in that I'm in an environment that values this kind of thing and was willing to foot a £1000 bill to run this through Warwick Conferences for the greater good.
I tried to aim the course at people who had some knowledge of HTML/CSS but perhaps wouldn't know how to apply that in our CMS, and used it as a way to shoehorn in a bunch of usability and accessibility knowledge that often gets overlooked.
When we build internally we use Less as a CSS preprocessor (mainly because our primary template is built on Bootstrap 3.3.7, so it's useful to be able to call their Less code from ours). We run this through an asset pipeline (non-trivial in a CMS, and something I'll probably cover another time) to transform into CSS, run autoprefixer, etc. The first port of call in my training course was to go through a Less primer, both because it's a useful practical skill and it let me build a bunch of exercises that got people used to the structure of our Less files and some of the variables and mixins they could use in their own.
One of the main goals was to get people thinking like a developer - to get more into a mindset of building a house than painting a wall. To that end I wanted to get people using their own development environment using Visual Studio Code and to use the Live Server extension to develop locally. We provided a template that included everything needed to start putting content into a web page and write Less without having to think about all of the icky build pipeline stuff that we do on their behalf.
Then I tried to go through the bit that most people had come to the course for, I think - using pre-built components either from Bootstrap or our own web identity in their pages, and combining them to build one quite often seen on the wider Internet. This was all really exercise-heavy and I wanted to give everyone the chance to build something before going into the areas where they should think about why and how they build it.
Post-lunch I tried to get some best practices out there. Some focus on CRAP design principles, accessibility and browser testing, with a whirlwind tour through browser dev tools.
Finally, I wanted to do something for the people who were more confident with CSS and wanted to expand their skills, so I did a run through flexbox and CSS grid.
All in all I think it was a success and I got some feedback that I'm very proud of. As you might expect, the people who came to the course with the right attitude and had done the prep work got the most out of it - I think one mistake I made was to say the set up work was optional. That meant that when the people who hadn't prepared got into the room there was a good hour spent just helping them get set up, which was a shame. There also seemed to be a big difference in the attitudes of those who wanted to be there and those who felt they had to be there, which got a bit disruptive in the afternoon when they felt they could talk through the course and it's unfortunate that some of the people in the room felt that was distracting.
My tendency to overprepare for situations which I'm anxious about paid off here, I think. I'd spent weeks on my training materials which hopefully will make running the course subsequently easier and less stressful; I've had some good feedback that I can use to refine the course and hopefully run it again in future. Not quite ready to give up the day job and become a full time trainer though!