Yesterday I got into an online conversation that actually revolved around religion, atheism, agnosticism and the like.
While such conversations, in my experience, often suffer from the implicit uncertainties in the range of meanings of the terms (atheism especially) that people are arguing with–and this discussion definitely had some of that–one interesting point did emerge.
In my conversation with one of the respondents, it came out that this person was an engineer and one of the points that he brought up was that most humans–whichever side of the theism question they fall on–tend to argue and to make claims that are based on the desire for certainty. However, as an engineer, he knew the limits of human knowledge and argued that we would all be much better off if people stopped acting in a manner that constantly sought certainty and just learned to accept the uncertainties that are all around us throughout our lives…
With some reflection on my life–this seemed to be quite an accurate observation. I found it accurate not only in its prescription, but also in the fact that almost all engineers, in my experience (I was trained as an engineer and now I teach them…) constantly have to deal with uncertainty in a very concrete fashion and much of their training is about figuring out how to craft solutions that do not ignore uncertainty–but rather assume uncertainties and compensate for them in rational ways.
As for concrete examples of this, one need only look at the overall “design process” which is at the core of most engineering. Designing something is not an activity that you can just do by following a rote recipe. There is no set of all powering instructions nor is it like a mathematical problem where there is just one correct solution.
Instead, because reality is so heterogeneous, and our knowledge about this reality is so limited–because getting perfect knowledge about even a small part of reality is REALLY REALLY HARD AND EXPENSIVE–engineers have to design in an iterative way. In other words, they try stuff, figure out what works and what doesn’t, and then make corrections and try again. Over time, they learn more and more about what will probably work and can then make the process more and more efficient.
While this overall process may seem frustrating, it actually also has a very positive side in that the heterogeneity of reality also means that solutions to engineering problems need to be robust–i.e. they must be prepared to handle situations that may not be exactly what they are designed for. This heterogeneity-induced robustness creates, overall, a kind of space for “play” in how one designs stuff. Because these engineering problems are usually either over- or underdetermined, there are many different ways to solve them and thus engineers have space to be creative in how they try to solve them.
To reflect and restate at this point–all of this playful and creative designing comes from the fact that the world is an uncertain one and that we must be flexible and a bit cautious (one can think of the engineering practice of Safety Factors here…) when constructing things that will persist within it.
An excellent scholarly description of this process can be found in John Law’s article on “Technology and Heterogeneous Engineering,” a summary of which can be found here, and which can be partially read in this google book section here.
In the end, this discussion reminded me why I tend to get along with most (although not all) engineers quite well. Really good designers and engineers have to implicitly deal with uncertainty in their daily lives. They cannot just deny it or ignore it in these portions of their life, which usually makes them more appreciative of it when it crops up in other places.