By Russell Waite, Head of Software Engineering.
Rather than the literal, etymological meaning of the term ‘cutting edge’ (referring to the business end of ploughs that cultivate fields), I always think of the term cutting edge as a warning. It's telling you it will hurt you the same way a knife will if you are not careful with it. To start using cutting edge technologies in production without research, practice and lots of testing is tantamount to knife juggling. Sure, it will bring in the crowds - but if it goes wrong you are going to give people nightmares. At Sorted, we are not street performers playing with fire and knives (well, most of us aren't). We are, however, tech aficionados and we like to experiment with the latest and greatest whilst reviewing its suitability for our problem-solving toolbox. The industry we are in has some pretty big and juicy problems to solve and it's always nice to find a new way of solving them.
So how do we look to the future, move forward and not get stale? We have a couple of ways; however I'm only going to talk about one of them today: Q Division.
We have a group of people giving up a bit of their own time to work with likeminded folk on any new tech that they want to. It’s almost like that TV show Dragon's den; you turn up and pitch your idea (preferably with associated tech) and everyone gets to vote for it by backing it with their time. At the moment, we are running a Go based application along with a .NET core app hosted on Linux with Kubernetes. Next up is Kotlin, on Android but hopefully also on the server side in our Kubernetes project to replace one of the micro services. This is just to see how nice it is to work with, I believe the slang term is "for shits and giggles". Swift might be next - I've previously tested Swift on the server back when IBM made it first possible, a very sharp version of the cutting edge. Not all tech will make it into production, but we are keen to try as many current/new ones as possible.
The two concurrent projects solve very different problems. The first; the Go APIs are being used to create a pool league app that can track our current office-wide pool competition (not all Q Division projects are solving logistics and delivery problems). Whereas the containerised .NET core project is aimed at helping us with automated testing scenarios and removing our end to end testing reliance upon third party test services. We are a growing company and have made some mistakes with testing, however we are trying to address these issues. I have often seen and heard of new technology being brought in to address holes in a company's automated testing strategies, the second Q Division project falls into this category.
I'll talk more about the Kubernetes part of this project in another post which is more of a technical ‘getting started with the technology on your local PC’ piece. I've had some "fun" with it over the past couple of weeks but that is the best way to learn, a bit of reading and then diving straight in (followed by a lot more reading).
Q Division is only in phase 1 of how we envision it. We are still only targeting developers, however this will change later in the year when we get a few projects launched and the format is hardened. The plan to include the rest of the business was pitched to our COO, John Crowther, and he was very supportive. That is the Sorted way though; try ideas, support new initiatives and, in the worst case if they fail, learn from them then go again. We are even talking about making our own drones from scratch, my personal hope is that some point next year one of our drones will be able to deliver me a chilled bottle of Peroni to my desk on a sunny Friday afternoon (our beer fridge opens at 2pm). Until then I'll have to walk upstairs and get it myself...
Sorted's next tech stack (kicking off in June 2018) is one of the best, if not the best, stacks being worked on in Manchester right now. .NET core 2.1, Azure Functions, Azure Cosmos (multi paradigm), Docker with Kubernetes and React.js - to name just a few parts of it. If you want to be part of a product team working with the latest tech, with your team owning their destiny, come speak to us.