Being productive and producing great software are key drivers for employee satisfaction in the software engineering industry. Spurious work, delays and distractions all detract from the core of it – solving problems and producing great software.
For a software engineer setting up a new project, many of the tasks involved can only be described as drudgerous. Example aspects include setting up build pipelines, feature-flagging services or getting the project into a shape that roughly conforms with what other teams are working on. All these tasks represent hurdles.
For a business, the ways a project may be setup can be overly intricate and complex with projects being formed in every imaginable shape or form. The situation can gradually begin to get out of hand. Doing things the right way and getting everybody on the same page can be an adventure rather than a given.
Even when a project is in flight and engineers are well engaged in the work – challenges can arise. What was the URL for the logs? Where did I go last time to see my test results? Who owns the related project XYZ I was looking at last week? These little time-wasters add up and cause frustration.
With this in mind, what can be done to improve the developer experience and overcome these pain-points within a large software engineering environment? Spotify encountered similar issues and in response, created a web application called Backstage, which they subsequently open-sourced. The application aims to provide a core technology and ecosystem of plugins to help address these problems across a wide range of target technologies.
One of the key functions Backstage makes possible is the ability to take a project template together with user input and output a fresh project – this process is known as “scaffolding” in Backstage nomenclature. The templates are able to convey not only a standardised project structure but also the integrations with supporting systems such as build, quality and feature-flagging services. A user can provide some inputs, press go and minutes later have a project in a repository with all the supporting systems in place.
The resultant project is now in a Backstage “catalogue” alongside all other existing projects. Software engineers are easily able to access Backstage to find and view the project, or other projects, and inspect the projects’ properties and integrations with their associated support services.
Backstage integrates with a range of support services and additional custom integrations are able to be coded in TypeScript and configured into the Backstage plugin system.
Backstage also makes a good home for bespoke developer utilities as these can be developed with the assistance of the Backstage plugin system and integrated into the Backstage user interface.
By way of example, ClearPoint has been involved in assisting a client with automation around their microservice fleets’ Java 17 upgrades which significantly reduced the overhead of performing this task.
ClearPoint has been involved in a major roll-out of Backstage in New Zealand and are available to talk to organisations with larger software engineering projects about how this technology might be able to improve developer experience and productivity. Contact us to find out more and go through a free demo.