What's your best software architecture advice?
>>108818475Plan first. Build second.>t. Contractor
>>108818475Design everything like it's going to be an enterprise project with thousands of clients just in case.Use strings for all vars because anything can be a string and you can't fit words into numbers.
>>108818475build one or two quickly and throw them awayand don't use k8s
>>108818571I don't understand why would anyone use k8s ever, it's complete hotseshit. You're better off with a simple bash script for deployment and once you have something more complex, just write your own deployment program that fits your goals in any language you prefer and just avoid doing yaml file deployments.
>>108818475>What's your best software architecture advice?Just yolo it. Write a quick and dirty version of your software to prove the concept, and then just rewrite it a second time. It's probably not the most efficient way (so you wouldn't do this for work), but every single successful software project I've done has been the result of a FULL rewrite of a quick-and-dirty prototype.I find that if I try to plan and be careful from the beginning, I don't know all the details, and the plan ends up being incomplete and I have to deviate from the plan and then everything goes to shit and I have to rewrite everything anyway. I never know what kinds of unforeseen problems I'm going to have until I just yolo it.
>>108818475First make it work, then make it right, finally, make it fast
>>108818597This is called rapid prototyping, and is sometimes used professionally. Having an early prototype to mess around with isn't useful just for the programmer, but you can also show it to cow-orkers, or even potential customers, and gather their input before you start writing the real thing.You can make the prototype in something like Python or JS to get it done as fast as possible, and then use C++ or whatever for the real program.
>>108818475Reject software "architecture". Embrace software evolution.
you probably don't need dockergetting it mostly right is better than taking forever to perfect it from a job security povif you end up in a situation where you can't implement A because B is broken because C is broken because D is broken then put in a shitty hotfix for B so you can implement A. This happens all the time in real codebases but nobody wants to hear you couldn't do your job because the code is a house of cards. They just want results.things that are good for your job security and career aren't necessarily things that are good for the product. you can get fired anytime so have a ton of savingsthis is more career advice for software people than software architecture now that I read it back
>>108818475It's not """impossible""", you just aren't being smart enough.
>>108818539Try firstGo do something else if it doesn't work second>t. paid by the hour
>>108818543this is what I am doing for every project I am starting, doesn't matter how big it is, I open Penpot and design the shit and when everything looks good and makes sense I am starting with the code.
>>108821936This. Use genetic algorithms in Lisp for every problem.
Know what your inputs are and know what your outputs are.A bad algorithm can always be replaced with a good one. A bad input requires rethinking the entire solution.
>>108818475Collateral damage of total failure determines planning effort.