Learning Curve of a Software Architect

Reeshabh Choudhary
3 min readNov 30, 2023

👷‍♂️ Software Architecture Series — Part 4.
Ralph Waldo Emerson once said: “The health of an eye seems to demand a horizon. We are never tired, so long as we can see far enough.”

🤔But, in the ocean of Software Development, when you hold the ship as an Architect, is there a limit to what we should be knowing, with every changing landscape of technology.

Zora Neale Hurston answers: “No matter how far a person can go, the horizon is still way behind you.”

😇We need to accept that we can not possess all the knowledge in the world, but we must have the wisdom to navigate and find what is necessary for our end goal. Unlike, a software developer, who must be having a significant amount of technical depth in a certain technology stack, a software architect must possess technical breadth to visualize the bigger picture.

🤓When a software developer starts his/her journey, the need of the hour is to gain expertise and experience. They look for more hands-on experience, working knowledge of as many tech stacks they can encounter. However, when we switch projects and work in different tech stacks, it is very unlikely that we are in sync with latest development in he earlier tech stack. One year is enough to make you outdates in a certain tech stack.

👀But, as the career progresses to design architecture, it is required to have a broader view of technology and understand how to use it to solve certain problems. We should be aware of different solutions for a problem statement, and based upon resources, budget, environment, and other factors, we should be choosing the best possible solution. Remember, there is no right or wrong in architectural decision. It all depends on trade-offs you can digest.

🤒Now it does have a downside that an architect will try to broaden his/her perspective in many areas yet failing to gain expertise in none of them. An architect is much likely to suffer from Frozen Caveman Anti-Pattern, which describes an architect who always reverts back to their pet irrational concern for every architecture. For an architect, risk assessment is important, and it should be realistic as well. Past experience does count but they should serve as a learning milestone and not affect the future decision making.

🔦As Mark Richards and Neal Ford state in their book: Fundamentals of Software Engineering; “Thinking like an architect requires overcoming these “frozen caveman” ideas and experiences, seeing other solutions, and asking more relevant questions.”

Hence, a software developer, aspiring to be an architect, must maintain a balance in their pursuit of knowledge between technical depth and breadth.

😎As Warren Bennis said, “Leaders keep their eye on the horizon, not just on bottom line.”

📕 Meanwhile, if you are a young developer and interesting in building thought process to develop enterprise application, do check out my book: “Objects, Data & AI”, which has been out recently. Book can be accessed at the link below:
https://objects-data-ai.github.io/

This book is available at Google Books as well and print copy can be ordered from Notion Press.
Contact me, for specific details.

--

--

Reeshabh Choudhary

Software Architect and Developer | Author : Objects, Data & AI.