10 software development predictions for 2018


Developers should be burning with excitement about the opportunities ahead in 2018, with products and tools around technologies such as blockchain, chatbots, serverless functions, and machine learning becoming mature enough for real-world projects. At the same time, many developers will be worried about holding up against the pressure to deliver code and functionality faster without compromising security or performance. But there is good news on that front as well.

For developers, 2018 will be defined by this tension between seizing transformative new opportunities while coping with the pressure to do more, with higher quality. Below are 10 predictions related to how those forces will play out in the year ahead.

1. B2B transactions leveraging blockchain go into production

Businesses have begun to understand the security, reliability, and efficiency to be gained from blockchain-enabled transactions. Developers will implement many blockchain use cases across financial services and manufacturing supply chains in the coming year. Blockchain is a technology that enables efficient, secure, immutable, trusted transactions among organizations that might not fully trust each other, eliminating intermediaries.

Consider a company ordering products from an offshore manufacturer. These products get shipped via a shipping company, come through customs, through another shipping company, and finally to the buyer. Today, the verification and reconciliation of each step mostly happens through emails and spreadsheets, with a lot of people and processes involved. Blockchain eliminates manual processes and reconciliation by irrevocably recording updates to the blockchain ledger when a minimum number of parties say, “Yes, this part of the transaction happened.”

, to flourish by helping developers to easily manage the programming, composition, debugging, and lifecycle management of serverless functions, and to deploy and test them on a laptop or on-prem server or any cloud. The key is going to be picking a serverless platform that provides maximum portability.

8. The only question about containers becomes “Why not?”

Containers will become the default for dev/test work and commonplace for production applications. Expect continued improvements in security, manageability, orchestration, monitoring, and debugging, driven by open source innovations and industry standards. Containers provide the building blocks for many of the trends driving modern development including microservices architectures, cloud-native apps, serverless functions, and devops.

Containers won’t make sense everywhere —for example, when you need a more prescriptive cloud platform, such as an integration PaaS or a mobile PaaS—but these higher level cloud services will themselves run on containers, and will be the exceptions that prove the rule.

In addition, software licensing models for high-value, commercial, on-premises software will have to embrace the spread of container adoption. Pricing models for software will have to support “turn on” and “turn off” licensing as containers are instantiated, scaled up, and scaled down.

9. Software and systems become self-healing, self-tuning, and self-managing

Developers and production operations teams are drowning in data from logs, web/app/database performance monitoring and user experience monitoring, and configuration. In addition, these various types of data are siloed, so you must bring many people into a room to debug issues. Then there is the issue of knowledge transfer: Developers spend a lot of time telling production ops the ins and outs of their applications, what thresholds to set, what server topologies to monitor for a transaction, and so on.