| ▲ | datadrivenangel 4 hours ago | |||||||
"The reality is that code that runs and makes the CI green can still be a bad solution, and engineering has always been about implementing adequate, scalable, and extensible solutions." Adequate often means done and cheap | ||||||||
| ▲ | josephg 4 hours ago | parent | next [-] | |||||||
> Adequate often means done and cheap It really, REALLY depends what you're working on. If you're throwing together an internal tool or simple dashboard, it doesn't really matter what the code looks like. But if you're writing software that other programs will depend on, bad design choices ripple out and affect another generation of software. Imagine slop in the linux kernel, in google chrome, or in your compiler or runtime. Its not acceptable. I know a lot of people spend their careers writing end user software and web UIs. AI is increasingly a good choice for this sort of code. But that's not all of us. And its not all of the software being written. | ||||||||
| ▲ | DrewADesign 4 hours ago | parent | prev | next [-] | |||||||
As long as safe and stable are assumed to be base-level requirements… maybe? | ||||||||
| ▲ | solid_fuel 4 hours ago | parent | prev | next [-] | |||||||
Disagree, adequate means adequate. Done and cheap is what you call it when a solution is adequate. If the solution isn't adequate, it doesn't matter if it's cheap, because it isn't done. | ||||||||
| ▲ | skydhash 3 hours ago | parent | prev [-] | |||||||
I was just watching a video about system engineering and the following stucks: Stakeholder needs: What people wants to get done with the product Management needs: How to manage the spending of resources (time, money,…) to create the product Engineering needs: What is the product You have to balance the three. Sometimes it’s simple and easy to get right. Sometimes it’s complex enough, you’re never truly sure until the product is out in the wild. Software is malleable and we can do easily do iterations which is not possible with hardware. But today, we have a skew towards engineering, where the whole focus is to create a solution, whatever that is. No understanding of the problem, no proper allocation of resources, just do something. Even if it is plastering over the crack for the eleventh time. | ||||||||
| ||||||||