In November, Sarah Foster and Jasper Pandza from the Department for Digital, Culture Media and Sport (DCMS) got in touch with GDS to find out about the work it does with Codebar, a non-profit organisation that runs coding workshops for under-represented people in tech.
We met to have a chat. DCMS wanted to run something similar – informal meet-ups for colleagues who were interested in learning to code.
As you would expect from the lead government department for digital policy, there was strong interest in learning to code at DCMS, especially among leaders and policy officials.
It soon became clear that there was an opportunity for the GDS technology community to provide support to DCMS colleagues to help them develop their coding skills.
A weekly lunchtime coding club was suggested. DCMS colleagues would attend and GDS developers would provide support and guidance.
Bringing the Coding Club to life
DCMS colleagues wanted to learn Python as well as HTML and CSS. I asked the GDS technology community for volunteers to go to DCMS one lunchtime a week for a 4-week trial to help out at the coding club. 9 developers came forward.
We decided to offer 2 coding club sessions a week: one on HTML and CSS and the other on Python.
An informal class
We decided to keep the coding club sessions fairly informal so that we could cater to a range of skill levels. People who had never written a line of code before were just as welcome as those familiar with programming languages.
We knew that not everyone would be able to attend every session and we didn’t want anyone to feel left behind if they couldn’t come one week.
Therefore, rather than delivering lectures which may not be suitable for everyone, we invited attendees to either bring along a project they wanted to work on or follow one of the many free tutorials available online, such as 'Automate the boring stuff with Python'. With this approach, attendees could work at their own pace, carry on in their spare time if they wanted to and pick up where they left off if they missed a week.
GDS developers were on hand to answer questions, clarify programming concepts and offer guidance on personal projects.
Future coding club sessions
After the 4-week trial concluded, we held a retrospective for DCMS coding club attendees and GDS volunteers to evaluate the sessions.
Both attendees and volunteers enjoyed the sessions. Attendees were grateful that they could work at their own pace and liked meeting colleagues from another department. They also said they had already made progress and were keen to continue learning.
We agreed that we needed to find a way to better match the number of volunteers to attendees so that everyone got the help they needed. We also noted that the number of attendees fluctuated from week to week and needed to find out the reasons behind this.
In the future, we’d like to explore grouping attendees by experience level so that we can better tailor sessions to different needs. This approach would also enable attendees to collaborate in groups and help each other out, so that the coding club can be more self-sufficient. It also became clear that attendees valued the idea of building something rather than just following tutorials, so GDS will help to compile a list of beginner-level projects to get started with.
Do you run something similar in your department? Comment below.
Emma Beynon is a GOV.UK developer.
We’re hiring! Come and chat to us at Silicon Milkroundabout on 19 and 20 May and follow @DigiCareersGov.
Check out what type of software developer roles exist in government.
Comment by Sam posted on
Here at BEIS we have internal coding lessons, with the more senior software developers teaching the roles below them - very helpful for tailoring the experience to the specific digital services we run.
Comment by Alan O'Donohoe posted on
Emma, I'd recommend you explore a structure for your meetings that I first witnessed at a Python Dojo. In simple terms, everyone works together in small groups or pairs on a common goal or challenges. The challenges are kept fairly open so that a group of complete beginners and a group of experts could all generate coded solutions to the challenges, e.g. building a guess the number game. Just before the end, groups share their solutions to the challenges so that everyone can see the different approaches. Since you're meeting at lunchtimes, you might choose to set these challenges over 2 or 3 lunchtimes rather than attempt to finish it in one. A visit to the London Python Dojo might help you see the structure, they meet on the first Thursday evening each month. I've written some blog posts about these strategies, I could send you links for further reading.
Comment by Howard Pang posted on
A few colleagues and myself organised a coding club in the DfT for a few months, concentrating on Python. We split the hour sessions into a theory tutorial, talking through a problem and applying theory to a project. Attendance was always high, around the 20 mark, until work obligations got in the way and it's been on hold since.
However, the enthusiasm and curiosity to code is still there - if anything, it has gotten larger as our Digital Service has expanded greatly since. I imagine colleagues across government have the same problem, that of time and meeting conflicts, which would explain the fluctuations.
Therefore would it be a good idea to make this cross government, in order to keep involvement as high as possible for each session? Based on what I’ve seen in coding clubs outside government, session types are also very successful too – not on language or skill level, but on content. For instance, one would be instructor led on a particular topic, whilst another would be dedicated to helping out with attendees’ personal projects and coding problems.
Our long term plan at the DfT Coding Club was to create projects that spanned sessions, so that every week attendees would get the sense that they were creating a significant project, building on top of what they made the previous week.