Industry executives and experts share their predictions for 2020. Read them in this 12th annual VMblog.com series exclusive.
By Rod Cope, CTO, Perforce Software
The Future of Software Development - A Look Ahead to 2025
There are lots of great commentaries
covering software predictions for 2020. This post looks at 2020 and beyond to
focus a longer lens looking at what is going to happen in software's evolution
between now and 2025, and the impact that will have on software development.
1. Scale takes on a whole new meaning: Analysts
are saying that we are going to see 10 times more change than we have just gone
through. The number of Internet users
worldwide will double, cloud and ‘everything as a service' will become even
more ubiquitous.
2.
We are truly in an
app-driven world: It took 40 years to create the
first 500 million apps, but it will only take four years to create the next 500
million. However, those apps are going
to be a lot smaller, faster, more agile and involving more moving parts, as
well as being event-based. Apps will
depend on hundreds, even thousands, of APIs.
3.
Hardware disappears into the
background: Hardware is going to become the
wrapping around software. Take for example autonomous vehicles, which are
essentially computers inside a chassis.
There are already over 25 companies trying to create self-flying
vehicles now; imagine the software that involves.
4.
Quantum computing is a
game-changer: Rightly being called revolutionary by
Gartner, quantum computing is going to enable so much innovation that is
possible today, and help overcome some of the complexity and volume challenges
that exist today. Volkswagen is already
working on a city-wide traffic management system based on quantum computing to
orchestrate every car, pedestrian, light, and other elements. There is already talk about quantum medicine,
with DNA-specific drugs. Who knows what
other possibilities quantum computing will bring?
5.
Personalised and predictive: Software is going to become less reactive and more predictive,
largely driven by AI. Perhaps the best
way to explain this is through an example.
A keen hiker asks his smartphone for suggestions for new walking boots. The smartphone suggests a pair, based on the
context of knowing what the hiker spends on shoes, what style, what his friends
on social media like, what he has historically looked at or liked. The hiker says ‘OK, show me those in brown,'
so the smartphone renders an image, the hiker says ‘Yeah, I want those.' The
smartphone goes ahead and orders a pair, together with some socks, and put it
on the hiker's Apple account so that he gets some iStuff points. Everyday tasks like this example - whether at
work or outside - will just happen.
What This Means for Software Developers
Software may be eating the world but, to
paraphrase a quote from Nvidia's CEO a couple of years ago, AI is going to eat
software. The implications for the
future software industry workforce are massive. While AI itself might lead to
job losses, there will be a huge demand for anyone with AI. Grab anyone with AI specialisms now, even if
there is not yet a clear role for them: there will be very soon.
Existing developers will need to retrain
and there will be a lot for them to take on board. They will need to have greater breadth of
knowledge but, to stand out from the crowd, it is a good idea to still
specialize in one area: a jack-of-all-trades and master-of-one scenario. New tooling, based on AI, open source, cloud,
and containers will help make job development easier. For instance, junior developers can now carry
out tasks previously restricted to senior developers, helping a little to
relieve some of the pressure of the developer shortfall.
Humanity 2.0
Plus, humans have a lot to offer: people
are very good at taking in data - about 10Mbps mainly through our eyes and ears
- and will soon use tools that let us interact with the world just through the
power of thinking. Developers and others
who use these new capabilities to improve user experience will be in high
demand for many years to come.
DevOps at Scale
The past couple of years have brought a
realization that the volume and complexity of software means finding better
ways to deal with scale, while maintaining quality and security, and without
sacrificing speed. With the proliferation
of APIs, finding better ways to manage and secure them across the API lifecycle
becomes essential. Poor API management
is already one of the reasons that many organizations are finding microservices
hard to deploy effectively, but the tools are there to solve that challenge.
Automated and continuous testing is already
common, and we now have smart testing using ML/AI technologies, which further reduce
brittle tests that break every time the UI changes. Alongside testing sit automated tools that
continually inspect code for quality, compliance, and security. Without these foundations, the risks around
software that moves so fast, has so many elements, and is connected to so many
third-party sources, become alarmingly vast.
This is a decade that brings huge
technology opportunities, together with some big challenges, which is why it is
important to start planning ahead and take control now. To borrow a quote from
the Terminator films: "The future has not been written. There is no fate but what
we make for ourselves."
##
About the Author
Rod Cope, CTO, Perforce Software
With 25+ years industry experience, Rod
Cope is CTO within Perforce Software, and provides technical vision and
architectural leadership for the company's globally distributed teams. Rod was
the Founder and CTO of OpenLogic and joined Rogue Wave as CTO following the
acquisition. For the past two decades,
Rod has spoken on a wide variety of topics at events around the world. Apart
from API Management and security, other topics he has commented on recently
include micro-services and multigrain services, Agile methodologies, open
banking standards, digital transformation, and software development trends in
general, especially at scale.