Experience is the main thing you need to be an software architect. You must have the battle scars of being in the office at 3am trying to fix a solution that has been broken all day. You need to know both good and bad solutions. And you have to take ownership of a project that is failing due to your architecture.
To answer this I need to define what is "experience" first. Oxford dictionary defines it as - the knowledge or skill acquired by a period of practical experience of something, especially that gained in a particular profession.
Experience is not measured in time. Some people tend to say phrases like, "I have more than 10 years of experience in the industry" (guilty myself). In reality, it doesn't matter how much time is spent, what matters is how this time spent. People with 2 years of experience can be more knowledgable than people with 10 if they spent it doing active research, right?
Like in cooking temperature and time matters, the higher the temperature the smaller time you need to cook the thing. The more productive you spend time the less time you need to gain experience.
So my question is how to gain experience most effectively? How to spend as less as possible time and gain as much as possible experience.
Build stuff is how to gain experience. Read articles and observe the opinion of others. You will become a architect when others recognize you as one.
Sounds like a lottery - buy a ticket every day and eventually you will win.
I'm not blaming, I did it myself in the past (and maybe doing it right now), but this is not the most effective way from my POV. If I have no idea how to achieve something I would ask for advice, search mentor, try to do something else to "reset" my brain and maybe then I can come up with a plan.
Honestly, I think achieving architect status means that you've earned the right amongst your peers. Or you've earned the title by proving yourself within a job interview.
I don't think its winning the lottery. And to be honest, I don't think having the title "architect" really means anything either. I think as a developer,
Let me ask you this, why is it important for you to be an architect?
I guess we get confused somewhere in the middle. My question never was about a title. I asked how to gain knowledge (or experience) in most effective way and what kind of knowledge people consider to be most valuable (in sense of giving most insight).
Build stuff my friend. That’s it. Gain the knowledge by building stuff and leading teams. See what works and what doesn’t.
Seems like you want a simple answer like, if you read book X or blog post Y, it will tell you how to be a software architect. It takes real experience in the field of software development. You cannot skip all the hard work it takes to earn the badge.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.