Are we in computing's renaissance era?
New tools and greater creativity mean there’s never been a better time to be a developer
It's easy to argue that the modern IT landscape is more thriving and vibrant than it ever has been. New tools and technologies seem to spring up on an almost weekly basis, and the industry is no longer dominated by a handful of monolithic giants.
Scott Morrison is a senior vice president and distinguished engineer at CA Technologies and was CTO of API management firm Layer7 prior to its acquisition by CA. According to Morrison, all of these changes have made this a 'new renaissance' for computing, an age in which the developer is king.
KISaaS (Keep It Simple and accessible, Stupid)
Modern software development has been characterised by a number of new technologies, including cloud-based SaaS tools, low code/no code environment and containers. The common thread running through all of these technologies is that they're based on stripping as much complexity as possible out of the development process.
"I think there's a huge trend towards simplicity now," Morrison tells IT Pro. "My generation of people in computing, we thought it was cool to be the people who knew about all the complex stuff. We mythologised what we did, tried to make it seem more exotic and interesting, and we did that by embracing complexity and technology."
This mindset, he says, is largely incompatible with the way younger coders operate. "If I'm 22 and I'm coming out of university and I'm starting to build things, I don't have time for that. There are too many different languages, there are too many different ways of doing things I just want to get stuff done, and I want to have an impact."
Morrison says that in order to achieve this impact, modern developers have to think big and they have to rise above the minutiae that often plagues programming, like the relative merits of C# versus Java. Instead, newer generations have been influenced by the lean, straightforward, UX-focused example set by smartphone apps.
"The beauty of the phone was that it forced apps to become very purposeful; they do one thing, and one thing very well," Morrison explains. "It created this emphasis on usability and simplicity. That's carried through not just in our apps, but in our code and how we build things. The thing that excites me today about technology is that it's about just getting things done and making it simple."
Microservices, macro impact
This trend has both enabled and been enabled by new tools like APIs, microservices and automation, which have helped individuals and smaller teams streamline the development process to an ever-greater degree. The cloud has also played a huge role in accelerating the pace of development, allowing companies to outsource huge chunks of an application's infrastructure. "People don't build monoliths anymore," Morrison explains, "they're building applications out of microservices, and each one of those components can be scaled independently."
The beauty of microservices is that they're almost infinitely composable. If there's a specific functionality you need to add to your application, you can use microservices to quickly bolt it on without having to completely re-engineer large sections of code.
One of the things that makes microservices so useful is that they can be deployed rapidly and at scale, but Morrison argues they necessitate a shift in thinking as a result. Modern development calls for a willingness to discard services as quickly as we spin them up. "The cloud taught us that you should be able to treat all of your services as cattle, not pets," he says. "You don't bring it up and give it a name, you recognise that code and functionality are very disposable."
This, of course, is part of a wider trend of collaboration and openness that has been steadily creeping through the IT landscape. Most modern software tools offer some form of free version an idea that would have been unthinkable ten years ago. Because the tools used by professional developers and engineers are no longer gated off behind extortionate licence fees, amateur developers can progress much more quickly from bedroom hobbyists to legitimate industry professionals.
The growing adoption and acceptance of open source tools and practises throughout the industry has played a substantial part in this too, allowing amateurs and professionals to collaborate and work alongside each other. "You can't emphasise enough the transformative impact of open source," Morrison says. "You could not build impactful software without the use of open source."
This democratisation of coding tools and resources is a hugely significant change, according to Morrison. "Code is for everybody. Everybody should be able to innovate and create things. I think that the movement towards that, towards democratising it, towards making it less scary, towards making it simpler and removing friction, I think is fantastic," he says.
The power of technology is no longer concentrated solely in the hands of wealthy tech firms or those with computer science degrees; the ability to create is now open to a huge range of people from all walks of life. This added diversity, as well as being a moral and social good, also brings practical benefits for businesses.
Coders with backgrounds outside of the traditional path of engineering education such as people with degrees in music or languages who adopted coding as a hobby that then became a career can bring different skill sets and approaches to projects, Morrison says.
"The best coder I ever worked with didn't graduate from high school," Morrison notes. "We also need to be very open to people from all sorts of different backgrounds and as an industry, I don't think we're really good at that. No technology is so complex these days that somebody who's good can't pick it up really fast. And I think we over-emphasise past experience and under-emphasise potential capability as hiring managers."
Chasing the dragon
Part of the reason behind the enduring popularity of the open source movement which is made up largely of people working on projects for free in their spare time is that for people like Morrison, coding becomes a fierce passion that can be almost addictive.
"You know, that's the thing I miss the most actually," he tells IT Pro, "because I don't code nearly as much as I used to, obviously, and it's one of those things I swore I would never let happen to me, but it kind of does, over time."
"I miss that singularity of focus that comes with writing code; there's nothing else like it. It's like a drug. And in fact, it would tear my body apart, because it's so all-encompassing. I'd look up and 12 hours had gone by, my back is broken, my carpal tunnel syndrome is flaring and I've no idea what day it is ... There's nothing else that I've come across that's that all-encompassing."
For Morrison, all of these elements the ever-growing community of diverse, passionate developers, new, accessible tools and an increasing pace of innovation spurred by a focus on simplicity have coalesced to form the most exciting period not just in the history of tech, but in the history of the world.
"This is a golden age of computing right now, this is exciting. It's not an exaggeration to say we're in a new renaissance. People in the future are going to look back on this and say 'that was a turning point. That was like living in Florence during the Italian Renaissance', and you want to be a part of that."