4 ms·
Here is my (unpopular? original?) opinion about software engineering: software engineering is more like writing a novel than building a bridge. Bridges are fair
by pmiller2 7y ago
Here is my (unpopular? original?) opinion about software engineering: software engineering is more like writing a novel than building a bridge. Bridges are fairly well understood, and the parameters necessary to build them successfully can be approximated very closely once it’s decided what materials to use. Software will surprise you, in the sense of “no battle plan survives contact with the enemy.”
You will have bad data in prod. Users will do unexpected things. You won’t always be able to reach S3. And, this is all true even assuming the software is written perfectly to spec.
Knuth has famously said he thinks reusable code isn’t all it’s cracked up to be. It’s re-editable code that we ought to all be striving for. There are two aspects to this. First, how often do you get to write entirely new code inside a mature software project? Not often, I would wager, so why not make the job as easy on future you as possible? Second, re-editable code needs to be understood before it can be edited to extend it. This means we need to write code for humans to read, and computers, only incidentally, to execute (I think EWD might have said something to that effect).
- kikimora 7y ago> You will have bad data in prod. Users will do unexpected things. You won’t always be able to reach S3. And, this is all true even assuming the software is written perfectly to spec. Surprisingly this nonsense happens in a discrete setting where we can (in theory, of course) enumerate all possible inputs. Again surprisingly we cannot find effective way to automagically partition input space into equivalence classes to assist us in testing. Novel works in conjunction with our brains and it is not surprising that there are no definitive rules or “good novel equation”. But programs implement defined algorithms and super predictable. Yet creating them feels like writing a novel. I agree with your statement but at the same time it feels wrong that we find ourselves in such position.