How To Become A Good Software Architect — 1


It is not easy to become a software architect, being a software architect is like the holy grail for most of the software developers.

Maybe you only want to be a good software developer and just want to do development work, or you just want to be a system administrator and deal with system configurations and problem troubleshooting, that’s totally fine, but from my personal opinion, you should really push yourself to become a software architect or at least, have a software architect mind/background, it will help you become a good developer or a solid system administrator.


I guarantee you will enjoy the process of becoming an architect, but I also want to warn you: The process takes time, takes a lot of self-study and self-learning, sacrifice of your own personal time, continue to be self-disciplined, and you might not even see/feel the immediate result or benefit until months or even years later, but at the end, this delayed gratification will make you appreciate all your effort and time, and that’s feels pretty good. This is a huge commitment, but the rewarding is also very attractive.

I’d like to share my own story of how to become a good software architect in a series of blogs.

What does a software architect do?

Let’s take a look at some of the things that an software architect do:

  • Understand the business line or logic well, since business drives requirements, requirement drives architect/design/technology stack/implementation and programming language and tech stacks are just tools, they serve business to make profit
  • Translate business logic into system/technology requirements
  • 4 + 1 views
    - Logical view
    - Process view
    - Physical view
    - Development view
    - Scenarios
  • Design system components architecture
  • Define design patterns
  • Create system/architecture documentations and UML diagrams
    - Sequence UML diagram
    - Use case diagram
    - Component diagram
  • Mastering one programming language
    - Data structure
    - Algorithm
  • Being the communication bridge between departments/teams
  • Identify possible system bottlenecks
  • Application/system testing and performance tuning
  • etc…

Mind Map

I collected some key requirements from software architect job description, these job descriptions are from top tech companies such as Bytedance, Alibaba, Google, Amazon, ..etc. and made the following mind map about what’s required to be an software architecture and what are the job responsibilities. I hope you enjoy it.




Senior Cloud Engineer

Love podcasts or audiobooks? Learn on the go with our new app.


CodeWrite ❤ Ghost blogs

Post title in CodeWrite's editor toolbar

What is spatie/laravel-permission


Setting up GPU & Installing CUDA on Google Cloud

Engineer Data in Google Cloud: Challenge Lab

Should we refactor files we’re working on?

How to Create a Writing Portfolio When You Have Zero Experience

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Senior Cloud Engineer

More from Medium

HTTPS — Can You Explain How It Works?

Kubernetes Certified Application Developer (CKAD)

Linux Instance not booting after I changed its type to a Nitro-based instance type.

Why IAM is The Most Valuable AWS Service?