The future of software development is already here. It’s already happening in research labs. And it’s only a matter of time before it’s everywhere.
This means that the future of software development is actually happening now. And the future is present in the current trends being adopted by software development teams.
Current Trends in Software Development
There are many trends being embraced today that will drive the future of software development. But where the trends are at — in terms of adoption — varies between innovators who are ahead of the curve, early adopters who are next up, and early majority who are embracing the trends.
Innovators are adopting:
Deep learning: a subset of machine learning based on artificial neural networks.
Blockchain: a growing list of records that are linked with cryptography.
AI: machine intelligence used in software development (e.g., AI writing code or AI in software testing).
Early adopters are embracing:
Serverless / lambda: a way to build serverless applications (e.g., AWS Lambda).
Reactive programming: a model structured around asynchronous data streams (e.g., Java Completable Future).
Orchestration: a way to automatically configure, coordinate, and manage systems (e.g., cloud orchestration).
GraphQL: an open-source data query and manipulation language for APIs. GraphQL is one of the top open source trends today.
An early majority has adopted:
Microservices: a technique to break an application up into a collection of loosely-coupled services.
Immutable infrastructure: an approach to manage service or software deployments (e.g., Infrastructure as Code).
API design: the process of developing application programming interfaces (APIs) that expose backend data and application functionality for use in new applications.
Lean: the application of lean manufacturing processes to software development (e.g., Kanban).
What do these trends enable? They help software development teams achieve the future, today. For instance, NVIDIA has cards powerful enough for autonomous vehicles, with 320 trillion operations a second on a card.
So, what will happen next in software development?
Predictions For the Future of Software Development
In the following video, I share my predictions for the future of software development. (Or check out a recap of 6 predictions below.)
- Innovation Will Multiply
- Applications Will Get Smaller
- Hardware Will Disappear
- Quantum Computing Will Be a Game-Changer
- Software Will Be Proactive
- User Experience Will (Still) Be #1
Get Ready for the Future of Software Development Today
It’s time to get ready for the future of software development today.
You will have to be 10x faster than you are today. So:
Invest in your future and learn the new stuff.
Keep up and don’t reinvent wheels.
Use everything — open source, commercial, services, and enterprise cloud.
Remember: you are going to have more software and bigger software. This means more lines of code, more files, more developers, more geographies, more APIs, more mobile apps, and more open source.
Use the tools to help you get there, to help deal with that DevOps at scale — and do faster, better.