Looking back over the past decade, history has certainly demonstrated that trying to predict the pace and nature of technology development is a near impossible task, writes Quentin Barnard, lead architect at redPanda Software.
While analysts, business leaders and policymakers have certainly made wise predictions, businesses and individuals have to remain agile, responsive and open-minded to a wide possibility of outcomes and developments. It is also helpful, however, to reflect on key trends that have emerged in recent times — and to use this information to prepare for the years ahead.
For software developers and development houses, several prominent themes emerged in 2017.
Embracing open source
Over the past year, major technology companies — such as proprietary (closed source) technology companies — have embraced the open source aspect of software development, which has had important ramifications for developers.
For instance, developers can now write code and build applications that run seamlessly across different platforms and environments — as opposed to writing code for one platform or a particular environment.
Arguably, the move to open source spurs innovation and creates more avenues for a wider array of features and capabilities within applications. Ultimately, the end user benefits.
Shift to application containerisation
Typically, developers have delivered applications to clients as a single, monolithic entity that require complex deployment and production configurations.
However, with the steady move to ‘microservices’, developers can break down large complex applications into discrete elements. This facilitates seamless maintenance and deployment as applications become more agile, efficient and cost effective.
In short, this is called containerisation, which means that developers can focus on programming using the same or similar environments in production and across multiple teams, while deployment happens faster and more smoothly.
This approach enables developers to significantly scale applications with minimal fuss, and also allows them to switch to different versions with ease. The deployment time frame is significantly reduced, and updates can be rolled out within minutes.
Maturity of IoT
There has been a great deal of hype around the Internet of Things (IoT) — the emergence of a network of connected devices that continually ‘talk’ to one another. These networks are starting to materialise in various forms across different industries, which has major implications for developers and their clients.
With a host of smart devices continually sending data into the Cloud, together with the improvement of data analytics, businesses are able to make key decisions in real time. For example, a head office is directly connected to a retail outlet, which receives information in real-time around customer behaviour.
This information can then be translated into insights that directly impact the type and nature of applications and features that are developed within the enterprise environment, with some of these decisions being made by computing ‘edge’ devices at the point of data collection.
Peering into the (Internet connected) crystal ball
While data analytics might not help us foresee tech development in 2018, there are a few key trends already emerging.
In South Africa, there will arguably be an accelerated adoption of cloud computing, with international cloud companies investing into the country, bringing their cloud platforms closer to the end users.
With increased investment in this regard, the local nature of hosting infrastructure will change, and companies will not have to deal with the latency that comes from using internationally-hosted service providers. Local companies can now link their existing infrastructure investments into the cloud to provide their own private cloud facilities. This will drive efficiencies and certainly enhance the end-user experience.
Innovation, innovation, innovation
For developers, succeeding into the New Year and beyond will require a willingness to expand their expertise beyond specific coding languages and platforms. As technology becomes ever more complex and the pace of change accelerates, developers will need to have cross platform expertise and a willingness to experiment with different languages, platforms and concepts.
As companies are forced to become more creative, innovative and responsive in a world characterised by disruption, so too will developers and development houses.