Cloud Current: Strongest Dev Trends of 2019
It's a new year, and the prognosticators are in full swing. Will software development even be recognizable in 5 years? What kind of jobs will developers be doing?
How can we stay on top of this wild ride?
I've looked at a huge pile of forecasts and predictions and here is the best one I've found.
Now, there is one big current identified by the author Luis Columbus: software and the digital economy is going to get bigger: WAY bigger.
Prediction 1 states
almost $7 trillion in IT-related spending in 2019–2022
Prediction 6 has
new tools/platforms, more developers, agile methods, and lots of code reuse — 500 million new logical apps will be created, equal to the number built over the past 40 years.
These are the "results" predictions. The overall sense is that our industry is continuing to grow in a massive way, and that improving technique is allowing for exponential increase in developer output.
Along with this, is the "causation" prediction: that is, what is happening that allows these things.
As software developers, there are three predictions in the article that form a picture: AddDev revolution (prediction 4), new developer class (prediction 5) and AI is the new UI (prediction 8).
The sense here is that as we continue to improve tooling and the ability to address cloud development tasks at higher levels of abstraction, developers will move away from hands-on coding and devops, and into a role where they are tending to autonomously interrelated networks of capability.
a new class of professional developers producing code without custom scripting will expand the developer population by 30%
I see this personally in this light: every level of real infrastructure and tooling advancement actually leaves a sub-stratum of infrastructure that requires the skills to maintain it.
As an example, we haven't really left behind the need for developers who understand operating systems. We have created -- with PaaS or serverless, say -- the ability to build apps without directly interacting with the OS, however, an army of developers is still required to manage the OS layer.
And of course, much development still requires OS interaction by its nature.
Software innovation tends to build on top of layers.
In terms of the actual tooling and approach the developers will use, the key (as I've discussed here) is in providing higher-level tools, without obscuring access to the underlying language and framework.
For the foreseeable (say, 5-10 years), much custom business logic will still be written and maintained.
This will go along with low/no-code tooling. Empowerment and enablement will be the keywords.
Commonalities will be abstracted across diverse technologies, and those technologies will be able to be addressed in more consistent and idea-oriented (as opposed to implementation-oriented) ways.
This is similar to the data-center, IaaS, PaaS, serverless landscape (as I've covered here), except this will be a more thorough-going alteration to how applications are developed, ie, the development process itself, and the variety of tools that go into it.
In short, the tools that currently exist will gain a layer of empowering technology that allows developers to better use them, understand their in-flight effects, reduce the mental and actual complexity, and allow non-coders to use them to a greater extent in formulating ideas into working systems.
Eliminate what is eliminateable, simplify what is simplifiable, and empower access to the complexity that is necessary.