General Lessons

  • Establish a culture of learning:
    • The team benefits when every member feels they can learn and explore technologies
    • There’s a big cultural benefit to encouraging everybody to ask any question at all – no question is ever “stupid”, and people in senior technical roles can lead by example
    • People – at all levels of seniority - should feel safe to be honest about areas where they are inexperienced
    • In similar vein, nobody should ever be criticised or mocked for not knowing something. If somebody has a knowledge gap then it is the responsibility of the whole team to assist them in closing that gap
    • An open willingness to learn is much more valuable than an ability to regurgitate memorised facts
  • Have regular one to ones with team members to get a feel for who needs help with what, and identify where group sessions would be helpful.

Preparing for Workshops

  • When people are delivering workshops, they need to be given time to prepare
  • You can arrange group learning sessions which do not have to rely on one “expert” knowing the targeted topic.
    • Instead, the group can find an online resource – such as a tutorial or Pluralsight course – and work through it together.
    • In this scenario, the group should feel free to go at whatever pace works for them
    • They should also feel free to go off at tangents and explore related topics
  • Don’t feel that resources have to be created from scratch – this can be time consuming, and chances are somebody else will have already done it for you. Google is your friend!
  • Consider who is being invited to each session
    • Has anyone been left out? Are there members of other teams that might benefit?
    • Do not assume that anyone should be excluded – the team as a whole will benefit from individual members learning new skills
    • Not everybody needs to have a session in their calendar – you can send broadcasts out which detail upcoming sessions for potentially interested parties

Workshop Resources

  • Keep hold of resources from previous workshops so that you can do them again.
  • It’s a very good idea to create skeleton projects with useful starting points in code, and place these in a central GitHub repository where everybody can reach them.

Booking Rooms for Workshops

  • If using Outlook: When adding a meeting in Outlook, click Scheduling Assistant at the top
    • Then click Add Rooms, bottom left
    • This allows you to select multiple possible rooms and then examine their calendars side by side to find a suitable date/time and room
    • Training rooms may be in a separate address book – select “Global address list” from the Address book dropdown, top right
  • You need to choose a room that has a decent screen.

Running Workshops

  • Sessions work best if they are hands on. Give people plenty of time to explore the concepts being introduced – ideally in pairs.
    • This has the added benefit that less preparation is required: rather than creating a lengthy series of slides, focus on having something to do.
  • Setting the scene: Establish the aims of any workshop at the start, and remind people to be kind to one another and any other guidelines you wish to establish.
  • Similarly, at the end of a session, do a wrap-up to summarise what has been achieved
    • Also try to do some form of retrospective – this can be really quick and simple, e.g. two sections for Successes and Areas for Improvement, and people write quick post-its for each section.
  • Ways of working: Pairs work very well, and sometimes you can have a “mob” – where the whole group works on one problem together.
    • If working with pairs, aim to swap partners regularly.
    • If working with a mob, you can have names in a hat and regularly (eg every ten minutes) swap the person who is at the keyboard.
    • You can also have two people at the keyboard – a “driver” (keyboard operator) and a “navigator” (person who decides what will be done next).
      • These can be decided by names from a hat at ten-minute intervals.
      • Names do not go back into the hat until all names have been used.
      • The navigator can go on to become the driver each time, so only one new person jumps in every ten minutes.
      • When using this technique, it is a good idea to deliberately start with an experienced pair, who can get people started.
  • When putting people into pairs, try to pair experienced with inexperienced where possible.
    • Although sometimes it can be helpful to have two inexperienced people together, as they can help each other learn.
  • Have regular health checks – check how people are doing and get pairs to share what they’ve been working on
  • Pay attention to engagement levels. Look out for:
    • The whole room looking bored – move onto something more meaty
    • The whole room looking confused – slow things down and give room to explore things in smaller chunks
    • An individual looking unengaged / on their phone, etc – get them involved by directing questions at them
    • An individual looking confused – give them some individual attention – ask them questions to establish where they got stuck.