The fundamental thing I learnt my first time Volunteering.
Tags: python, learning, motivation, career
Published: 2018-08-08 10:48:16

---
title: The fundamental thing I learnt my first time Volunteering.
published: true
description: When a chance came up to do a tech workshop with a few teenagers, I thought why not and signed up.
tags: python, learning, motivation, career
cover_image: https://thepracticaldev.s3.amazonaws.com/i/gjqbyf6jlua1vp18syp9.png
---

<blockquote><strong>volunteer (vŏlˌən-tîrˈ)</strong>
<strong>n. A person who performs or offers to perform a service voluntarily: an information booth staffed by volunteers; hospital volunteers.</strong></blockquote>
Volunteering, it's something you hear a lot of these days and something most people mean or want to do. You're never ultimately sure what you'll be doing and who with, but I've always been intrigued to try.

My current employer actively encourages you to try and help the community and gives us multiple opportunities to help out when we can.

When a chance came up to do a tech workshop with a few teenagers, I thought why not and signed up. Those few teenagers turned out to be 20 and I spent a few days trying to impart how Python can be used to program a <a href="https://github.com/fogleman/Minecraft">Minecraft clone</a> and a <a href="http://microbit.org/">Microbit</a> computer.
<h2>Getting ready</h2>
As the main technical volunteer it was up to me to lead and present the material. Describing variables, classes and Pythons annoying tab formatted syntax proved to be a challenge.

Keeping the required information understandable and short was key to keeping the group on board, and audience participation with youngsters is a must. Coding is fun, and must be seen to be so, listening to a anyone babble on for a considerable length will take it's toll, especially if your attention span lasts a whole 3 minutes!

Having never worked with Python, I had to spend a few days getting up to speed with the syntax and it's subtleties. Having the source material definitely helped with knowing what sort of questions may be asked and what we'd be covering/trying to achieve.
<blockquote><strong>" run through the subject matter before hand if you have it "</strong></blockquote>
The first day was rather daunting, finding the location, meeting the additional volunteers and organisers, as well as getting to know the children and trying to guide them through the material is no mean feat. A tip I would recommend is to run through the subject matter before hand if you have it, it definitely calms your nerves, trying to do it when you arrive with all the other distractions I've mentioned does the heart no favours!

Once you've settled in, <strong>the main thing is to enjoy it</strong>. In most cases volunteers are all there out their own free will, and are aiming for it to be a success as much as you are. Leverage each other where you can, find your groups strengths and play to them.
<h2>That fundamental thing!</h2>
So yeah, the coding... It's taken a while to get to it, and I suppose the lovely thing about it is, that volunteering is not ultimately much about the subject matter at all. Yes that's the driving energy and purpose of the event but all the things listed above have much more importance to the overall outcome than if the kids understood the code. It's giving them an insight into the subject, or tech in this instance, making sure they enjoy the day, and equally that you do. There's no right or wrong answers, no tests to pass. Luckily TDD was not on the curriculum!

The ultimate aim is to give what you can, and that's the main lesson I took away from this experience. People say that giving presents can feel more rewarding than receiving them, and I think there's some credence to that with volunteering too. It was a thoroughly enjoyable few days, with some lovely people and I'd heartily recommend it to anyone sitting on the fence!
<h2>What did we do?</h2>
This <a href="https://github.com/fogleman/Minecraft">fantastic repository</a> was used to run a Minecraft clone using the Pyglet engine. We pulled the source down from GitHub and used VSCode as our IDE.  We made changes to the block types, edited the textures and altered the constants to change how the game plays. There's a video of it in action below:

{% youtube kC3lwK631X8 %}

&nbsp;

We also coded on a <a href="http://microbit.org/">Microbit</a>, a tiny programmable computer that was built specifically for this sort of audience. We used it to code a step counter trying to imitate a Fitbit, made a  variation on Harry Potters sorting hat which randomly picked them a house, and for me the most interesting task was using multiple Microbits to create a interactive treasure hunt on the school grounds. Each Microbit was a <strong>beacon</strong> giving out a signal which would be picked up by the listening Microbits, these would be sent a new clue which the kids had to solve to find the next beacon. It was a really fun exercise which really showcased what can be done with a little imagination.

I'd like to give  massive thanks to <a href="http://www.techforlife.co.uk/">Tech For Life</a> for running the event, it was free for all attendees. Any parents out there who think this would be something their child would be interested in, take a look at their site and any upcoming events they have planned.

<strong>Lastly, if you're still on the fence about volunteering, give it a try, don't wait as long as I did!</strong>

*This post was originally published on my personal <a href="http://blog.designpuddle.com/opinion/the-fundamental-thing-i-learnt-from-my-first-time-volunteering/">blog here</a>.*