Ask HN: How to get good at software system architecture
1–10 of 18 posts
Re: Ask HN: How to get good at software system architecture
#2[1]: https://github.com/mehdihadeli/awesome-software-architecture
Re: Ask HN: How to get good at software system architecture
#3Re: Ask HN: How to get good at software system architecture
#4i would say experimentation. trying implementing different arichtectures with relatively simple implementations. one thing that helped me was getting books and articles about different design principles architectural ideas etc. and then creating them myself. Also, what is 'good' here? i am assuming, knowing when to use what kind of architecture. some are easier to create, some perform better, some are easier to colla…
Re: Ask HN: How to get good at software system architecture
#5Also, often choosing the 'right' technology is less important than designing an architecture that is both simple enough and capable enough.
When doing this in my career, I am always considering can it be more simply (i.e. less complexity is easier to grok and is usually less prone to fail) and can it be done more clearly (i.e. such that the intended use of the architecture is obvious).
Re: Ask HN: How to get good at software system architecture
#6You could take a look at Awesome Software Architecture [1] [1]: https://github.com/mehdihadeli/awesome-software-architecture
Re: Ask HN: How to get good at software system architecture
#7Re: Ask HN: How to get good at software system architecture
#8Try to think of a project that either needs infra like that to get started, or another one you can deploy in a homelab or a few VPSes or something.
Maybe VMs are a good idea, to give yourself a good place to test things without committing bare metal to anything.
What software system architecture interests you? The scale you're interested in may matter, too. For me, system architecture means which distro (and which set of packages), configs, and other settings that create a cohesive server/client or groupware system. I think a lot of those challenges lay mostly in understanding how computers are being used within a given organization, and designing things in ways that make adapting easier and workflows smoother.
What that looks like, I would imagine is different for every organization.
Re: Ask HN: How to get good at software system architecture
#9I highly recommend the book System Design Interview by Alex Xu.
Re: Ask HN: How to get good at software system architecture
#10i would say experimentation. trying implementing different arichtectures with relatively simple implementations. one thing that helped me was getting books and articles about different design principles architectural ideas etc. and then creating them myself. Also, what is 'good' here? i am assuming, knowing when to use what kind of architecture. some are easier to create, some perform better, some are easier to colla…
I have a specific thing in mind, but I think I lack sufficient knowledge of what's out there to make the best trade off for my specific use case. To be honest, I lack basic knowledge of different system components. To give an example I know redis is a key value store. But i wouldn't know the drawbacks of using it and what usecases its best use is for. I would like to broaden my knowledge in order to answer such quest…
Do the simplest thing that works, if that is hosting something on a VM with SQLite for persistent storage than that is what you implement.
If what you had in memory was a map or a queue and you don't care about persistence then redis is likely going to serve you well when you need to scale to more than one instance, if you never need more than one instance then keep it in memory as a map or a queue.
Don't add things "because that is what :bigtech: does" :bigtech: is not you and if it was, you would have the team to do it or would be building the team and not the software.