Not Every Problem Should be Solved

From Zanecorpwiki

Jump to: navigation, search

I've been trying to find a good coding / development podcast, but so far no luck. I've been trying out ones that hold themselves out as high level, but so far they've all been interviews with tools boosters.

One idea that underpins the discussions in these shows is the naive view that all problems should be solved. "Our tool is great because it makes X easier."

I call this naive, but it's also about maturity. It could also be said to be the difference between a coder and an engineer.

The entire point of engineering, and this is what I consider a necessary component of "high level" understanding in any field, is less about the knowledge of how do a given task well and more about an understanding of the cost of doing a task versus not doing a task.

In the software world, for instance, everyone wants to automate everything. We have these frameworks that pull nifty technical tricks to save the developers a few lines of code here and there (which can add up to a lot of code).

The problem is that the overhead, complexity, and assumptions that come with this automation can be enormous. Consider this: we could automate our cars today if we wanted. We have the technology. Doing so in a safe and robust manner would require that we redesign and refurbish, possibly scrapping and rebuilding not only many of the cars and other vehicles out there, but the physical infrastructure of our roads and highways as well. We could solve the "problem" of manual driving, but the cost of doing so would be enormous and prohibitive.

Personal tools