<p>Long answer approaching.</p>
<p>So, I’m in one of those jobs that “could be replaced by computers.” I thought, as a college student, that I would certainly be replaced by computers. In fact, I thought that I would certainly be typing things into computers all day, that they’d do the heavy lifting, and that I’d get to take the computer’s credit for designing cool skyscrapers and things.</p>
<p>I was wrong. Very, very, very wrong. </p>
<p>It basically falls to this: who would you rather have in charge of an important task?</p>
<p>1) A computer-- The benefits to having a computer be in charge of important things is that it takes a certain input, does stuff to that input, and produces output, and it does it the same way every time. It does this faster than a human is able to, it does it with fewer stupid errors along the way, and it can handle a lot more data more consistently than a human being can.</p>
<p>2) …a human being…-- The benefits to having a human solve a problem is that it takes an independent look at a problem each and every single time. The human makes mistakes, but when the human makes mistakes, it makes them one at a time. Plus, when the mistakes are made, they will either a) be incredibly noticeable to the human (wow, I just calculated that this two-by-four should be able to support a motor torpedo boat… that’s not right), or b) too small in magnitude to be noticed by the human. That means that chances are good that USUALLY the mistakes are too small to be a problem in practice because engineers are required by building codes and engineering ethics to use “factors of safety” to make their designs just a little bit more resistant of the forces it must withstand.</p>
<p>3) …or a human being using a computer? If you have an experienced human being performing that check on each and every single calculation before it goes to final production, then you get the benefit of having things be consistently calculated the same way each time ALONG WITH the benefit of having that experienced set of eyes looking at the output and going, “Yeah, that looks reasonable,” or “No way that’s correct.”</p>
<p>In structural engineering, and I would guess that it’s the same way in ANY calculationally-intensive profession where you could SERIOUSLY screw things up by being wrong, we use the third method.</p>
<p>Computer programs are fickle. I wish I could tell you how often I’m sitting in staff meetings with some of the BEST structural engineers IN THE WORLD (on a daily basis, I drink coffee with the people who’ve designed the majority of the NFL retractable roof stadiums and high-rise hospitals in the United States… sitting around with this group of thirty or so engineers, it’s like, which of our articles was featured in each of the major trade magazines <em>this</em> month?), and someone stands up and says, “Just want to let you all know about a bug in SAP2000 (or RISA, or ETABS, or our own proprietary software that we’ve used for everything for upwards of ten years)-- if you have this and this and this condition, it calculates that there is a zero moment at the end, which means that it’s underreporting the required connection strength for the high-wind condition under certain circumstances. We’ve called our R&D department and they’ve called their contact at C&S, Inc., and they’re working on a patch.” Everyone will shake their heads and look a little nervous, they’ll go back and check everything that they’ve ever worked on that matches those conditions. NOW go read the Therac-25 accounts… And know that the buildings we design aren’t designed for the everyday condition; that’s easy to do. They’re designed for earthquakes, for hurricanes, for high winds, for terrorist attack, and we don’t get to do dry runs or test our proton accelerators on pigs to make sure they work ahead of time.</p>
<p>A couple of other things to consider:</p>
<p>Structural programs are written by either structural engineers (who are lousy programmers and write code with tons of bugs) or computer scientists (who write great code but have no idea what the heck the building codes are talking about).</p>
<p>The only quality control/quality assurance that these programs go through are done by the probably three or four QA/QC engineers that the software company employs, and then it goes out for general usage. You know how you’ll download updates for your phone, or for Windows, or for whatever OS you’re running, or Office, and every now and then, it’ll just crap up your computer and keep crashing? You’ll hear everyone start saying things like, “Hey, don’t download the latest update for the iPhone, mine’s been crashing ever since I did.” The next week, you’ll have to install a patch that fixes the problem, that whoever at Apple or Microsoft has stayed up for five days and nights frantically writing, or something like that. Well, that’s for software that thousands of people use every day, all day long, and that’s after it’s been beta-tested to death and deemed appropriate for release. All industry-specific software is used by… oh, I dunno… a thousand, maybe a couple of thousand users. Less in my field. We’re the beta testers. Not only that, when the software manufacturers release a new version, it’s not that they’ve built a better, shinier mousetrap… It’s that they’ve tried to update the code to match the latest updates from research, from laws, from the tax code, from the ever-changing world of whatever profession they’re writing software for. They’re just trying to keep up. It’s not really V7.0 like the CD case says, it’s V0.1 for the currently accepted practices within the industry. So it’s pretty buggy.</p>
<p>Finally, you’ll notice that you’ve cited CPAs. The “C” stands for “certified”. In structural engineering, we have the PE exam… a grueling exam that lasts for one or two days that you can only take after you’ve acquired four years of experience in your field, and then you can design things on your own. I’m sure that the CPA exam has some similar amount of rigor.</p>
<p>Y’know what certification these programs go through? Nada, zip, zilch. The output they produce is not certified by anyone. It’s not qualified by an accreditation entity. In fact, there are reams of legal documents saying that anything produced by these software suites MUST be used responsibly by a licensed engineer or CPA or whatever, and that the software company isn’t liable for any of that. It’s just a legal nightmare, and the software companies aren’t interested in doing anything other than providing software for a qualified person to use as a part of their professional tool kit. </p>
<p>So the kind of software you’re talking about will never be put together, anyhow. Too risky. Too much liability.</p>
<p>It’s a complex question. I’ve given a long answer. There’s more to it than just this, but Rock Band 2 is calling my name, and I have to not think about engineering too much on the weekends or I go a little bit bananas during the week. Hope this helps.</p>