3 Things to Learn to Become an Architect

hatem_zidi

Hatem Zidi

Posted on November 13, 2024

3 Things to Learn to Become an Architect

After a heavy lunch break with a team, Dorian, one (among others) young and competent developer, enthusiastically asked me: "How does someone become an Architect, and what's the path to follow and what to learn to be one?"

I wasn't asked this question for the first time, and to be honest, I was never able to answer it properly.

But since my brain was getting fuzzy after that good meal, I preferred to dodge it and used the usual technique of asking Dorian how they saw that path.

Usually, people bumble about certifications and technical expertise, or about the key duties and power of the role, or what Architects have to focus on. Unsurprisingly, Dorian wasn't the exception.

On multiple occasions, I heard the same question asked to other colleagues, and I was curiously listening to their thoughts and opinions. But after long debates and trying-to-be-convincing monologues, their replies were almost related to their daily work in their fields (Application, Data, Cloud, etc.) and mostly about how to gain technical expertise or how to handle customers effectively.

So (sigh)...

Let me try to answer Dorian in this post, or maybe you or anyone who is interested in getting a glimpse of the journey to Architecture.

For the most part, we think Architects are developers who spend much time with a technology stack or reworking the same type of projects. We expected them to be experts in that field, reaching a state of craftsmanship where they have accurate and quick answers on every topic. We have this false hope that they can push away the failures by designing systems that do the same thing as any other.

This amalgam of "experienced developers" or dev++ as I jokingly call them, puts many real decent Architects in conflicting team positions. They are boxed into answering machines, just firefighting and dealing with the past and the system's momentum (as mass in motion). This could be true, and it must be part of their duties. It could also be a misdefined role in the organisation, or it may be something else.

As I said previously,

"An Architect knows something about everything. An engineer knows everything about one thing."

-- Matthew Frederick

Metaphorically, you can take all the courses about cars and driving, spend hours training about repairing or driving a car, and have years of "experience" driving or fixing. However, it still wouldn't make you a better car driver or a reputable mechanic.

Sure, there are courses and materials out there, but your role as an Architect is shaped more by your mindset than your curriculum. Architecture is about how you approach problems, structure solutions, and making deferring decisions. It's a way of thinking and how that thinking is applied.

With the right thinking, experience becomes very valuable in pinpointing repeatable problems, and courses can introduce useful "tools" or techniques.

These same repeatable problems become patterns: familiar, categorised and solvable with specific solutions.

In the end, Architecture is all about recognising patterns, but the magic happens when you not only spot the patterns but also understand the flows—the invisible currents behind them. The game is all about organising these flows into something meaningful and fluid.

Unfortunately, some people see patterns, and some just ... don't. But for those who do, the real art lies in shaping these patterns and flows into systems that create tangible value, whatever form that takes.

  • Software Architect organises the flow of data through a software system.
  • Cloud Architect organises the flow of data through multiple, distributed software systems.
  • [...]
  • City planning Architect organises the flow of people through a city.

-- Software Minimalist1

I've spent 25 years trying to "become an Architect" rather than "being one." I still have new things to learn and apply. I'm personally convinced that we can't be Architects from day one; it's a long journey to master many skills and mental tools.

Sadly, I saw many inexperienced Architects, even certified ones, creating complex Architecture, leading to rigidity and more performance and operational issues just because they thought they had reached the level of thinking like Architects.

I hear you already saying at this point, but what does "Thinking like an Architect" mean?

Well, apart from the classical ability to take a problem and break it down into its associated parts, Architects have to think differently; they have to focus on lateral thinking rather than linear thinking.

Let me break it more...

Well, linear thinking is like a straight line; it's direct, concrete, and mathematical. Developers thrive on it, solving problems with precision and aiming for the "one" correct answer.

On the other hand, lateral thinking is more like wandering through a fog. It's imaginative, full of "what if" and "it depends," and embraces abstract, open-ended possibilities.

Nevertheless, we still see Architects who spend a lot of time in the "engine room" rather than thinking, brainstorming, and dearming wondering how to build the system.

Hohpe resumed that in the Architect Elevator2 to "Box and Arrow" and the "Hands-on" folks. The first group is more lateral and well-versed in terms of presentations, sports and car metaphors and strategies. However, the "Hands-on" fellows are not the best PowerPoint artists, but the pros of Java.util.function, cross-product REST API integration, and have opinions about Vim vs Emacs or Eclipse vs Visual Studio Code.

But don't get me wrong, Architects can jump between these two groups, even though I saw a lot of the second group going to the first, but not the way around.

Yet, you may still ask: How do you become an Architect?

Well, as a start, it's a wide spectrum of topics. Cultivating the mindset requires time, dedication, and determination. To become a decent Architect, you have to go through a lot of inspiring books, encouraging people and memorable failures. You also need to acquire a wide range of skills, such as love working with people and not being afraid to lead or be the odd one out.

Moreover, it's a balance between science and art ...

How to Become an Architect?

To become an Architect, 
- Aim to be methodic
- Aim for elegance
- Aim to be creative
Enter fullscreen mode Exit fullscreen mode

Let's explore each of these aims in more details to see how they can contribute to the journey of an Architect.

The Method

A methodical approach is essential for Architects to navigate complex systems with clarity and precision. It helps them to create structured solutions and maintain consistency and high standards throughout their projects. A lot of courses and training can introduce frameworks and tools for that, but I'd rather say a methodical Architect :

  • Assimilates vast, seemingly irrelevant information
  • Cuts through noise, focuses on essentials
  • Translates thoughts into structured projects
  • Maintains a 360° system view
  • Speculates on non-obvious use cases
  • Sees macro and micro scales
  • Understands causality
  • Likes to solve problems
  • Federates puzzles
  • Has a quizzical mind

The Elegance

Striving for elegance empowers Architects to craft solutions that are not only effective and functional but also streamlined, maintainable, and, most of all, user-friendly. We are more attracted to easy-to-understand systems than chaotic ones. Any elegant Architect ...

  • Has one hell of an imagination.
  • Draws paths for transitions
  • Chooses efficiency
  • Simplifies complexity
  • Creates coherent flows
  • Embraces "less is more"
  • Ensures coherence across layers
  • Communicates eloquently
  • Influences change

The Creativity

Creativity is a vital ingredient for Architects. It enables them to push boundaries, think outside the box, and innovate solutions that address unique challenges in dynamic environments. A creative architect ...

  • Likes to try new things
  • Likes to put experiments together to find answers
  • Likes to research to find answers
  • Sees the world through other's eyes
  • Sees the world with awe and wonder, being curious and wanting to push boundaries
  • Never stops acquiring new [hard and soft] skills

Final Thoughts

To conclude, becoming an Architect in the IT realm is far more than mastering technical skills; it's a multifaceted journey that demands methodical thinking, an eye for elegance, and a wellspring of creativity.

Remember, it's not about certifications alone but about cultivating a mindset that thrives on curiosity and problem-solving.
So, whether you're just aspiring to become an Architect or looking to deepen your expertise, focus on these key areas. The road may be long, but with dedication and the right mindset, you can transform from a competent developer into a visionary Architect who creates impactful solutions. Your journey is just beginning!


  1. https://buymeacoffee.com/softwareminimalist/the-next-software-revolution 

  2. https://architectelevator.com/blog/ 

💖 💪 🙅 🚩
hatem_zidi
Hatem Zidi

Posted on November 13, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

3 Things to Learn to Become an Architect
architecture 3 Things to Learn to Become an Architect

November 13, 2024