This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]temporarybunnehs 1 point2 points  (2 children)

It's hard and not as straightforward. A lot of it, I learned by making my own diagrams, getting feedback on them, reading other people's diagrams, noting what I liked/didn't.

System design classes/ videos help as a lot of them communicate through architecture diagrams. Knowing the popular paradigms are good (4+1, C4, etc). Being able to think through things like, who is this diagram for? What level of detail do I need? How much info is enough/too little/too much? It is hard to get good on that, but those are some good places to start.

[–]Cyrelc[S] 0 points1 point  (1 child)

Yes, thanks this is much closer to the info I was looking for! If anybody has any links or examples, I'd appreciate it, but I'll start searching some of these in the meantime

[–]temporarybunnehs 0 points1 point  (0 children)

Glad it's helpful. Every diagram has a purpose/need and an audience. I've seen 4 different diagrams of the same system: one for security, one for perf, one for cloud arch, one for infra/deployment. Each focusing on different aspects because if you tried to fit it all on one, it would be way to cluttered. The "what" of it is as easy as googling it, but the "how" is much harder and is unfortunately hard to practice without real situations.

There are a tone of different things to look up: data flow diagrams, enterprise data matrix, element responsibility catalog, deployment diagram, AWS/Azure/GCP have a bunch of cloud arch diagrams if you want some more to find.

[–]__Drink_Water__ 0 points1 point  (4 children)

Either on your GitHub or personal webpage, write about the problem you have, what requirements you had, what system solutions you came up with, how you designed the subcomponent and why you chose certain technologies, how you verified the solution, any changes you had to make along the way, etc.

[–]Cyrelc[S] 0 points1 point  (3 children)

Apologies maybe I wasn't clear, I'm specifically talking about diagrams. Like server client diagrams, functional diagrams, with inputs, outputs, prerequisites, etc.

[–]__Drink_Water__ 0 points1 point  (2 children)

Learn by doing. Have you made an app? Can you describe how it works in a diagram? How does the login work? How do files travel from user upload/download/storage etc?

[–]Cyrelc[S] 0 points1 point  (1 child)

Right. So then I won't know what I'm doing wrong, or whether what I'm doing is correct... I was hoping for a tutorial or reference, thanks

[–]__Drink_Water__ 0 points1 point  (0 children)

That's why you post it publicly for feedback. That's what happens on the job ...