day-plan

Register

Energiser

Every session begins with an energiser. Usually there’s a rota showing who will lead the energiser. We have some favourite games you can play if you are stuck.

  1. Traffic Jam: re-order the cars to unblock yourself
  2. Telephone: draw the words and write the pictures
  3. Popcorn show and tell: popcorn around the room and show one nearby object or something in your pocket or bag and explain what it means to you.

Morning orientation

Learning Objectives

Planning during the week

🧭 During the week, create a post on Slack and get some people to take on the roles of facilitator and timekeeper. Nominate new people each time.

👣 Steps

If you haven’t done so already, choose someone (volunteer or trainee) to be the facilitator for this morning orientation block. Choose another to be the timekeeper.

🎙️ The Facilitator will:

  1. Assemble the entire group (all volunteers & all trainees) in a circle
  2. Briefly welcome everyone with an announcement, like this:

    💬 “Morning everyone, Welcome to CYF {REGION}, this week we are working on {MODULE} {SPRINT} and we’re currently working on {SUMMARISE THE TOPICS OF THE WEEK}”

  3. Ask any newcomers to introduce themselves to the group, and welcome them.
  4. Now check: is it the start of a new module? Is it sprint 1? If so, read out the success criteria for the new module.
  5. Next go through the morning day plan only (typically on the curriculum website) - and check the following things:

Facilitator Checklist

  • Check the number of volunteers you have for the morning
  • Check someone is leading each session
  • Describe how any new activities works for the group
  • Decide how best to allocate trainees and volunteers for a given block - most blocks will make this clear

⏰ The Timekeeper will:

  • Announce the start of an activity and how long it will take (check everyone is listening)
  • Manage any whole class timers that are used in an activity
  • Give people a 10-minute wrap-up warning before the end of an activity
  • Announce the end of an activity and what happens next

Giving Feedback

Learning Objectives

Feedback is the foundation of effective collaboration. Both giving and receiving feedback are important communication skills to master.

We will practice giving and receiving feedback today.

Learning Objectives 💡

After the workshop today, participants will be able to:

  • Choose a framework for giving clear, direct feedback depending on the scenario.
  • Reflect on the impact of feedback on personal growth and team dynamics
  • Apply feedback techniques to real-world situations, balancing critique with encouragement
  • Apply techniques for receiving tough feedback

Set up 🌼

  • Pair up into groups of 2

The Activity 🏆

Read the following scenarios and role-play each. One person will be giving the feedback and one person will be receiving the feedback. After each scenario switch who is giving the feedback and who is receiving it.

For the person giving feedback, remember to:

  • Be direct
  • Use clear language
  • Talk about behavior, not personality
  • Be kind

For the person receiving feedback, remember to:

  • Be available and approachable
  • Be accountable
  • Steer clear of defensiveness
  • Take a moment to reflect before responding
  • Assume positive intent

Practice Giving Feedback [15 mins]

  • Spend 3 mins on each of these tasks, applying the given framework to the given scenario.
  • One person will be giving the feedback and one person will be receiving the feedback. After each scenario switch who is giving the feedback and who is receiving it.

1. Situation, Behavior, Impact (SBI) framework

The SBI Framework structures feedback in the following order:

  • Situation: Describe the situation
  • Behavior: Describe the behavior observed
  • Impact: Explain the effect of the behavior on you, your team, or the organization

Scenario: A teammate consistently misses deadlines and when they finally do deliver their tasks, they are often not of good quality tasks requiring the rest of the team to redo portions of their work.

2. Observation, Feelings, Needs, and Request (OFNR) framework

The OFNR framework consists of four parts:

  • Observation: Tell the other person the behavior you observe from them that is making you uncomfortable. “When I Observe…”
  • Feelings: Explain how the person’s behavior makes you feel (happy, sad, angry, annoyed, excited, worried, scared, hurt, embarrassed, confused) “I feel…”
  • Needs: Describe what you need from the other person (physiological, safety, social, esteem, self-actualization) “Because I need…”
  • Request: Ask them specifically what you’d like them to do. “Would you be willing to…”

Scenario: A team member gives an informative presentation that is too long-winded, going over an hour causing the audience to lose focus. This presentation will be used at the next client meeting which is only 1 hour long and needs to cover many other topics.

3. Actionable, Specific, Kind (ASK) framework

The ASK framework focuses on the following attributes:

  • Actionable: Address the actionable issue
  • Specific: Be specific in your request.
  • Kind

Scenario: A colleague dominates team discussions, interrupting others or dismissing alternative ideas without considering them. His behavior is often seen as grating or rude by the team.

4. Goal, Reality, Options, Will (GROW) framework

The Grow framework focuses on mentoring and guidance to give feedback

  • Goal: Explore the individual’s goals
  • Reality: Assess the current reality
  • Options: Brainstorm options
  • Will: Create a list of actions to commit to to achieve the goal

Scenario: A colleague is working towards a promotion to senior software engineer and has asked you for feedback on their performance. Although they have great technical proficiency you have noticed that they do not speak up during meetings unless directly asked and often wait for tasks to be assigned instead of taking initiative.

Choose a Framework for Giving Feedback [15 mins]

We have looked at the following frameworks for giving feedback:

  • Situation, Behavior, Impact (SBI) - Describe the situation, detail the specific behavior observed, and explain the impact it had.
  • Actionable, Specific, Kind (ASK) - Start with an actionable issue, be specific in your request and make sure it is delivered in a kind manner.
  • Observation, Feelings, Needs and Actions (OFNA) - discuss an observation, how it made you feel, what needs to happen to rectify this behavior and the actions they can take.
  • Goal, Reality, Options, Will (GROW) model. Explore the individual’s goals, assess the current reality, brainstorm options, and commit to action. This model is best suited when the individual is already aware of the area to improve.

Spend 10 minutes working through the following scenarios, discussing with your partner which framework you think should be applied.

  1. Behavioural Feedback - A team member frequently arrives late to meetings, affecting the team’s schedule.

  2. Positive Feedback for Improvement - A colleague made significant improvements in their work, but there’s still room for further development.

  3. Conflict Resolution - Two team members have a disagreement about how to approach a project, leading to tension in meetings.

  4. Performance Review - You are giving a formal performance review to a team member whose work has been solid but lacks creativity or initiative.

  5. Cross-Team Collaboration - A team member from another department is not communicating well with your team, leading to delays and confusion.

Come together as a group and spend 5 minutes discussing which frameworks were chosen for each scenario and why. Your answers are unlikely to all be the same!

Reflection 🧘‍♂️ [10 mins]

Come together as a group and discuss the following:

When giving feedback:

  • What challenges did you face when delivering feedback?
  • How did you decide which feedback framework to use? Would you choose the same framework in real life?
  • Which framework do you find the most useful? Which did you struggle with the most?
  • How did you balance providing constructive criticism with being supportive?
  • Did the scenario feel realistic or exaggerated? How would you adapt your approach in a real-world situation?
  • How do you think feedback methods can differ depending on the person or context?

When receiving feedback:

  • How did the feedback make you feel? Was it easy to remain open to feedback?
  • Were there any moments when you felt defensive? How did you manage those feelings? How might you manage those feelings in real-world scenarios?
  • Was the feedback clear and actionable? How would you apply it to improve?
  • How can you proactively seek out more feedback from your peers or mentors?

Wrap-up

In this session we’ve practised giving feedback in a variety of different scenarios and have explored several frameworks we can use to help us do it. Each of them provides us with a possible new approach we can take when figuring out how to give feedback constructively and effectively.

When you are giving feedback in the future, you should refer back to the frameworks discussed here and - just as we did in the activity - think about which one would be appropriate for the situation you’re in. After giving out this feedback, consider what went well and what didn’t. How succesfully did you adhere the framework you chose? Did it fit the situation as well as you had hoped? Carry your answers forward and use them to give even better feedback next time.

Tips for Giving Feedback:

  • Give feedback in the right context, being mindful of tone and its impact on the receiver.
  • Give feedback in a timely fashion, be direct, and non-accusatory (assume positive intent).
  • Give feedback privately.
  • Sometimes it is also better to ask if someone would like feedback.

Tips for Receiving Feedback:

Review

Look back over the objectives of this activity - check you've met them all. If you haven't, make sure you have a plan for how to achieve them - maybe checking in with a volunteer or a fellow trainee could help?

Morning Break

A quick break so we can all concentrate on the next piece of work.

Arrays

Learning Objectives

Instructions

This workshop aims to check your understanding.

Each task will explain whether or not you should run the code.

For each task, you can use Data Groups Sprint 1 prep to help you with the questions. You can also use documentation to look up any functions that are unfamiliar. Don’t use ChatGPT or any other AI tool to help you.

🧰 Setup

  1. Get into pairs or groups of up to three.
  2. Make sure you have a clone of the workshop code repository on your local machine.

The content for this workshop workshop can be found here 👉 https://github.com/CodeYourFuture/workshop-code/tree/main/arrays/ In this workshop, each file contains a different problem at a particular level.

You should start this project at Level 100 and then move through the levels in ascending order, level 200, 300 etc.

➡️ Go to Level 100

Review

Look back over the objectives of this activity - check you've met them all. If you haven't, make sure you have a plan for how to achieve them - maybe checking in with a volunteer or a fellow trainee could help?

Community Lunch

Every Saturday, we eat together. We share our food and our stories. We learn about each other and the world. We build community.

This is everyone’s responsibility, so let’s work together. These are the roles we need help with.

  • Food shopping: ensure enough food is available for all courses running in your region, respecting the dietary requirements and the budget (you might not be the one buying the food, but you should ensure whoever buys or cooks the food knows what should be bought)
  • Setting up the table: organise the food so that everyone has access to it and invite people to join lunch
  • Washing up & tidying: your location should be as clean as it was before you all arrived in the morning. This can include washing up, taking the litter outside, hoovering, etc.

You can do something different every week or every two weeks. You shouldn’t have to be constantly responsible for the same task. Agree as a cohort on how you will manage this.

Questions you can use to help this organisation:

  1. How long should each person (group of people) be responsible for each goal? 1 week? 2 weeks?
  2. How will we communicate to our community who is the person responsible right now?
  3. Is there any role missing?

Study Group

Learning Objectives

Trainees

This is time for you to get help with whatever you need help with.

If you didn’t understand something in the prep, ask about it.

If you were struggling with a backlog exercise, get help with it.

If you weren’t quite sure of something in a workshop, discuss it.

If you don’t have any problems, keep working through the backlog until you need help.

It can be useful to get into groups with others facing the same problem, or working on the same backlog item.

Volunteers

Don’t be scared to approach people and ask what they’re working on - see if you can help them out, or stretch their understanding.

If lots of people have the same problems, maybe you can put together a demonstration or a workshop to help them understand.

If absolutely no one needs help, consider reviewing some PRs using the process and guidelines in the #cyf-code-review-volunteer-team Slack channel canvas.

Breaks

No one can work solidly forever! Make sure to take breaks when you need.

Finished everything?

If you have finished everything in the backlog you can use this time to practice some other skills which will be useful in your future careers. We have some suggestions below:

Pair programming

Pair programming is very common in industry so it’s good to practice it now! Find a partner and choose a problem to work on, for example a Codewars kata. One person will be the “driver” and the other will be the “navigator”. Both of you will use the same laptop to complete the activity.

  • The “driver” is the person typing on the keyboard, just thinking about what needs to be written
  • The “navigator” reviews what the driver is doing and is thinking about to write next
  • Switch between driver and navigator roles after
  • Don’t dominate - this is teamwork

There are further details in our Pair Programming Guide.

Code review

You will receive regular reviews of your work from volunteers when you submit a PR, but how comfortable are you giving a review? Find a partner and give each other feedback on one of the PRs you submitted this week. After you have given your feedback you should consider:

  • How did you understand what the goal of the PR is? Did you read the title and description, look at the coursework exercises, etc.
  • How did you use the different tabs in the PR: Conversation, Commits, Files changed.
  • What made a PR easy or hard to review:
    • Where unrelated files/lines changed?
    • Was code consistently formatted? Did indentation help or hurt understanding?
  • How did you review the code? Did you read top-to-bottom? Did you jump around into and out-of functions? Did you look at tests? Did you clone the code locally and try running it?

Prepare for your next demo

You need to give regular demos to complete the course. Use this time to work on your next one. You could:

  • Prepare your slides
  • Discuss topics
  • Practice presenting

Share resources you have found

CYF aren’t the only resource available to you! If you have discovered a new book, YouTube channel or anything else you are using to help you learn this is an excellent time to share it with your cohort.

Retro: Start / Stop / Continue

🕹️Retro (20 minutes)

A retro is a chance to reflect. You can do this on RetroTool (create a free anonymous retro and share the link with the class) or on sticky notes on a wall.

  1. Set a timer for 5 minutes. There’s one on the RetroTool too.
  2. Write down as many things as you can think of that you’d like to start, stop, and continue doing next sprint.
  3. Write one point per note and keep it short.
  4. When the timer goes off, one person should set a timer for 1 minute and group the notes into themes.
  5. Next, set a timer for 2 minutes and all vote on the most important themes by adding a dot or a +1 to the note.
  6. Finally, set a timer for 8 minutes and all discuss the top three themes.