As a systems architect in the late 90’s to mid 2000’s, my mind was tuned to work in a particular way. Things were simple back then. Screens were limited to 80×24 character matrices. Commands were function keys.. F1 to F12 and then F13 to F24 using shift. That is, there can be no more than 24 actions on a screen.
I left this role back then and had moved on to people and business management. I came back to this profession after a decade and I am sharing my perspective on how things have changed since. To encapsulate the most prominent change: Decentralization. And that the job of systems architects is much more critical now than it was back then. Here are various aspects that have been decentralized:
User expectation: Back then, the monochrome screen with green phosphorus was all a user had for reference. Not anymore. With UI innovations across the board, and retailization of technology, any solution is benchmarked with the best in class for that application. Transport app? Uber interface is used as a reference. Communication app? WhatsApp is used a reference. Such user interface expectations have become very important and may even cause project delays and failures.
Interface channels: It becomes essential to consider all channels of interface with users. Integration with WhatsApp, Alexa et al are standard expectations when it comes to user interface. No more limiting a user to a terminal with a keyboard, and maybe a mouse. In the same spirit, any decent solution must work on Android, iOS or – God forbid – Windows devices by standard; let alone the vagaries of browser interfaces.
Power dilution: The time of the middle-man agent is truly over. This is a bit tricky to describe. In the old days, processes used a command and control mentality. There was no devolution of power across an organization. Now, the expectation is on democratization of decisions. For example, back in the day a user requests for assets or resources. A controller will then provision said assets or resources based on availability and priority. Now the expectation is to provision the assets or resources, and allow users to opt-in. That is, the user now expects to be given options and allowed to decide.
Ecosystem knowledge: There are UI developers, service developers and database developers. Vaunted “full stack” developers are rare. This increases the cognitive load on the architect, as they now have to understand the nuances of all these technologies, and the associated rapid changes to devices for designing the most acceptable solution balancing what your organization can do and what your customer wants.
Global database: (I added this in May 2022). Data sources used to be a central repository of data. Of course, over time there were distributed databases but for practical use they were still a single data source. Nowdays, services are data sources. Freight rate API, Company risk API and many many more. All these data sources are not “on premise” and are not maintained by the user. “Pay as you go” database!
In summary, this is quite an interesting period in the software architect’s profession. Continuous learning is not just a good-to-have but a must-have, and a strong dose of curiosity is highly recommended to explore possibilities in the technology domain.