Hi, I was just curious to know about how to become a good technical architect Or what are the things makes a Developer good architect. Please share your insights and articles.
Wisdom, experience, knowledge, foresight and great people skills (especially listening) all seasoned with a healthy dose of humility.
A key attribute is the ability to listen and understand your audience. Apart from having technical depth you will often be asked to explain your architecture and being able to articulate the solution; both to a deeply technical audience, or a business audience is essential to building trust and respect.
As someone has already answered - a does of humility goes a long way. There's nothing worse than having a know-it-all architect on your team or dealing with a customer.
One particularly good piece of advice I've found is in the writings by Scott Berkun How to Detect b....
Reading a book on C# syntax will not make you a good programmer, nor will reading a book on software architecture make you good at architecture. On the other hand, there were plenty of clever Roman engineers but any engineering student today can build things better than those Roman engineers. The difference is the knowledge that they can apply.
So where do you get knowledge about software architecture? One place is your experience building systems. Another is conversations with other developers or reading their code. Yet another place is books. I am the author of a book on software architecture (Just Enough Software Architecture) but let me instead point you to some classics:
- Software Architecture in Practice. This book from the Software Engineering Institute (SEI) describes how architects should think about problems. It describes the importance of quality attributes (performance, security, modifiability, etc.) and how to make tradeoffs between them, since you cannot maximize all of them.
- Documenting Software Architectures. The title of this book is a bit scary, because many people are trying to avoid writing shelfware documents. But the wonderful thing about the book is that it describes the standard architectural styles / patterns, notations for describing structure and behavior, and a conceptual model of understanding architectures. All these are valuable even if you only ever sketch on a whiteboard.
- Software Systems Architecture. Goes into detail about how to think about a system from multiple perspectives (views). What I like particularly is that it gives checklists for ensuring that a particular concern (say security) has been handled.
- Essential Software Architecture. Small, straightforward book on IT architecture. Covers the different kinds of things you’ll see (databases, event busses, app servers, etc.)
That’s just a short list and just because I didn’t list something doesn’t mean it’s a bad book. If you are looking something free to read immediately, I have three chapters of my book available for download on my website.
George Fairbanks