Endorsed Technology. Hi, I’m Owen, an Engineering Lead… | by Owen Nicol | John Lewis & Partners Software Engineering | Mar, 2022

Hi, I’m Owen, an Engineering Lead looking after front-end engineering across the Partnership. Today I’d like to introduce the concept of Endorsed Technology.

In the John Lewis Partnership all Product Engineers are part of the Technical Profession and we work within Product teams. Each team owns their feature or application, from discovery, design and build, to supporting it and making changes. Each team is given autonomy to create solutions to the problems we are trying to solve for our customers.

This autonomy is great for teams to be productive and efficient and to find new ways of doing things, but it can lead to fragmentation across teams and across the technical landscape, with different technologies being used to solve similar problems.

This can become particularly challenging when an application changes ownership from one team to another. If the application contains technology that the new team isn’t used to working with, it can lead to issues in understanding how it works, working productively with the codebase and being able to make changes effectively.

We needed to find a way of ensuring we use technologies that both allow us to solve the problems we are trying to solve, and also that we have the skills within the Partnership to use these technologies. We needed to strike a balance between autonomy and consistency, while still enabling experimentation and innovation.

To address these needs, we have created the concept of Endorsed Technology.

Endorsed Technology is an opinionated list of tools and technologies that we recommend as the default choice when creating a project and provides the supported path to ‘build something’.

These technologies are well known within the Partnership, commonly used and there is a large amount of experience and support available to answer questions about them. Each technology has been “endorsed” by members of the John Lewis and Waitrose Engineering Forums.

To answer this question, we have created the JLP Endorsed Tech Finder.

Screenshot of the JLP Endorsed Tech Finder tool

The Endorsed Tech Finder is a tool aimed at new engineers or new teams who want to know what technologies they should be using to achieve their goal. It is separated into the key specialisms e.g. Front-end, Back-end or Platform and there is a deliberate overlap between the specialisms as sometimes we use the same tools. For this initial version, we chose to limit the scope to Digital technologies within John Lewis and Waitrose .com areas to begin with. We will consider John Lewis Finance and non-digital technologies in the future.

We have taken the decision to separate the technologies into those used by Waitrose and John Lewis. We use very similar technologies across both brands, but there are differences and we chose to highlight them. Our vision is to align these as much as possible in the future.

Each technology has a description of what it is, why we use it and a link to find out more. There is also a search to help find a particular technology.

The tool is an initial “Beta” version as it is our first attempt at providing this kind of tool. We have built a feedback mechanism into the tool and are already gathering lots of great feedback on how we can improve the tool as well as the list of Endorsed Technologies.

We have asked teams to reflect on whether the product they own is using some, or all, of the technologies in the list. If there are some differences, we have asked them to discuss why this might be and whether they should migrate to something on the list.

New team members, or teams building something new, are asked to use the Endorsed Tech Finder to decide which technologies they should be using to start your project.

This list is a point-in-time reflection of the technologies that we are endorsing at this time. We are going to be regularly reviewing this, updating it and listening to feedback. We don’t want to discourage innovation or experimentation.

If there is a particular framework or tool a team has tried out and thinks adds benefit, they can discuss it within the Engineering Forums and we can make decisions, as a group, as to whether we want to add it to the Endorsed Technology list.

We created this list of Endorsed Technologies in two phases.

First, by asking teams which technologies they are using. As you may imagine, there are a lot of different pieces of technology that our 60+ Digital teams use and there are a lot of opinions!

Then, armed with our long spreadsheets, we grouped the technologies into meaningful categories and took a view on whether there were any overlapping tools for a particular job and which one(s) we should recommend and endorse as a Technical Profession.

We now have a much clearer picture of which technologies different teams use and what we think are the best choices for teams to use to solve particular problems.

We learned that it takes time to form a view of the landscape and to form an opinion. The Tech Finder tool was built very quickly, but it took a lot longer to reach agreement on the technologies in the list.

We were ambitious and I think that ambition has paid off and set us up for a future where we have less fragmentation and more cohesion, but still with room for experimentation and innovation.

The Endorsed Tech Finder is now part of the onboarding process for new Product Engineers and teams starting within the Tech Profession.

We will be continually looking at how the tool is used and how it will evolve in the future.

We will create a follow up story to update on how effective the Endorsed Tech Finder tool has been. So far it has had an incredibly positive reaction and lots of great feedback.

Next, we will focus on how we determine which technologies we should be adopting in the future and keeping pace with the incredibly fast moving technological landscape.