3 ms·
An alarming amount of software development, especially now, is little more than plugging part A into part B. The major trend of software development has been to
by nescioquid 6y ago
An alarming amount of software development, especially now, is little more than plugging part A into part B. The major trend of software development has been to increase the degree of similarity between software developers and plumbers.
- cle 6y agoThat kind of reductionist argument can be made for any kind of software development...we're all just plumbing bits around at the end of the day. If you're a web dev, you're plugging web tech, if you're a backend dev it's network protocols and storage tech, if you're a kernel dev it's instruction sets and memory buffers. As we build tools to make that plumbing easier for certain use cases, we might move around in the hierarchy to plug different things together, but I don't think anything has fundamentally changed in an alarming way. We're still just moving bits around!
- nescioquid 6y agoOf course, you're absolutely right in your reductive view, but it is not what I was trying to suggest. I remember an explanation that Sussman gave for why MIT retired the SICP course, replacing with it a course in which students program robots with Python. He said (and I'm badly paraphrasing) that one used to be able to scale up your reasoning about how a piece of software works in a similar way to how you do it when looking at a circuit diagram: you have these little components with discrete behaviors and you can simply combine them and be able to predict the result. Today, however, as programmers (to a greater extent than before) we create systems by cobbling together large, opaque, libraries whose properties are poorly described and require one to essentially "do science" on those black boxes. And the trade-off is that we're often better off plugging A into B, and hence there's a lot more of that sort of line work in industry. edit: I should say that I don't much like that sort of work, but it was unwarranted to say it is 'alarming' that the trend has gone this way.
- skulk 6y agoSo if you're a plumber and you're looking at two parts that don't connect but need to, you're pretty much SOL; you can't fabricate an adapter on the spot. Now, if you're a software engineer and you find yourself in a similar situation, you're expected to "fabricate the adapter." This is why the plumber analogy is fundamentally flawed.
- swirepe 6y ago>So if you're a plumber and you're looking at two parts that don't connect but need to then you force it together with whatever you have at hand, and wrap it all in a thick layer of duct tape. That's exactly like software engineering.