A step into a larger world

As Obi-Wan Kenobi once told Luke. (Clip)

That’s good, you have just taken your first step into a larger world

Recently at the Code Club i help out at, someone was struggling to work out why their python code didn’t run. He called me over, we looked at the code the project was asking him to write and what he had written. It looked right, no typos, no missing declarations or wrong variable names. We tried saving it and re-opening in case Trinket (online editor for python) had failed parsing it correctly, same result. So i called over another volunteer, they checked it…nope it looks right. A 3rd volunteer is free (we are lucky we have at least 4 of us every week), they checked it too. It looks right, so we decided to disregard the sample code and work out what we thought it should do. 2 changes later and after a corrected import statement and while loop parameter and it is fixed. SUCCESS!!! 10 lines of code, 2 bugs.

The student thanked us for our help and then proceeded to say

Those 2 bugs wasted 10 minutes of my life

I said “I know, welcome to coding in real life, you are lucky if it only takes 10 mins and never believe any sample code on the internet”.

“…you have just taken your first step into a larger world” 🙂

1st day at school

first-day-of-school-frugal-coupon-living-1024x682
Yesterday I helped out at my first Code Club, so it was like my first day at school. I had prepared (a bit) by going through some of the first few Scratch and Python projects on the Code Club site and doing them myself. Having not really done loads with either language I think it helped as I fell into some of the same pitfalls that the kids did (and some they didn’t!). It helped when they had questions or call me over to help as their code didn’t run and they couldn’t work out why. I was definitely more comfortable helping with the Python than Scratch, probably due to it being closer to what I do every day.

I am amazed by how quickly they picked things up and got through the projects, even adding their own touches to the designs as they went, with no fear or apprehension. It is great to see how enthusiastic they are to dive in and get things working. They even pick up the developer trait and not saving often enough when they are in full flow. 🙂

A big thanks to all the other volunteers for spreading a calm demeanour that helped the club run smoothly. Can’t wait for next week.

Code Club

Code Club

Very recently I got asked to help in running a Code Club at a local primary school, it is something i have been interested in for a while now. My daughters have both tried coding with scratch at home on weekends and loved it. Especially the Frozen and Star Wars projects on code.org. I tried numerous times to get my eldest’s school interested in running a club, even though my eldest isn’t quite at the right age yet. The projects and resources are targeted at 9-11 year olds. However my 7 year old has done some logic puzzles and coding in her IT lessons on both desktops and iPads. (She got me to download the app so she could teach the 3 year old how to code!)

Anyway i digress, the school were unresponsive and so I accepted an offer to help at another school nearby who have an existing club set up. There are around 4 or 5 volunteers and a class size of 20. The clubs run once a week during term time after school, are free, use school equipment and resources provided through the Code Club website. (Resources)

The projects start by using Scratch and get more advanced, moving into HTML/CSS and then finally Python.

The fact that the clubs run directly after school obviously creates a problem for those volunteers with jobs, luckily for me the company I work for slicedbread are lovely enough to allow me to have a break in the day of the week the club runs. I am honestly very excited about seeing what they produce and the ideas they come up with. Speaking to the other volunteers it is a thoroughly rewarding experience, mentoring the next generation of coders and digital creatives.

If this had existed when I was at primary school I am sure I would have jumped at the chance, I learnt to code when I was 18 (and already on a computing course at university!). Most children are so comfortable with digital technology now, it is in everything they touch and do pretty much. To give them the chance to understand what goes into that and how it works is amazing, it may even inspire them to go and create new apps or technologies themselves.

I hope to keep posting throughout the school year about the club and the activities we undertake. Also my efforts to learn Python.

Python

Taking the lead

I used to lead a team at an agency in the Cheshire countryside before my latest move took me to Altrincham. I was therefore directly responsible for people’s careers and shaping how back end code was written on software projects. I know you can say people are responsible for their own careers, but I think senior people need to help steer others in the right direction and offer advice. You can’t make people learn, but you can inspire them and keep them on the right track.

Recently I began thinking about my role there, since now I have my own projects to deliver and in terms of mentoring I am not directly responsible for other developers careers, at least officially. Back when I was responsible we managed to get the team built out to enable me to help out of projects that needed support and spend time pairing with others, making sure we use the right technology for the project and have the necessary time to complete the work. I hope this allowed me to spend valuable time with the 5 developers (all lovely lads!) I had in the team and work with the other “leads” to make sure we collaborated properly to build the best solutions efficiently. I believe this will have benefited everyone involved as I got their feedback and could discuss how and why we could solve a problem better, plus we grew to be a tight unit as a team. By this I mean we would pick up each others work easily and want to put in the extra effort for each other in times of tight deadlines. It also gave me the chance to see the bigger picture and introduce TDD, code coverage and continuous integration and deployment.

This wasn’t always the case, at first when the team was small, the workload wasn’t much smaller. I had projects to deliver myself as well as help out on others, plus I wanted to give them space to develop their skills with out fear of failure. At times I got too into my project (especially as it was a big client and had very tight deadlines) and wasn’t able to spend the time I needed with others in the team when they really needed me. I still maintain to this day that this impacted badly on 2 the members of the team I had at the time. They were left to fend for themselves and although they did their best they needed direction and support.

I was lucky that the company allowed me to build the team out and become less project dependant as the role of leading a whole team AND delivering projects 24/7 just wasn’t going to work, at least not in this case. By being able to put in the extra time and effort to bring others on we ended up happier, more efficient and better skilled as a team.

I would be interested to hear other developers views on this, if you are prepared to share them?

Thanks for listening!