Team leaders

We use this page during team leader onboarding. Thanks for being a team leader :heart:! Without you, these large online workshops would not be possible.

Onboarding session: Introduction, icebreaker, and project chat

We usually offer two one-hour timeslots in the week before the workshop (check the schedule!) for team leader onboarding. You are encouraged to join one of these times. During this time, we will talk about the role of the team leader during the workshop and answer any open questions you may have. We will also go through the material below.

  • CodeRefinery: We teach all the essential tools which are usually skipped in academic education so everyone can make full use of software, computing, and data. We don’t just give courses, but we are a training network that you can join to share the effort and bring better courses to your community.

  • Get familiar with our collaborative document (Collaborative document mechanics and controls)

  • Shortly introduce yourself

    • Who are you?

    • What do you do?

    • Where are you connecting from?

  • If you want to, sign up for our Zulip chat to ask us anything, anytime. Use #tools-workshop during the workshop itself (you need to join the stream, it is not default for new chat members).

Reviewing learners survey

We used to ask learners to fill out a pre-workshop survey. This is discontinued now but results of the surveys still apply. Let’s take a quick look at previous courses survey results:

What will happen during workshop?

Please review the workshop schedule on the main workshop page. It contains links to lesson material and also a separate page summarizing exercises.

The best analogy is like watching a popular sporting event on TV. There are periods of lots of activity, and clear periods of breaks where you do your own thing.

  • Everyone follows stream during lessons - lessons, demos, exercise intros, going over solutions, etc.

  • Exercises during the lessons are done individually or in teams: many ways to do this:

    • Watch and work alone

    • Watch together and interact during exercises/breaks (in-person or online)

    • Reviewing/doing exercises later

  • For questions use collaborative document (more below), not hand signals (but of course it is OK to ask live if you are part of an in-person exercise group).

Preparing for the workshop

As a team leader, we do not expect you to know all our CodeRefinery training material but if you have time:

  • Take a look at the exercises in advance of each days (the exact plan is on the workshop page. Lessons tend to have an “exercise list” page that shows everything). We try to make each exercise self-explanatory so that you can easily lead, but if you do one thing, scan over the exercises and understand the general point of each of them. We also summarize a list of exercises on the workshop page.

  • Be ready to introduce yourself and why you are excited to your team and try to get your team talking. Think about what you would like to convey as team leader to your group. How did (or does) CodeRefinery help you? More than anything, you should make people excited to be here and want to work together - and that comes from how your present your own motivation.

  • If you are interested, also read through the instructor guides for the lessons (there should be a link at the top or sidebar of each lesson).

Exercise sessions

Being a “live show”, things can get interesting. But we try our best to be very explicit about what is going on. However, your first goal should be to energize the learners and make sure they are engaged.

The instructors should clearly tell which exercises and for how long; if anything is unclear you should ask via collaborative document.

Make it easy for learners to ask for help:

  • Make sure your group knows that you are their team lead.

  • Encourage your team to also put answered questions in the collaborative document, someone else might be wondering the same thing.

Want extra help?

  • It is OK to not know something!

  • Use the collaborative document if there is questions that you cannot answer. Our instructors and expert helpers are watching it and try to answer every question.

Major problems?

  • It’s just a course. You can always defer figuring out a solution for later when you have more time


Example of collaborative document during an exercise session. a) clear description of topics of the exercises. b) team status. c) as always, questions at the bottom.

Your task during exercise sessions

As a team leader, your main task is to keep people talking and interacting, understand their difficulties, and encourage them to work on the exercises together.

To make this easier, we try to allocate enough time for exercise sessions during the workshop.

  • You can always start by greeting people and asking how the lesson is going

  • If you meet virtually, encourage people to turn on cameras

  • There are several strategies below. Combine as needed - read the room and see what they want, but do provide encouragement to do something.

  • If you need extra help, ask for it in the collaborative document, we have expert helpers available that will be able to answer fast.

  • Watch the time and try to keep things moving.

    • If some debugging takes to long, it’s reasonable to describe the problem in the collaborative document. An expert helper may have seen the problem before.

    • If any one problem takes too long, it’s OK to say “we don’t have time, let’s come back”

  • You don’t actually have to do the exercises. You could apply lesson material to your own team’s work, review what was just said, have a free-form discussion, etc. - if those are more valuable. You can always come back to exercises later.

Strategies for leading a team

There are several strategies you can use to run your team, no matter if you meet in a physical or virtual room (Physical room would need a larger screen for every one to see though):

Strategy 1:

  • Team leader asks someone to share the screen and go through the exercise.

  • You can encourage the others to guide the one who is sharing the screen. Or let the person go on her/his own pace.

    • If no one dares at first, you can also start sharing your screen and let the room tell you what to write.

    • That way they see how it can go and the barrier shrinks.

  • Try to alternate who is sharing the screen for each session.

  • When someone has an issue, it is a good idea to switch screen share to them and maybe even continue from there

Strategy 2:

  • Everyone does the exercises themselves, and once someone has a question, encourage them to share the screen and you discuss.

  • If everyone is active, this can be good, but there is a risk that no one starts off.

Strategy 3:

  • You can also share the screen if no one is willing to.

  • It might be good to give learners some lead first, and use this only if no one volunteers.

Create a positive learning environment

As a team leader, you have a crucial role during workshops:

  • Encourage learners to learn from each other.

  • Acknowledge that some of the material can be difficult and that people in your team will learn more working together.

  • Acknowledge when learners are confused and raise it to the instructors. Understanding why learners are confused provides useful feedback for instructors. You are our eyes and ears.

  • As we said, you don’t have to know everything, just like learners don’t necessarily know everything (we don’t know everything, either). It’s more important to be responsive and work together.

  • If you meet virtually: Turn on your camera, and encourage everyone else to do so as well. Have an introductory round in the first exercise session, to get to know your group. Whichever strategy you choose for your team, be present and encourage learners to ask questions.

  • In an in-person workshop: Stand up and walk around, try to make rounds by everyone. If you are convenient, students will ask. If you are sitting in the back, student’s won’t. Students rarely try to get your attention from across the room if you don’t look ready.

Common problems in teams

  • One learner asks very many questions, ends up monopolizing all of the time. Other learners are left without help, and the whole group may not get the exercises done

    • Encourage them to ask in the collaborative document

    • It can be very hard to say “no”, but it’s more important to have balance than answer every question you are asked. If you need to say no, you can try things such as “I’m sorry, but in order to finish we need to go on now. We can keep working on it later - would you like to watch?”

  • There is some sort of problem that ends up taking a lot of time

    • Work on it for a minute or two.

    • Encourage to describe the problem in the collaborative document. Our expert helpers may be able to help. Nothing wrong with this, because there is no deadline or time limit.

Code of Conduct

Teaching isn’t about helping those who are already “in”, it is for those who aren’t. Thus, we follow a code of conduct for all our interactions before, during and after workshops.

We’ve designed the workshop so that it is very hard for one person to ruin it for everyone. Within your team, you will need to take on the role of ensuring a good environment.

If you see anything that is not supporting an positive learning environment, let us know!

  • If it’s a general issue that can be mentioned publicly, write it immediately in the collaborative document.

  • Send a message to if it is private and can be handled asynchronously.

Things to avoid

Shorter version:

  • Take over learners keyboard, you can share commands via the collaborative document

  • Criticize certain programs, operating systems, or GUI applications, or learners who use them (Excel, Windows, etc.).

  • Talk contemptuously or with scorn about any tool.

  • Dive into complex or detailed technical discussions.

  • Pretend to know more than you do. Better to put a question on the collaborative document then. Trust.

  • Use “just”, “easy”, “simply”, “basic”, “trivial” or other demotivating words.

  • “I can’t believe you don’t know X”

Longer version:

  • Take over the learner’s keyboard (neither physically nor remotely). It is rarely a good idea to type anything for your learners and it can be demotivating for the learner because it implies you don’t think they can do it themselves or that you don’t want to wait for them. It also wastes a valuable opportunity for them to develop muscle memory and other skills that are essential for independent work. Instead, try to have a sticky note pad and pen / use the collaborative document and write the commands that they should type.

  • Criticize certain programs, operating systems, or GUI applications, or learners who use them. (Excel, Windows, etc.)

  • Talk contemptuously or with scorn about any tool. Regardless of its shortcomings, many of your learners may be using that tool. Convincing someone to change their practices is much harder when they think you disdain them.

  • Dive into complex or detailed technical discussion with the one or two people in the audience who have advanced knowledge and may not actually need to be at the workshop.

  • Pretend to know more than you do. People will actually trust you more if you are frank about the limitations of your knowledge, and will be more likely to ask questions and seek help.

  • Use “just”, “easy”, or other demotivating words. These signal to the learner that the instructor thinks their problem is trivial and by extension that they therefore must be stupid for not being able to figure it out.

  • Feign surprise at learners not knowing something. Saying things like “I can’t believe you don’t know X” or “You’ve never heard of Y?” signals to the learner that they do not have some required pre-knowledge of the material you are teaching, that they don’t belong at the workshop, and it may prevent them from asking questions in the future.

Path ahead

Would you like to

See our website and Contributing to CodeRefinery. Best way to get started is to join the Zulip chat.

Background: hierarchical workshops to scale

Traditionally, a workshop has instructors and team leaders/helpers, but the capacity is limited by instructors, so we are limited to ~30-40 people at most. Then, we tried to scale to larger numbers: even up to and beyond 100 people. For this, we have to rely on team leaders . A team leader does not have to be an expert in the material, but should be able to keep things flowing.

Team leaders are an essential part of the CodeRefinery workshop team and allow CodeRefinery to scale to many more people than we could otherwise handle. Team leaders will guide their team through the course, keep time, and let us know when more help/time is needed during the exercise sessions. Instructors and expert helpers are always available via the collaborative document. It is very likely that you’ll grow as a mentor and learn how to be a more efficient teacher.

What is needed to be a team leader?

Most importantly, you do not have to know everything (we don’t, either), but you are expected to:

  • Have been to a CodeRefinery before and used git some since then, OR have some general experience with git (branching, pull requests) and command line work, OR be able to generally follow the path of the exercises that we have laid out.

  • Be present in your teams physical/virtual room at least during exercise sessions of the workshop.

  • Show a positive, motivating attitude to learners.

  • Keep exercises going and let us know when there are difficult questions!

  • Come to a one-hour “team leader onboarding” (see below) before the workshop.

If you aren’t sure if you can be a team leader: you probably can be one!

Background: Teams

A team could be for example a group of colleagues/friends where one of the team members has a bit of knowledge on the tools presented in the workhop. This person can act as team leader for the workshop, but may still learn a thing or two themselves. In that way you can work with people you know and the barrier for asking questions and discuss together may be a bit lower than in a group of strangers.

Sometimes we also allow learners to register as invidual learner with interest in being in a team. We then try to arrange those people in teams which stay together for all exercise sessions on all days and provide a zoom breakoutroom with a team/exercise leader. Since this is dependent on our team leader capacities, we cannot accept infinte amount of learners. Being assigned a team as a learner allows people to form a bond and get the rooms started sooner. We will try to keep you in the same team room as long as we can, but we give no promises and will rearrange as needed when people can’t attend.

Material for team leaders

If you have been to a CodeRefinery workshop before, you will most likely know the following, but if unsure, also check these links:

If you have any doubts, questions, ideas or anything you want to tell us apart from these sessions, please let us know! We are here to help.

If you want to contact us before the workshop you can send an email to our general email address or you can join the CodeRefinery chat (we recommend the #workshops stream, and if you can’t find it then #general is good). During the workshop, we use a topic in #workshop-chat to coordinate (exercise leaders do not need to use this, use the collaborative document instead).

During the workshop, the collaborative document is our main communication channel, where you can ask questions or extra help in case of tricky technical questions or further discussion potential.

If you had fun being a team leader for the workshop, please visit our contributing page page, to find out about further volunteering possibilities within CodeRefinery.

See also