If there is one thing we engineers know for certain, it's that nothing at all about engineering is certain.
Uncertainty is deeply rooted in the nature of matter and accounts for many of the phenomena we observe in daily life. In the past, uncertainty has been accommodated in engineering via safety factors—an intelligent strategy that has worked reasonably well for hundreds of years, but causes all sorts of problems. In addition to over-engineering and excess cost, safety factors always leave something overlooked or unmodeled, some unfortunate combination of factors and circumstances that finally lead to catastrophic collapse, loss of life, or (gasp!) an expensive law suit or recall.
However, uncertainty can be taken into account in the same way it manifests itself in nature and not via safety factors. Today, we can truly simulate reality and manage uncertainty within product development through stochastic models that get close to reality because they incorporate uncertainty. And getting as close to reality as possible is our duty as engineers.
Stochastics and the management of uncertainty are based on the Principle of Incompatibility, where high complexity is incompatible with high precision. In other words, the more interacting components a system contains, the less precise statements can be made as to the system's performance and behavior. We should understand that the name of the game is not the pursuit of perfection. The name of the game is the imitation of nature, the imitation of how things really behave. It is no longer a matter of adding more decimals or more computing horsepower. It is simply a matter of modeling the physics behind uncertainty. That concept may have been forgotten in the 20th century, but it will dominate the 21st century. The inclusion of elements of uncertainty boosts the realism of models to previously unconceived levels.
An important pillar of the philosophy of uncertainty management is the idea that optimality and robustness are mutually exclusive concepts. In other words, the optimal, safety-factor-laden systems we design may indeed be conceived to be "right," but they're not too healthy. They have an innate tendency to spontaneously drift to states of lower performance and potentially (second gasp!) failure. In practice, you will almost always get less than what you think you'll get when designing an "optimal system." By definition, when a system is optimal and at peak performance, it can only get worse. This is why, when designing complex engineering systems, one should favor robustness and not optimality.
Uncertainty management employs the simplest and most versatile numerical technique: Monte Carlo Simulation. Monte Carlo Simulation relies upon experimentation, the best way of generating knowledge. And experimenting by computing allows us to free ourselves from the deterministic boundaries of X+Y=Z. It lets us live in the real world, where X, Y, and Z all have variances that every engineer with an undergraduate college degree can experiment with easily and cost effectively.
This is not something that will be necessary in the future. The drivers are here now. Engineers who can manage uncertainty have never been more important. Learn stochastics. The technology is ready.