DEV Community

Discussion on: What are good ways to learn software architecture and systems design?

Collapse
 
antonfrattaroli profile image
Anton Frattaroli • Edited

Being a good architect is about awareness. And for that we turn to Donald Rumsfeld: ‘There are known knowns. There are things we know that we know. There are known unknowns. That is to say, there are things that we now know we don't know. But there are also unknown unknowns. There are things we do not know we don't know.’

And so you'd focus on eliminating the unknowns by identifying the paths to discoverability.

There's the hands on approach, actively seek out the problems and solutions of different fields - such as taking on a game project as a web developer.

Working with experts in adjacent fields can help discovering problems you didn't know existed - I wouldn't have known about firewall microsegmentation if it weren't for some proactive network security engineers.

Keeping up on current events can be illuminating - I just saw a tweet about blockchain tokens: a solution for a problem I was unaware of.

The architects I know like conventions. I think it's important to research counterpoints to what's presented afterwards.

Vendor presentations can be enlightening. They're catering to many more companies than just your own.

I'm sure there are more ways to increase awareness. Known unknowns I guess.