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)?"
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!
I think most of the top ten, twenty, or even thirty universities in the nation probably still teach academic computer science...
Example:
http://inst.eecs.berkeley.edu/classes-eecs.html#c
The CS9[A-Z] courses you see there are only worth one unit, not part of any required curricula, are self-paced, and are pass/no pass -- in other words, entirely optional and for the benefit of curious students.
The requirements for a degree in EECS at this university are CS61[ABC] and EE(CS)?(20|40). If you look at the upper division courses, you will see things like:
They don't seem like industry shills to me.
This is yet another case of a company not willing to train their employees. I am going to university because I want to learn the theory for the job. I didn't go to university to become an expert in one program and not think about what I was doing.
Years back companies used to create apprenticeships and train their employees, you would be taught your basic programming and work related theory through there. It was a company's job to train you not the university's because universities and Colleges are for different things. Already (in the UK) the value of a degree has fallen a BSC degree puts you at technician level of jobs, a BEng will make you and Engineer and a MEng is for a charted engineer.
If you want 'tradesmen' then create an apprenticeship in your company for that trade, Universities exist to tech thinking and to further knowledge. I'm sick and tired of companies who won't invest in their employees (or prospective employees) and demanding the state do the job for them.