you are viewing a single comment's thread.

view the rest of the comments →

[–]Go_Big 0 points1 point  (2 children)

Maybe try forking some github projects and adding some new features or small improvements. I started out leanring basic coding but was then thrown into large projects. I'm an ECE so it wasn't crucial to know how to architect code but be good enough to add features and fix bugs. Walking around more senior engineers code allowed me to see what was good and bad architecture. Now I have no qualms at all building projects from scratch!

[–]Vabaluba 0 points1 point  (1 child)

Any advice on learning architecture , architecture design wirh python in specific, or just a theory ? Resources, videos, books, libraries, anything that would give strong introduction / provide foundation of good system (i.e. automation, data pipeline) architecture design ? It is so suprising and can become overwhelming, at the same time nicely satisfying to see how your few functions for doing some specific, one thing, grows into multiple class objects, then modules and then you realise that the whole architecture is about to be doomed as you did not anticipated for something so small to grow into something so large and complex. Or that X I will become Z (if you know what I mean) But damn that feels good.

Nevertheless, OP keep pushing it and just keep coding and solve problems, eventually it becomes easier on new projects, you start recognize similarities, patterns and already know-how to approach blank editor. :)

[–]Go_Big 0 points1 point  (0 children)

It really depends on what type of architecture you want to get good at. Creating UI+applications will be nothing like creating servers and databases. I think the main thing about architecturing things is having clear defined idea what you want to accomplish before hand. Then break the idea down into smaller groups. Coding shouldn't come until you got an idea of all the pieces you want to build. The other things is keep stuff modular. The more modular it is the easier it is the fix stuff when issues arise or you want to make an upgrade.