While we’re fascinated by the latest developments in technology and code, we don’t just plug new thinking into customer projects. We need to know what works, what doesn’t work, and that we can get the best out of what we’re using. I wanted to highlight the role played in this by Red River’s Tech Steering Team.
The Tech Steering Team meets once a fortnight over breakfast to discuss up-and-coming technology, as well as reflect on what has worked and not worked for us and our projects. Anyone is welcome to join – the only requirement is an interest in bleeding edge technology. One of the team’s key tasks is spiking out new tech. When spiking out, we are looking to assess whether a technology can provide added value on top of – or instead of – our current stack, and if so whether we should adopt it more widely.
One technology the team spiked out was Swagger UI. We’d noticed that API endpoints weren’t being documented anywhere, and that consequently they were hard for front-end developers to integrate: what was an endpoint expecting in a request, and how would it respond? Backend and full-stack developers sometimes had to go over what they’d already done just to hook up endpoints, and we wanted to stop this and increase our efficiency. Predictably, this spike out was well received, and we’ve implemented Swagger UI on every project since.
Not all spike outs are successful though. We first investigated and spiked out GraphQL about two years ago when it was relatively new. We quickly found that it wasn’t as mature as we would have liked – we couldn’t rely on it while keeping efficiency and reliability high. We’ve been closely watching the project ever since, and we’ve made many attempts to integrate it, but we still don’t feel that it’s quite ready for daily use.
Red River mirror
The Tech Steering Team isn’t just critically examining other people’s work. Another of its key roles is to evaluate Red River’s own current processes and identify any inefficiency. Even if we can’t see an immediate solution, it raises the issue so that the rest of the team can make their own suggestions.
One output from this was a process change in the way we scope out the potential for delays on projects. Early in any project, everyone now has a technical discussion with their lead developer to agree how to complete things most efficiently, and identify any implications that might cause delay. This also gives the lead the opportunity to share knowledge and build an overview of all the work being done on the project.
In a nutshell, then, the Tech Steering Team helps ensure we are using the right technology for every task, and that our processes are streamlined and up to date. It’s an important part of ensuring the quality, stability and longevity of what we do. For me personally, it’s great to play a part in helping set our direction.