We've been looking at ways of improving our culture within our software development teams. We deliver across 9 Agile teams and my job, as one of the Software Engineering Practice Managers, is to focus on their career development and build a culture of learning and support.
The most recent initiative in this area has been our introduction of Guilds.
What is a Guild?
Guilds are self-organising groups of people with a common interest, who want to share their knowledge, learn more, build relationships, take forward ideas, and improve.
Guilds aren't anything new. Historically, they were formed by workmen such as carpenters and stonemasons, but fast-forward to today and large technology organisations like Spotify and Hootsuite have guilds built into their structures.
Why are we supporting Guilds?
In our current building, teams are spread over a large area, which can be challenging when it comes to sharing ideas. This is something that will be improved when we move into a new building this winter.
Our teams have a vast wealth of knowledge, spread across some fairly diverse interests. Enabling groups to meet can provide insights into different ways of working, solve problems through experience, and encourage everyone to feel able to approach people outside of their teams for help.
Self-forming Guilds
In January of this year, we introduced the idea of Guilds and published some terms of reference. These were not formal or mandatory, but rather a vehicle for people to freely form Guilds if they so wish.
We made spaces available where Guild members could meet during lunch times and we offered a prize for the best Guild. We use Yammer as the tool to form the groups and to help share resources and knowledge.
In May, we ran a 'Guild Fair' where all Guilds had a display table to show what they do and entice others to join.
What Guilds have been formed?
There are currently 15 Guilds and more still to be formed. They are wide-ranging and cover the languages and tools we use during our day-to-day business, such as C#, Python, PowerShell, Test Automation, Spring Framework and Containers.
There are also ‘enthusiast’ guilds such as the Kotlin Guild and the Raspberry Pi Guild where people just want to learn from each other.
What are the Guilds doing?
One of the C# Guild's missions is to call on the experience of previous trainees and senior engineers to feed into a new curriculum for our trainee programme, using Gitlab to evolve a living document. They meet regularly on a Thursday (when it is curry theme in the canteen).
Elsewhere, the Python Guild is hoping to bring together standards across the organisation, since Python is used outside of the core developer community by 'citizen developers' who need to be aligned with best practices.
Kotlin isn't a language we use, but a passionate group of engineers have formed a study group to expand their knowledge and learn from each other. One of our senior managers has joined to re-engage his technical skills and is loving getting his hands dirty and learning from others.
It is early days to realise any business benefit, but this is not the main focus. What we are seeing are some great cultural and social gains, cross-mixing of teams, sharing of ideas and general increase in collaboration.
Sharon Lewis is the Software Engineering Team Manager at the UK Hydrographic Office.