Gemma Cameron, our Principal Software Engineer speaks about what it’s like to work in Co-op Digital and Digital Engineering.
(Transcript) Gemma: I love the variety of projects that we have going on and all the people that are working on them. So we’ve got not just amazing engineers, we’ve also have got some really great product owners, delivery managers, really amazing BAs and the designers are just incredible and we’ve got all the user experience team.
We’ve got some great people working on really innovative cool projects and, you know, what comes out of it is actually doing something good.
We sponsor events, we attend events, so we were at the Manchester Digital Skills Festival not so long ago and that’s great meeting some of the new graduates and people are looking for work and getting to tell them about the story of what we do here, that we’re bringing brilliant people in who are really good at collaboration, who really care about software quality and you know we’re doing all the good things like test-driven development.
We’re building these great teams but we don’t expect everybody to know all the tools that we’re using or the languages that we’re using. So we have got some people who showing all these great people and behavioural qualities, but they’re not so good on Java and we’re giving them time and space and we’re coming up with a syllabus to give them that training.
The same with test-driven development and looking at all that quality. We have community of practice and we get together as a group of engineers and work out what our, sort of, level of quality should be. I also want to try and see if I can get involved in some of the projects from inception so actually working together with people and talking to them about what their needs are, going to have discovery phase and creating like little alphas that would be awesome because I’ve worked in a start ups before and I enjoyed doing that experience and it would be nice to do it for a more worthwhile cause.
I joined the Digital Engineering team in February as the Principal Service Manager. We’ve had a busy few months designing how we’re going to run the new digital services, the first of which being the Local Causes application website which forms part of our new Co-op Membership.
A different way of working
Coming from a background of traditional IT systems with on premise infrastructure, I knew from the moment I walked onto the 13th floor of 1 Angel Square that I’d have to start thinking differently. Every wall, surface and window was covered in sketches, Kanban boards and post its and the floor was buzzing with energy.
As a service team, our job is make sure the systems and services keep running, whether that’s by handling incidents, tackling problems or making sure that changes don’t cause outages or new issues. And that last one has been one of our biggest challenges. In the new digital teams, the pace is much faster than anything we’d been used to. Previously we’d been used to handling one or two big changes a month. The digital teams were aiming to release daily – we needed a different way of working.
The systems are quite complex with lots of different moving parts using lots of different technologies. Some front-end components like the website are built using new tools and technologies that build in automated deployment and automated regression testing. Other components down the stack are slower moving – they haven’t been built using these tools and require more manual intervention. We needed to build a change process that didn’t cause a bottle neck to releasing new features but at the same time would give us enough assurance that changes to one component weren’t going to cause issues up and down the stack (and at the same time making sure we’re not drowning in admin that doesn’t add value.)
Whilst we’re still keeping in line with the Co-op’s core change policies, we’ve tweaked the way we work to enable us to handle the higher volumes of change. At the moment whilst there’s a lot going on, we’re having daily Change Approval Board (CAB) meetings to make sure representatives from each of the components are aware of the changes going on across the whole ecosystem. This way we’re catching any potential conflicts and we’ve seen some great challenges between the teams to make their changes safer by improving their testing or deployment approaches.
We’re trialling different ways to make sure everyone knows what’s going on, from post-its on a whiteboard to venturing into the world of chat ops with a shared calendar integrated into a Slack channel. And as we go, we’re collecting feedback from all of the different teams – What’s not working? How can we make it more efficient? How could we tackle the admin differently?
We hit a great milestone this month – over 13 days we hit an average of one successful deployment a day to the Co-op Local Community Fund. Whilst we’re not quite at full continuous delivery levels yet we’ve learnt a lot in getting this far.
I’m delighted to welcome Rick and Dan to CoopDigital.
Rick Healy has been promoted to the role of principal architect in the Digital Engineering team. He’s been doing a lot of work on our new Membership platform, we’ll tell you more about that on the blog later this week. Rick’s worked with me on a number of projects over the years and has been a real leader in cultivating the solution architecture community at Co-op.
Dan McGraw joins the team as an architect. He’s been on our graduate programme for the last 2 ½ years, where he’s taken roles as a Business Analyst, IT Project Manager and finally as a Solution Architect, working with lots of our businesses and most recently on the membership platform.