Fork me on GitHub
Drew Verlee20:01:17

Is it possible to study to become a better a better architect? I feel other disciplines and topics have lots of “paths” but software architect doesn’t. For example you can Learns JS by reading these books, doing these koans and then building an app. Reading a book like designing data intensive applications, gave me lots of insights into designing systems. However, i have found it hard to retain and effective recall that information because its not very interactive (so it doesn’t stick), there is no way to get feedback or ask questions (to a book). What are other peoples thoughts? How do you get better at system design (what i assume this channel is about)? Would people be excited about working together on toy example together? Just like, pick a toy problem and discuss how you would solve it. Almost like system design interview questions.


Those are very good questions. My job title is Senior Software Architect -- and has been a variant of that for about two decades now. There are books on software architect but it's hard to just "learn" without "doing" and that means you really need to be involved on a lot of projects that have all sorts of architectural trade offs to make (i.e., medium-to-large projects in the real world)... and architectural "best practices" continually evolve as the industry evolves... so this feels like one of those "10,000 hours" skills.


Agreed…There are architecture katas (did one myself on a software crafter unconference), but you cannot do them on your own. You need a trainer who does them with you and gives you feedback afterwards.


Regarding Job Titles: I became Dev -> Architect -> Sen. Architect by switching jobs and building on the experiences i gained on each step below.


My suggestion is the same, whatever title you have, get as much exposure as possible to new ways of doing things, analyze tradeoffs, do it "wrong" first and try to understand why it is wrong. You will mature feelings that things are not going as they should go in new projects.