Hi @Mosh , just wondering if you could create a course and teach us regarding software architecture. that would be so helpful with our engineering path. Thanks
I would be really interested in this!
Same here.
This is not as simple as it seems.
We tend to go with just what we know, but just on the type of āAPIā (I mean REST, gRPC, webhooks, GraphQL, ā¦) you use, there are multiple choices and criterias.
For databases too.
At work I am on a project that goes way beyond my understanding. I will likely need to learn graph storage systems such as Neo4j to cover the need.
This is basically IMHO the difference between junior devs like myself and senior devs skillwise.
Is this really something that can be taught? I thought a good architect is just someone so experienced they know which tech works well together. Like how can you know which backend will be most performant for xyz tasks if you havnāt worked on a few different backends and know how to stress test them?
How to know which SDK will cost x amount of dollars per month per user. How to weigh performance vs cost and time to develop. High level decisions arenāt always made for the most optimal reasons.
I know Mosh has the design patterns course which is the same thing I think. I believe its based on the gang of 4 design pattern book (go4). The big ones I believe are singleton pattern, factory pattern, dependency injection and MVC (chatGPT is your friend). I know Mosh always goes on about āseperation of concernsā principal and this is like the main underlying concept of design patterns / software architecture.. monolith code is bad, modular code is good (but not too modular). If you understand these concepts I believe you are like 90% there.
Reminder for me to push through data structures and algorithms so i can get to finishing that course. Thanks for that
This is very interesting topic and Iām also very much interested.
If @Mosh can create a course regarding Software System/Solution Design or Software Architecture I will really appreciate.
There are a few options which @Mosh can choose from, for example choosing a thorough, robust, secure, scaleable, and maintainable open-source project whether a web framework e.g. Laravel or an open source application to explore, design and develop it from scratch and describe the choices made, it will help the students to learn how a complete solution can be designed and what choices should be made and why.
Thanks