Here we are again, with another Macro Trends article. We write these as companion pieces to our Technology Radar editions as new Radars arrive. These articles reflect not just the discussions from the Radar meeting itself, but also broader technology trends that we see in the technology landscape.
AI’s growing reach and impact
Of course, AI in general and GenAI in particular were a significant part of our discussions and continue to play a large role in technology conversations. Specifically, we discussed the impacts of AI and GenAI on the software delivery ecosystem. Tools in this space are impacting all phases of the software delivery process, although the coding assistants still get most of the attention and are, in general, currently the most mature. The growth in the utility of these tools is also sparking a re-evaluation of our approach to software delivery to take advantage of what AI has to offer while maintaining, or even enhancing, the engineering rigor that supports high levels of software quality. Whether it is tools such as GitHub Copilot and Cursor for individual use, or more team oriented tools such as Haiven, expect to see continued innovation in this area.
More broadly in the world of AI, we’re seeing an explosion of tools using AI or supporting the creation of AI applications (or both). The speed at which such tools are being introduced has even surpassed the pace and quantity of Javascript tools back in the day. We are also seeing an increase in on-device LLMs, or even small language models (SLMs), as well as inference moving from servers to web and edge devices. This latter trend is a boon for privacy.
Increased awareness of AI’s limitations and risks
There appears to be growing recognition that keeping a human in the loop when GenAI tools in particular are involved is important. Hallucinations or just plain mistakes are still hard to control with such tools. Indeed, some have suggested we call it “AI in the loop,” to emphasize that, at least for the time being, certain applications need a person to be in control. However, all is not doom and gloom, since the Nobel Prizes in both Chemistry and Physics this year were awarded for contributions to and by AI. Perhaps AI has arrived after all.
Of course, wherever there are patterns in technology, there are anti-patterns, and AI is certainly collecting those as well. Some prominent examples include pairing with an LLM, which doesn’t account for many of the benefits of actual pairing, and using LLMs for code reviews, which can’t account for stylistic consistency and also preclude the spread of understanding of the code base. While these tools are certainly improving, they aren’t yet ready to be in the driver’s seat or making autonomous determinations about the quality and suitability of the code.
Finally, we’re seeing increased push back against the heady promises of GenAI. Financial analysts are calling into question the possibility for positive return on investment for all the money currently going into various AI and GenAI ventures, including the foundational models powering much of this activity. All technologies go through the hype phase, and GenAI is no different. AI in general has had several AI winters in the past, but the level of disillusionment is not that significant at this point. Still, as with the anti-patterns discussed above, there is an unfortunate tendency to think the bright shiny new thing can do anything we want it to do. We are still learning what the possibilities are to reimagine many of our standard business processes. Still, AI is not likely going to fade into the background again.
The rise of Rust and WebAssembly — and the longevity of Postgres
Believe it or not, however, there is more going on in the technology world than just AI. We are seeing a significant increase in the use of and tooling for the language Rust. Many tools are being rewritten in Rust, often in the Python ecosystem. Rust’s memory safety properties are leading to further adoption. Some examples include Iggy, Ruff, uv, and Zed, to name just a few. Of course, like many other technologies we’ve looked at in the past, the phrase “blazingly fast” appeared prominently in much of the literature around some of these Rust tools.
WebAssembly (WASM) was a hot topic of discussion, as was the broader topic of running most everything in the browser. The adoption of the WebAssembly standard is nearly universal across browsers and across the platforms of those browsers. We also, however, saw blip submissions for WASM on the server. While WASM itself is not currently on the radar, there are several blips using WASM, including PGLite and Flutter for Web. Of course, AI doesn’t want to be left out and we also saw a submission for LLMs in the browser.
On the database front, we’ve seen how pervasive the Postgres database is. There are extensions for Postgres for similarity search, analytical loads, and synchronization of portions of your database, to name a few. While this isn’t a new phenomena, Postgres was particularly pervasive in this radar meeting. We are also seeing strong new open source contenders for data lakes like DuckDB, Iceberg, and Parquet. Relational databases may have been around a very long time, but we continue to see innovations here.
The continued importance of technology governance
Different approaches to tech governance were also discussed, and not just relating to AI — although AI brings with it unique governance challenges. Approaches to governance such as Build Your Own Radar (BYOR) continue to provide value to organizations. As is often the case, the Radar output for an organization, while a valuable artifact, is not nearly as valuable as the alignment process that takes place resulting in that Radar. A big issue with governance is that often the rationale behind some of the criteria aren’t well understood by delivery teams. A proper BYOR exercise helps teams to understand why things are being governed in a particular way.
Governance also requires documentation, and quality, easy to use, up to date documentation is still a challenge. While tools like Unblocked won’t address all these issues, they help by bringing in additional context to the questions from other sources such as Jira tickets and wiki pages. GenAI is proving useful in wrapping documents and answering queries against documents. As these tools mature, we might begin to make some progress, at least in the retrieval of information from documentation, if not the “keeping the docs up to date” parts.
The evolution of infrastructure as code
As mentioned in the previous edition of Macro Trends, infrastructure as code (IaC) continues to evolve. We are also seeing more evidence around infrastructure from code (IfC), embodied in tools such as System Initiative, which recently moved to general availability. We are seeing a blurring of the line between applications and infrastructure from a code and ownership perspective. Managing the complexity of infrastructure and ensuring we know what we are actually executing on is critical, particularly in microservices architectures or when taking advantage of evolutionary architecture.