Ako Suminoe :njp: on Nostr: I don't think that's what makes or breaks an engineer. Engineering typically has to ...
I don't think that's what makes or breaks an engineer. Engineering typically has to do with the process of making something in a series of stages, going through the stages of gathering requirements, designing the solution, testing, implementation, manufacturing, maintenance, etc. These are all necessary if you are trying to make a car, a bridge or a phone, for example.
And while it is possible to use the waterfall methodology to use this series of processes inside software development, it is very slow and usually breaks down because it is not the most efficient way to make software. Things that are very expensive when making physical goods, like setting up a factory and actually making product, are cheap or free (e.g. automatically running a deployment pipeline on commit) in software. As a result, software is typically developed in an incremental/iterative fashion, where new requirements are constantly added to existing projects, with periodic refactors to re-"engineer" later on.
You still need to have a chain-of-command and people responsible for what they make, but a lot of the issues that software development has is with management having very different priorities than their users.
And while it is possible to use the waterfall methodology to use this series of processes inside software development, it is very slow and usually breaks down because it is not the most efficient way to make software. Things that are very expensive when making physical goods, like setting up a factory and actually making product, are cheap or free (e.g. automatically running a deployment pipeline on commit) in software. As a result, software is typically developed in an incremental/iterative fashion, where new requirements are constantly added to existing projects, with periodic refactors to re-"engineer" later on.
You still need to have a chain-of-command and people responsible for what they make, but a lot of the issues that software development has is with management having very different priorities than their users.