Engineering School Grads - Tradesmen or Thinkers?
El Cubano asks: "ITworld is carrying a story (sorry, no printable version) saying that John Seely Brown (former chief scientist at Xerox and director of PARC, currently teaching at the University of Southern California) is encouraging engineering schools to change the way they educate. The article, quotes Mr. Brown saying the following: 'Training someone for a career makes no sense. At best, you can train someone for a career trajectory...'. What do you think? Should engineering schools be producing tradesmen (like an apprenticeship program) or should they be producing 'thinkers' (people who can cope with a wide variety of problem inside and outside their area of expertise)?"
thinkers - it's in darn short supply in the real world.
I am not sure the question makes sense. Engineering is about solving problems. That isn't a rote field, but teaching the solving of problems is done by example. Ideally you want to educate somebody able to solve a novel problem.
It takes both. Producing "thinkers" gives us people who understand what is going on, and can analyze situations.
Problem is, they tend to over complicate somethings.
For example. Who would you hire to do the wiring in your house, and electrician or an electrical engineer?
Granted this is an extreme situation, but in theory, shouldn't both be able to do the task? Yes. However, an electrician has done it many times before and has the benefit of experience.
Now, who do you wanted designing a NASA space vehicle?
As a grad student at USC and someone who has studied under Mr. Brown, I'll say that I have to agree. Atleast as far I am concerned, I wouldn't want my professors to be teaching me a specific technology or system. I want them to teach me to think at a higher level. I mean if you really want to learn a technology well, do you really need a classroom and a professor? Can't you just pick up a few books, download some tools/compilers/etc. and learn it yourself?
On the other hand, what professor's teach you isn't so much how to code in Java or write PHP. What a professor teaches you (atleast the ones I've studied under here at USC) is how they (or other experts) tackled/approached engineering problems in the past, which IMO is more valuable.. in other words.. they impart more wisdom than knowledge. I think most good engineering schools would follow a similar pattern of teaching.
- Tempestdata
I graduated from an engineering university that focused on real-world hands on engineering. It has been my general observation that when it comes to taking a project from design to field implementation, engineers from theoretical schools tend to:
1. Not know where to start
2. Over design the project
3. Have a general disconnect between paper engineering and field engineering.
It may be a bit of envy, I still have to go back to my text book for the requisite math, but the hands-on guys seem to have an advantage.
I am billdar, and I approve this message.
As a university (Engineering school) graduate, I can say that employers today (with the exception of a handful of big utility companies) want employees trained on: the exact technology they will be working on, the latest and up to date tools and projects using specific technology. The whole thinking aspect or training employees on something specific -- hiring proven generalists such as those produced by engineering schools (someone trained for a career) is something from a time past.
From the employer side, competition these days is as bad as it ever was, particularly from overseas, and justifies the need to think short term (someone who can fill a particular position NOW, rather than someone who can fill it a little later but arguably might be a better long term investment for the company).
This is not putting down trade-type training, and to those thinking of being critical of my stance... Consider this: Would you want a high school graduate fresh out of school installing the electrical wiring in your house? Wouldn't you want a trade with some education doing it? Wouldn't you want a well educated doctor operating on you that has had an additional two years of specialty training in some obscure area rather than a GP? Would you rather have someone who is trained to think in terms of more basic principles and math rather than someone educated only on the latest technology and gizmos?
The answer is that it ultimately depends on need: if a tradesperson will do, don't hire an engineer! And if you need to look beyond the current technology but need some serious thinking, don't hire a tradeperson!
Duh!
Employers?
Leave them alone for a moment, think of the people themselves.
Most do not want to think for themselves and would rather do something mundane that pays the bills.
The percentage of people that actually want to think for their living is quite dismal in the grand scheme of things.
Secondly, look at who is more respected/has more resources in the society -- a "pop" star or a mathematician?
While the mathematician may be content with what s/he may have, society for the most part does not care about its "thinkers".
If we did, there would be far more folks out there doing things like pure mathematics, theoretical physics and other abstract areas that genuinely require thinking (not to discount the thinking in engineering and applied sciences, but pure sciences generally require more of a deidication than applied sciences and engineering).
So while engineering schools may be geared towards thinking, the question boils down to how many jobs out there require you to think as opposed to obey? How many people out there like people that think rather than do as they are told (while doing as you are told is certainly an important part of your learning experience, how many folks here have felt that they could find a better solution than the ones they have been asked to implement?).
No, if you want thinkers you need a society that encourages thinking.
Sure both can program but who develops the sophisticated software that run super computer simulations? The CS major. The other programming just write the supporting code usually.
Most likely the math or physics major. CS has become a joke, and most curriculum's resemble job training in Visual Studio.
This is true. Everyone has to figure out where on the doing-thinking continuum they fit best. I'm an engineer because I like theory AND application. Physicists are mostly theory, and electricians are mostly application.
I think in Australia traditionally you had technical colleges (such as TAFE) and Universities providing a clear difference in the direction of things being taught. Technical colleges producing "tradesmen" and Universities producing "thinkers".
The problem has been that increasingly universities have been seen by consumers as a way of getting a job rather than as a pathway to higher learning as academia and thus there is expection by them, to be taught "practical" skills. I think a reason for this is there is a small stigma attached to technical and trade colleges as being "dumber" than their uni counterparts. I think in this way, the problem is that consumers do not really understand what the function of universities are.
The easy part: Trade schools graduate technicians, universities graduate engineers.
The hard part: Getting people to respect a good technician more than a bad engineer. Getting people to pay technicians what they're worth.
The likely outcome: Universities will continue to slouch towards vocational teaching that could have been done at the trades or in highschool. People will spend 4 years at mediocre state Us to avoid the stigma of not having a BS, which is the new highschool diploma. The masters will become the new BS.
My father had a GED. I've got a BS. If I ever have a kid, he'll probably need a masters to match his old man's career.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
C+ average at Princeton = daddy was an alum and donated a lot of money while his son/daughter partied/sat around all through college.
Top engineering schools in the US (in '05 cuz it was the first I found): #5 University of Illinois at Urbana Champaign (public state school), #18 Princeton. If an A average at UIUC is worth a C+ average at Princeton, why is the ranking higher? Actually, don't answer that because I know about all the complications with school rankings.
I went to Pomona College and took computer science classes at Harvey Mudd, which is consistently ranked as one of the top non-graduate engineering programs. I didn't like the atmosphere out there and transferred to UIUC which is near my home. I have gotten good grades at both schools and can honestly say that it is more difficult to get an A at UIUC compared to the smaller private Harvey Mudd. The main reason for this is that the teachers are much more available and willing to help at smaller schools, while you generally have to figure everything out on your own at large schools. Larger schools are also much more likely to have classes that are intended to kill off the weaker students, usually by making the class very difficult, which again makes it hard to get an A.
That really doesn't matter that much though. The point is that you sounded like a jack ass. Troll me if you want, I just have a problem with people who think they are better because they go to a private school.
But thinkers is not what most employers want in the freshly graduated engineers they hire. They want someone they can put onto project x using software y or tool z on day one, no matter how much their CEOs might talk about how they want "thinker" and "pioneers". There are some exceptions, but "I can layout amplifier circuits in ORCAD, program in Matlab and have never looked at anything except radar" will get you into the door at, say, Raytheon much faster than "I learned that I am good at problem solving". Now, it's a different story for engineering masters or PhD grads, but still most HR people prefer the skills match, be it Matlab or AutoCad, over the intangible qualities. This is at least partly due to the fact that you can't easily judge them in a resume and a short interview, but also because the engineering manager tells them "I need someone who can fill the place of the AutoCAD monkey who quit last week.
Creativity and "thinking" probably makes you advance faster once you have a job, or when you apply for your second job, but out of college, it's not the most looked for quality.
Disclaimer: I got a software job immediately after graduating in nuclear physics.
Then, once you get into upper level classes, you use those tools that you've acquired -- from classes or from elsewhere -- to accomplish tasks.
At least, from what I've seen. Who's taken a design class and been told what language they must write in? Unless you're forced to use an existing tool (ie, you MUST do your Computer Architecture work by extending simplescalar) or limited by the architecture (you can only choose between C and Assembly on most microcontrollers).
When I took my computer architecture class, we did trace-driven pipeline and cache models. I did mine in python; I was familiar with it from friends and I enjoyed using it. (I still do.) Other people used languages like Perl and Java, because that is what they were familiar with.
When I took video game design & programming, my group used Java for the client and C for the server. Other groups used tools like Visual Somethingorother or the Unreal engine (which was state of the art at the time). They chose tools that got them the product they wanted in the time they had. The team that wanted to do a "FPS Ultimate Frisbee" had great success with the Unreal engine. We had great success doing a multiplayer 2D board game using Java for the clients and C for the server. Partly because we were familiar with the tools and didn't have to fight them. Similarly, the person using Visual Studio wanted to make a DirectX game... and that was the right tool for the job. Writing a FPS from scratch in Java was clearly not the right option, nor was writing a 2D board game in the unreal engine. But the point was classical engineering of the kind that is most useful: given a set of resources (10 weeks in the quarter, a few University students with other classes, and only so many tools in the bucket), come up with a feasible idea and implement it.
Other schools have "computer science" programs where you learn linked lists and C++ pretty far along in your schooling (Junior year?), and you rarely (if ever) get free enough to design projects from the start. The difference is one of philosophy: using whatever tools available to accomplish the task you want to do, versus knowing tools to make things that someone else has mostly planned out.
It takes some of both kinds of people to make the world go around.
Most skilled trades (law, medicine) have secondary post-college programs entirely on top of arbitrary undergraduate degrees. It's a shame in a way that engineering gets crammed in with everything else; I think the secondary programs confer more respect on the people that go through them -- and a higher salary. If you had to get a Degree of Engineering on top of your undergraduate degree of choice, maybe engineers would have the respect they (IMNSHO) deserve.
-- Erich
Slashdot reader since 1997
Just because it is now fashionable to call people who are not engineers OR tradespeople by the name engineer is no reason to try to dumb it all down.
That's why you take a co-op or internship program. I did 4 months of work for every 4 months of school I went through. By the end of my degree I had 2 and a half years of real industry experience.
And contrary to what most people think, most places won't put you to work fetching coffee. I was developing firmware for embedded devices and working on operating systems for most of my co-ops.
Couldn't disagree with you more.
Schools have tremendous resources available for those that want to put down the beer and get hands-on experience. The next 40 yrs of engineering will be hands-on experience.
What matters most for the 4 yrs is the density of education. And that comes from learning how to think, analyze, learn new methods, etc. Hands-on apprenticeships are typically little more than pattern-matching. A good education builds mental capability for a wide variety of pursuits.
A decade later, that apprentice is worthless when the market changes and he no longer has a job. With a good education, one can easily come up to speed on a completely new style of engineering because he has the mental tools to be effective.
In their efforts to woo corporations and become more competitive as corporations themselves, higher education has become a whore to the corporate agenda and that has (and will continue to) damage the future preparedness of our students.
Engineering is a profession, and requires education not training. Let me rephrase that: a technical engineer deals with difficult equations. A good technical engineer deals with difficult analogies.
My main gripes with engineering education are two-fold:
- Only engineering design is taught, not engineering discipline.
- Writing skills are neither taught nor tested.
Real-world engineering requires the ability to communicate succinctly and, invariably, a very large amount of documentation.
If you want to develop as an engineer, you will need to understand how engineering, as group of people working together, works. This is where the discipline or practise of engineering comes in. (Sometimes knon as systems engineering) Unfortunately, very few undergraduate courses teach it and even fewer academics believe in it.
There are some notable exceptions (eg. Carnegie Mellon University), but that exception merely proves the rule.
-- Butlerian Jihad NOW!