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.
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.
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"?
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!