Using Go to teach Go

Using Go to teach Go

Wondering what steps you can take to help teach Go or train junior Gophers? Here are my slides from Golang Sheffield meetup group 6/12/18 that cover my experiences of mentoring juniors.

20db5a70c9ea3e66f838298bd358ac18?s=128

William Gough

December 06, 2018
Tweet

Transcript

  1. Using Go to teach Go: A guide to mentoring Junior

    Gophers. By Will Gough. @whg_codes https://devtheweb.io
  2. Who am I? - Software Engineer @ Bet365 // Manchester

    - Started writing Go full-time in June @ Bet365. Writing as a hobby for 2ish years. - Previously worked for LadBible Group and Ampersand Commerce writing Node APIs, Laravel, and React apps.
  3. ➔ Context What, how, and why? ➔ Resources The tools

    at our disposal. ➔ Solutions Automated mentoring...
  4. Context Month 1 Learning the basics, reading all materials. Month

    2 Start on their first training project. Month 3 Start on their second training project. Finished! Juniors now ready to start hacking away at microservices.
  5. Provided Reading - The Go Programming Language. - Brian Kernighan,

    Alan A. A. Donovan - Site Reliability Engineering - Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy - Concurrency in Go - Katherine Cox-Buday - Designing Data-Intensive Applications - Martin Kleppmann
  6. Additional Resources - Gophercises - Gobyexample - Learn go by

    tests - JustForFunc Youtube Channel - Gophers slack channel
  7. AutomatingzZz - Awesome Go toolchain - A ton of bash

    scripts - Makefiles - Pre-commit hooks - A load testing CLI - Automatic pprof web view
  8. What worked - Pair Programming - Online Resources - Pre-commit

    hooks & tooling - Self-directed learning - Hard to balance workload and mentoring on a 3 juniors. - Training materials lacked context and information on other important parts of being a developer e.g Git, JIRA - Everybody learns differently, it can’t be done in a one-size fits all. What didn’t
  9. My top tips for mentoring: Don’t take advantage of what

    you consider basic knowledge. Always encourage them to ask questions. Create opportunities for different types of learners.
  10. Any questions? @whg_codes https://devtheweb.io