Over my career, I’ve used thousands of pieces of code and technology provided by others, supported hundreds of operating system versions and worked with too many browsers and their versions to remember (or want to). I’ve seen a shift in the web from pure HTML and CSS web pages served from a single device in somebody’s closet all the way through to fully immersive applications and games, with thousands of users running real time off of a cluster of virtual servers running in hundreds of locations all over the world.
There has been, to say it frankly, quite the shift.
Keeping yourself up to date and immersed in the right technologies to help you and your clients grow is time consuming. It takes effort.
So how do you identify what new technology is? How can you find these new technologies? How can we safely implement new systems and thinking, and test their suitability without spending all our budgets on shiny new things?
There is a common phrase which comes up when discussing newer technologies – “the latest and greatest” – of which I’m not a huge fan. It suggests not only homogeneity in the technology landscape, which is bad for everyone; it also suggests that if you are not using it then that you are doing something wrong. If it’s the greatest, we should all be using it and I’d be out of a job.
I prefer to look at new technology as something which no one on the team has experience running in production. If you define new technology this way it allows you to have a little bit of mental headspace to spend time checking that it suits. Working harder to test it before it goes live. To be a little bit scared about how it’s going to run in the real world. To accept that things may go wrong. It also means that when you get something new into production you can treat it as the enormous accomplishment that it is, and the time and effort that someone in your team has spent researching, proposing, implementing and launching something new.
Putting new things into practice is one of the reasons why developers love their jobs. When you start something new it’s a brand new world for you to explore. You get to learn the way in which the system works, find new solutions to problems and hopefully implement something which works better, faster and for longer than you could have before.
It’s also extremely challenging. It’s hard to let yourself be a beginner where you were previously an expert. It can challenge assumptions you’ve been making for years and force you to learn new paradigms and ways of working. You can be unsure if you are doing the right thing in the right way.
It’s hard to stay ahead of the curve, so instead we try and keep at the cutting edge, not the bleeding edge, at Little Giant. This means allowing our technology department the room to be able to implement new things, try things out and to propose and design new solutions and systems which are likely to improve the way we work.
Currently we’re working hard to become better at deploying statically generated websites which use technology like GatsbyJS to power the front end of applications we build.
We’re working more with content delivery platforms like Contentful and StoryBlok to power headless CMS interfaces.
We’re working on consolidating our server side API layer to consistently use GraphQL to allow for the delivery of assets built on the technology above.
These are all initiatives which have come from members of the technology team, which have in turn been investigated and proposed to the wider group. The team is able to put together workstreams which allow for these new ideas, systems and processes to be implemented which are then approved as part of a larger piece of client work or as standalone tooling builds.
As Little Giant is linked with the global Isobar agency network this also allows us to leverage the technology and systems that they are experts in, like Sitecore and Adobe AEM. We teach others how we utilise SilverStripe to build world leading platforms.
Leverage the things which you are using well and learn where you think there are other paths to improve both your teams’ skills and ultimately the quality of the work you produce.
One of the great truths of the world is that time moves on and we learn things. We can put those learnings into practice with the same, or newer, technology, replacing the bad bits with the good, or better.
Champion having both yourself and your teams try out new things and test new propositions. Build the skill set to identify, propose and implement new systems and technologies. Deploy new things and celebrate.