Engineer in a Box?
Dr.Luke writes "Robert Lucky in a IEEE Spectrum Online article laments the state of today's engineering as progressively more removed from the "real" reality of tinkering and soldering "in a big musty laboratory" like Thomas Edison as engineers become more and more reliant on software tools and simulations. He fears that "math itself is slipping away into the wispy clouds of software that surround us" and that eventually engineers will be substituted by a bestselling software program Engineer-in-a-Box 2.0. What do you think?"
Not that the loss of the chance to do a little tinkering in one's job isn't a sad state of affairs, it is. But if I was the guy who wrote the cheques at Boeing's R&D department, the word 'tinker' would probably send me into a conniption.
___
Cogito cogito, ergo cogito sum.
The proper role for the boxed software is to substitute for the slaving minions working under the tutelage of a chief engineer. The slaving minions traditionally grind out endless gruntwork calculations, while the chief engineer does back-of-the-envelope calculations. These back-of-the-envelope calculations are not accurate enough to base a design, but they tell the chief engineer if one of the minions misplaced a decimal or is way off in some kind of way.
I try to teach my engineering students to yes, use software to do the grunt work, but one needs methods to calculate by hand to at least 2 or 3 significant figures to check up on the software. The software can have bugs. Total reliance on software will breed a kind of innumeracy where engineers won't have a handle on what things should be.
My other gripe is, as a DSP person, the complete reliance on Matlab or worse yet, LabView. My own preference is to code stuff up in Delphi Pascal (I learned Pascal from a data-structures course taught by Pascal-partisan Brinch Hansen), but I teach DSP algorithms and filter design in C++ (OK, don't flame me that I should use C for efficiency -- besides, object-oriented programming is an degree program accredidation bullet point). I guess Matlab is OK because it has amassed the FORTRAN numeric libraries, and LabView, we can debate, but shouldn't engineers who use computers express themselves in C++? Especially DSP engineers who will go to work for Motorola to do things like implement GSM speech coders in firmware, and I am not aware that LabView is available for a mobile phone. Actually, such engineers should be able to go all the way through assembly language down to bare metal, but C++ is such a universal standard, and they probably have C++ for DSP chips by now.
My point is that not only are engineering students not soldering hardware, they don't want to be bothered programming anything more low-level than LabView, the Visual Basic of electrical engineering. Doesn't C++ experience look just awesome on the resume of an electrical engineer (much of what I have done in my engineering career is write computer programs of one kind or another, and C++ is the lingua-franca in this day and age)? Students seem uninterested.
As an engineer working on ridiculously complex projects, I welcome sophisticated software tools that make my life easier.
Software should be developed to make engineering more efficient. If tools today are doing things that you would have done manually 5 years ago, and you can't take advantage of it to do better things, then you are probably a weak engineer.
Frankly, if the entirety of your job can be encapsulated in a software algorithm, I question your value as an engineer.
I started to witness this decay while in engineering school, 1987-1992. Things were pretty lousy back then, I don't want to imagine how worse they are now.
I was probably in one of the last classes that actually learned drafting first, then CAD later (this is at the School of Engineering, University of Puerto Rico at Mayaguez). Drafting was a pain but it really taught us the beauty of CAD/CAM and not to ever take it for granted. Same for numerical analysis: numerical analysis becomes a thing of beauty after you have spent two years getting HAMMERED with advanced calculus courses.
Now every mickey mouse NT admin is calling himself an engineer. It is a shame. Engineers are supposed to be able to build stuff, to apply science to resolve problems, but we are raising a new generation that is being trained to use software packages and that's about it.
Of course, generalizations are not good, and I am in awe of the next generation of hard core programmers that are being exposed to real programming languages and real world problems like building a kernel, not us that were writing stupid little Fortran (WATFIV!) programs on a freaking VAX.
Pedro
----
The Insomniac Coder
When software starts to become usefull people say "Engineering and Math will become obsolete, programs will do all the thinking for people".
And when computers first came out "Computers are going to replace people in all sorts of jobs, soon a computer will be doing YOUR job, better than you do it!".
Anyone remember when Robot's were popular? People were saying that robots will take over all our jobs. Soon robots will do all the thinking, and man will become obsolete.
The industrial revolution, I wasn't there to experience, but anyone suppose there was similar paranoia about large machines? Printing presses? Automated factory machines?
Finally I vaguely remember a quote from history class. It was something along the lines of: "This new invention will be the end of us. Man will no longer have to think for himself, it will all be done for him" and you know what they were complaining about.... THE WRITTEN WORD.
Come on, as long as there is a need for people to know math, and engineering skills (which there always always will be) there will always be engineers. My computer isn't quite perfect yet. I still need to be able to put my stick of memory in, or have some engineer soder a new capacitor in when a chronic blue screen keeps appearing.
those whose jobs it is to innovate and make the impossible possible, and those who just turn and crank. One innovator can't be replaced by 100 turn and crank guys just because the ability to innovate doesn't follow a statistical bell curve. Its not like after you get up to some obscene number of turn and crank guys, your chance of developing an innovation will reach 90% or something. It will still be at zero.
I think what this guy is lamenting is an adjustment in the ratio of innovators to turn-and-crankers that has been brought on by the anti-innovator prejudices of the SEI and other "everything must be predictable" initiatives. Very large projects that couldn't hold innovators because management was threatened by them and wouldn't pay them the six figures that they were worth were collapsing (as they should). The world reacted by saying that we can't depend on heros instead of recognizing that they needed to pay the heros more. Now all the heros, those that just instinctively know the aspects of "right" that aren't teachable are disappearing. Big surprise.
The result is that true innovation and accomplishment of the "impossible" has been going away and our economy is suffering because of it. What truly new classification of software have you seen in the last few years? I don't know about you, but the world in CompUSA has been looking pretty stagnant to me for quite some time. Mostly incremental advances, not the type of true innovation we were seeing in the late 80s before these things had really taken hold. Sales are down because the next blockbuster reason to use more CPU cycles, more RAM, more disk space, more pixels, more polygons/second, etc. hasn't been appearing.
Also, I saw several posts on here about this being because people can't do it all anymore. Bull. Some who could have done it all are being hampered by the education system telling them that they can't, others aren't allowed too, and others just stay quiet about it to avoid the backlash from those who've been brainwashed into thinking that we know such a vast amount of things that noone can do it all. It seems that the vast mindless majority is too threatened by the idea that someone can still do it all. And its become non-politically correct to hurt their self-esteem by telling them any different.
In any technical magazines, you'll find these software commercials telling you that any moron can just build a model using some tool and get meaningful results. Why pay for an engineer when you can just get a software for a fraction of the cost.
At my last job, I found a huge bug in a commonly used engineering software. The results of finite-element anaysis for composite materials just didn't make any sense. I did some simple tests and figured out that the bug came from a grade school math error. After speaking to the company in question, it became clear that their personnel was uniquely based on computer scientists that had no clue what the software was going to be used for. They just took a couple of books and plugged in formulas to get numbers out. I sent them a lenghty e-mail basically describing how to solve the quadratic equation the problem was boiling down to and they just would not get it.
The best was that I even got them to spit out that some of the material info I had to type in was not actually used. It was just asked by the tool because a competitor's product asked for it and their product had to look like it could provide the same feature.
My Karma is so low that even my own postings are beyond my current threshold
... but it's not limited to engineers. Many scientists are the same. Story time...
In undergrad, I worked with a physicist and an engineer on some Fourier analysis homework. I was a math major (and a meteorology major also). (No, this is not one of those jokes.)
I distinctly remember once when we reduced a problem to a very simple integral: the integral from 0 to 2*PI of 3 x cubed minus 4 x, dx. What do both of them do to finish this problem? Pull out the calculators and begin to type it in... I just watch in awe... they didn't even want to attempt this basic integral without the "comfort blanket" that the calculator gave them. Never mind that thanks to a typo one of them got the wrong answer.
Even in my field (atmospheric science), the "simulation bug" is prevalent. They're great tools, but it's rather annoying when you ask one of these simulation people to explain something that they're pointing out using basic physics that they frequently can't, even when the basic theory has been there for decades.
Scientists and engineers need that strong mathematics background. I personally think that calculators should be outlawed from classrooms until high school. People are frequently too dependent on those tools currently (had one guy in math help session in undergrad who used a calculator to figure out 3 minus 2... I kid you not). You always should learn the basics and the hard way before being given the tools for the easier ways. Anything else is bass-ackward.
-Jellisky
I work in Broadcast Engineering, which is managed by clueless ex-salespersons who wouldn't know what a tower was if it fell on them! All they know is that they pay me way too much to be the only engineering person at a major market 50,000 watt AM station. I manage a 40 computer network here, do the studio work, the transmitter and all the remotes. I work like 50+ hours every week, yet I'm yelled at if I'm not in every day at nine AM sharp (I have to stay until at least 7 PM). I get chastized for every failure, but hear nothing for (my many) successes. For example, a few Sundays ago (labor day weekend) the station went off due to the failure of a circuit breaker in the 40 plus year old transmitter plant (that they refuse to upgrade and the manager has never been to). I was called on the carpet because: "Nothing should be able to take us off the air". These idiots can't fathom that equipment occasionally does fail. Even four nines reliability (99.99) means almost eight hours a year of outage, yet this idiot expects perfection. A while back, my wife bought me a T shirt that said: "I'm a can of tuna". When I asked her why she said that in her opinion, managers hired Engineers as if they were shopping for a can of tuna. They go down the supermarket aisle where they have the choice of premium or inexpensive, national brand or house brand and they pick based probably on what's on sale that week (in other words, generally they shop for the lowest priced tuna). That's what we are: a can of tuna to these clueless jerks! They have no idea of what we do, and don't care. All they know is that we cost them way too much. Am I looking? You betcha! Problem is from what I can see, 95% of the places out there are as bad (or worse) then things are here.
I would be pretty p**d if s/he spent time working things out on paper.
They teach computer programming here to write code without teaching then to use de-buggers, color coded editors, etc.
And the grads. need at least 6mos of 'on the job' training to learn how to use modern programming environments efficiently.
Someday perhaps educators will learn that there is nothing wrong with teaching students to learn the best tools for the job at hand. Of course theory is important, but teaching theory should not require making students spend hours scratching away with the primitive tools that the theory was originally figured out on!
Ahh well, folks said writing was dead with the advent of the fountain pen (you have to cut your own quill and mix your own ink to understand how to write a _real_ letter, sonny!). Then it was the typewriter...
And so it goes, I expect in fifty years, profs will be saying "Stay off the neural net! You can't really get the answer in holo space! Use your your calculator like a real engineer!"
but we as a whole need to learn how to use our brains, after all we are engineers right?
When someone says, "use your head," they are usually refering to finding a better faster way of doing something. So why is it you think learning to use your brain entails training yourself to do complex operations in minutes when a machine can do them in seconds. The human brain is piss poor at performing complex computations, sorting, detailed memory storage, and the like. Machines are very good at these things. On the other hand, humans are very good at analyzing complex situations, planning, designing, and the like. Machines are piss poor at this. Wouldn't it be smarter to assign your brain tasks it is good at and relegate other things to tools?
Don't get me wrong, I'm not saying you don't need to learn to do some of this stuff manually. Sometimes knowing how things work is necessary, but at the same time we don't need to permanently burden our minds with tasks that our tools can accomplish more efficiently.
Yes and know. What the professors are (or should be) getting at is that you should think before you compute. Sure you can punch a much on numbers into your calculator in the right order and get the right answer. However what if you press the wrong button? Suddenly you have the wrong answer and don't know it. You should always have an idea of what the right answer would be.
Also, if you don't reach for the calculator right away you can often see a way to simplify the problem, and then the rest works out quickly. In fact for most of my college tests the problems were choosen such that it if you caught the tricks you could do all the math in your head faster than someone who memorized the equations without knowing them can punch numbers on the calculator. (or look, these two variables cancel, and 2 to the second power is 4 and before I knew it I had the right answer)
Of course there always a few problems that cannot be done in your head, but most can be.
With respect, that is complete and utter bullshit.
Engineering something now that was engineered many years ago is much easier now.
With hindsight, and knowing all that we do now, yes it would be easy to engineer a lightbulb. But it wasn't an easy thing to do when Edison did it.
Engineering a quantum processor or an artifical joint for your hip/knee/shoulder is not easy now, but it will be 20+ years after it's been done.
To get back to the discussion, all of the computers/programs are tools - they will never make up for an intuitive understanding of the problem and a good 'engineering brain', something that a good Bachelor course will try to teach. And that is the problem - engineering students now start on the computer programs and have little appreciation of their status as a tool. The real problem here is that when the computer program spits out an answer that is completely illogical, it doesn't register as being wrong.
"Because it's there." - George Mallory, when asked why he wanted to climb Mt Everest, March 18, 1923 (New York Times)