In February, we published a post explaining how and why we’ve restructured. It focused on our colleagues whose expertise lay within Design, Product, Delivery, SEO and CRO who we now call the Co-op Experience team.
Earlier this year, the Experience team moved into Co-op’s Digital Technology function. Engineering is one of the disciplines that sits within Digital Technology. Experience and Engineering often work together in multidisciplinary teams to bring the right combination of expertise together, at the right time, to create value for Co-op customers, colleagues and the business through our products and services.
Alongside this, Engineering has its own specific aims that ultimately support an improved, seamless customer experience.
Here are our priorities for the next year.
Make it easier for engineers to get on with it
Many organisations that build web and cloud-based products and services have internal platform teams focused on improving engineering productivity. Co-op is no exception. We’ve recently brought an Engineering Productivity team together – a team of engineers who protect the rest of our engineers’ time by removing challenges that get in the way of us delivering value for customers and colleagues. They’ll do this by identifying where we’re duplicating effort across the engineering community and as far as possible, they will create standardised approaches.
Our Engineering Productivity team will harvest, build and curate a collection of engineering resources that help to accelerate the creation of new products and services. These will sit alongside the existing Experience Library and Front-end Toolkit already curated by other parts of Co-op Technology.
Examples from the Engineering Productivity team’s roadmap include:
- common build pipelines so we can remove maintenance responsibilities from engineers, and make it easier to spin up new teams
- identifying useful common components, such as automated security testing in the build pipeline, and productionising them to make them available to all engineers across the estate
- how we bake standards into artefacts so that teams spend less time checking compliance
We believe that by reducing the cognitive load for engineers, they’ll be able to focus on solving new problems rather than spending time on problems that have already been solved elsewhere.
Developing ‘product mindsets’
It doesn’t matter which multidisciplinary team our engineers are part of, or whether they’re responsible for foundational platforms, business platforms or products, everyone needs a product mindset. We want to develop and embed this thinking more. Here’s why.
Since the early days of Co-op Digital, our engineers have been working closely with Design, User Research, Delivery and Product as part of multi-disciplinary teams. Together, we have been focused on delivering customer value through early delivery, rapid feedback loops, and test-and-learn to create effective, usable products and services that perform well. Because we’ve approached things with the same ‘product mindset’, we’ve met the needs of both internal colleagues and external customers. We’re looking to apply this mindset across our wider technology estate.
We consider platforms to be like inward-facing products and a good example of this is the Co-op’s Food E-commerce business area, which has become particularly important since the start of the pandemic. Within it, is our On-demand groceries service which lives on the coop.co.uk platform, as well as convenience and delivery options to order Co-op products through Deliveroo and Amazon. We have multiple product teams around the Food E-commerce space providing value directly to our customers. These product teams draw on services provided by a set of platforms teams which do things such as integrating external marketplaces and courier apps; doing the background work in terms of search functionality and data loading; or providing standard e-commerce functions such as baskets and product information. These platform teams, such as our Unified Commerce Platform, focus on the needs of their own internal customers, such as the Online Shop team, and evolve their own roadmaps to meet the needs of those internal customers.
The Co-op Food E-commerce business is just one example of how we are adapting the way we work to put our customers, whether external or internal, at the centre of our engineering delivery.
Continue to support engineers in a very varied landscape
Co-op was founded in 1844 so it is a really old business. We have many business areas, and there are multiple products and services within each of them. Those products and services have been created at different times – some with the foresight that the internet era is here to stay, others not so much. This means that our engineers can find themselves working across a large and varied portfolio containing a variety of challenges from early-stage discovery work on greenfield products through to heavy lifting work on some of the more established systems which power our £10 billion turnover retail food business.
We try to ensure that our engineers have a broad toolkit of technologies, techniques and practices which they can draw on to do the most effective engineering they can on the systems they are working on. Some techniques such as test-driven development are very much core practices, whereas the use of other techniques will vary based on the context. Teams might use a mix of ensemble programming, pair programming or pull requests based on things like the system they are working on; the makeup of the team, and the work they’re doing.
Our teams can adapt their ways of working over time as the team context changes. As long as they conform to our software development standards they can work in a way that is most effective for their context.
One of our priorities is to equip our engineers with a broad toolkit of techniques and practices that they can choose from to address the specific challenges they are facing. They can improve their toolkit through our Engineering Community of Practice sessions, code club or video club.
Increase pastoral support
We’ve recently made changes to alter the Engineering team’s structure. We’ve moved away from a set-up where almost everyone had line manager responsibilities towards a more simplified structure. We’ve done this because we found that those people were effectively doing 2 jobs: engineer and line manager. This isn’t necessarily the direction that everyone wants to go in and although managing others helps grow people skills, changing context is hard. So, we’ve introduced Engineering Managers. Their role is 100% focused on people, their development and helping them map their careers. It means one-to-ones are now more productive because line managers (now Engineering Managers) are no longer juggling 2 jobs.
Head of Engineering