4 ms·
The author seems to have an inflated notion of what developing software is about. Most software doesn't require "perspicacity". Think about Civil Engineering.
by doug_durham 1y ago
The author seems to have an inflated notion of what developing software is about. Most software doesn't require "perspicacity". Think about Civil Engineering. In a very few cases you are designing a Golden Gate Bridge. The vast majority of the time you are designing yet another rural bridge over a culvert. The first case requires deep investigation into all of the factors involving materials strength, soil dynamics, ... In the second case your role as an engineer is to run the standard calculations so that it meets legal standards and isn't going to fall apart in a couple of years.
We all like to think the we are grand architects finely honing software for the ages, when in reality we are really just specifying that the right grade of gravel is being used in the roadbed so that you don't get potholes.
- djtango 1y agoI don't disagree except that software is different to building bridges because once you build the bridge, it's a bridge and you're done. Software engineering is like deciding after you built the bridge that it needs to now be able to open. Oh and the bridge is now busy and used heavily so we can't allow for any downtime while you rebuild the bridge to open. And as much as we hope for standards so everything cookie cutter, there are idiosyncracies all over the place so no project is ever really the same. These days I think of software more like writing fiction than engineering
- doug_durham 1y agoGreat points. The only reason that Civil Engineering isn't like software engineering is because of cost and legal regulations. It costs only labor to change software. If there were robotic workers and plentiful energy and materials you'd better believe that bridges would be getting refactored all of the time. Also bridges are never done. They are continually inspected and refurbished. Every bridge you build has an on-going cost. Just like software.