Coaching Guide

A short introduction to the way OpenTechSchool coaches learners


Coaching Guide

What are we trying to do?

You are about to help out at an OpenTechSchool workshop as a coach. With this presentation we want to give you a quick introduction of what that means.

The focus for the event is to show learners that coding and tech is nothing to be afraid of, but rather a lot of fun!

Introduction to Coaching

This OTS coaching style has its roots in the RailsBridge teaching style. As such it is very focused on creating a friendly and open environment for learners of all sorts.

Achieving this and having a pleasant learning experience is the focus of this presentation.

The Material

We strongly believe the best way to learn to code — or any other tech-related subject, for that matter — is with a hands-on, experience-oriented, and pragmatic workshop that someone can work through at their own pace. Our curricula are designed for exactly that purpose.

This is also reflected in the way we organise ourselves on site: there is no classroom-style setting; everyone has their own workspace instead. There is no teacher in front and no one going through the material with a presenter.

A note about the material

  • At times, the material might seem unnecessarily dense to you, as if going through extra hoops.
  • Don't fret, that is on purpose!
  • We believe in learning exploratively (sometimes called the hard way.)
  • That means teaching them a little suboptimal style first, just to make them discover themselves how (and why!) to do it better. Example:
    • Writing an expression you want repeated out five times at first.
    • To make them understand how powerful and convenient loops are.

Coaching isn't teaching…

in the sense that we are not standing in front and teaching here.


  • Stand by on the sidelines
  • Are right there when needed
  • Focus on the learners
  • Have sympathy for their (in-)abilities
  • Encourage learners to go further through posititve motivation
  • And ensure they have fun doing it.

Creating a friendly environment


  • Smile
  • Make eye contact
  • Admit when you don't know something
  • Be kind and friendly
  • Use their name (we all have name tags)
  • Tell learners it's ok to make mistakes
  • and to take breaks when it gets frustrating

Creating a friendly environment


  • Assume everyone you're coaching has zero knowledge but infinite intelligence
  • Use normal language instead of slang
  • Make sure the learner understood what you said
  • and explain it again differently if that's not the case
  • Encourage learners to play around on their own
  • Whatever they do is great and beautiful!

Creating a friendly environment


  • Look around to see if someone else might be having trouble
  • They might just be afraid to ask
  • Come by once in a while and ask: “Hey, how is it going? Anything I can help you with?”
    • This is a very powerful tool: It helps shy learners, builds rapport and increases engagement.
    • Another trick: Sit next to them and chat about what they are doing.

Questions are good!

  • Get people comfortable asking questions
  • Emphasize that there is no such thing as "dumb" questions
  • Ask if learners have any questions
  • Give other learners the chance to try to answer that question
  • Coding is collaboration — make sure learners understand that

Responding to questions

Chances are, there is a specific question when the learner asks you to help them. How do you respond?

  • Positively:
    • "I’m glad you asked that."
    • "What an interesting question!"
    • "Great question!"
    • "Hm, I'm not sure... Let's look in the Internet/ask someone else."
  • If in doubt: blame the material, never the learner.
  • Their interpretation of the material might be as good as ours!

Responding to questions, aftermath

Question solved. Now what?

  • We strive to continuously improve our material.
  • Try to write down the notion of the question so you don't forget it.
  • File a ticket after the workshop (Github Issues.)


  • This is not about you, but about the learner. We go at their pace.
  • Everyone learns at their own pace. That's a good thing!
  • Talk sssssslllllloooooowwwwwwllllllyyyyyyyy.
  • Wait much longer than you feel is comfortable for questions/comments (count to 10 in your head)

Be encouraging

  • Don't accept any learner saying they are too whatever to do it, answer that they can do it.
  • Congratulate people on their achievements, take some time to let them show them to you.
  • If people get off the path but have fun, encourage them to go on.
  • Encourage learner to show their work to others: invite them for for demos at the end or to the next Learners Meetup to show their stuff. Tell them twice. Or three times. Whatever it takes.


a few things we are not doing


  • We do not hit on anyone or make sexually suggestive remarks
  • We do not roll our eyes or laugh at questions
  • We do not use the time to advertise our own companies/jobs/ourselves
  • We do not pick on or make fun of anyone or anything (not even PHP!)
  • We do not debate which programming language, methods or technologies are "better"
  • We do not touch their keyboard

Their keyboard

it is made of lava!

  • Learners are going to drift away when you take over their keyboard.
  • Don't touch it.
  • If you absolutely, ultimatively must type something on their computer — chances are you don't —, ask whether that is okay with them.
  • And explain what you are doing.

We do not discuss programming languages

Doing so confuses learners. In the tech community we have some strong opinions and our ways to express them, but for people new to it, this can quickly look like a huge fight. We do not fight each other!

We are here to coach you in this programming language/method/technology and that is the focus for this event.


for helping us spread the fun of coding