During a recent meeting with engineering-school faculty and alumni, we talked about whether their college should educate generalists or specialists. One of the graduates explained how his broad education let him solve a problem with fundamental information that bridged several specialties. One of the engineers with a deep knowledge in a narrow area countered that today many companies need engineers with specialized knowledge so they can "jump into" a problem right away without a "warm-up" period. I can see both sides of the generalist vs. specialist debate.
In electrical engineering, undergraduates often specialize a bit, perhaps taking more analog than digital electronics courses. But they receive a BS degree with a good understanding of many facets of electronics. In graduate school they can continue their education in narrower fields. Undergraduate engineering programs educate people about how to approach and solve problems, and how to think critically and examine problems from several perspectives.
The general knowledge instilled during four years of college also helps graduates evaluate a field and determine whether they want to continue in it. I know science and engineering graduates who have become surgeons, physicians, teachers, entrepreneurs, patent attorneys, and so on. The generalist approach served them well. This approach also lets people who aim for more education benefit from a variety of experiences in their discipline. So I would not recommend trying to push undergrad engineering students to become specialists in four years.
On the other hand, when companies and universities advertise job openings, they usually have a long list of specialized requirements. I found this example of job requirements on the Internet:
Minimum five years of embedded FPGA/ASIC design and/or verification experience;
Three-plus years of experience using System Verilog;
Strong working knowledge of OOP verification and verification environment;
Experience with OVM/UVM verification methodology;
Good verbal and written communication skills;
Self-starter who can work with minimal supervision in a team environment on site;
Experience with scripting languages (e.g. Perl, TCL).
Generalists need not apply. So here's my advice: Go ahead and specialize as you see fit either through an advanced degree or on-the-job training. But keep an eye on general knowledge in your chosen and related fields. If you want to specialize in motor control, for example, you should know how to write code in C, simulate control algorithms in MATLAB and Simulink, use LabVIEW, and so on. It also helps to know how to go to the shop and quickly machine a motor coupling you need to test a motor. You might become a specialist with a generalist's knowledge of many things, or a generalist with pockets of deep knowledge in a few areas. We have room for both types of engineers.
Readers, what do you think? Tell us in the comments section below.
While I do see the advantage to being a specialist (it might make you eligible for a very specific set of jobs), I lean toward the generalist approach. The problem is that most new graduates really don't have a good feel for what they'll be doing ten years down the road. The generalist approach is a great way to keep your options open. Engineering is a pretty specialized curriculum to begin with. I don't know if making it more specialized is a good long-term approach.
Many specialists get scooped up before they even graduate undergraduate studies, I have noticed. Whether it be by some company or person, or they go on to create their own businesses. Insanely successful examples would be Microsoft, Apple, and Facebook. These guys go on to hire more specialists. Why? They want a job done fast at any cost.
Businesses that are only moderately successful tend to seek generalists, from my experience. Why? Because they want a variety of jobs done for low cost. And they don't have to do a great job at them either.
After years of experience and observation, I have only one recommendation for engineers, using these terms: Become a specialist at whatever you wish and start a business around it.
Jon, the Institue of Electrical and Electronics Engineers (IEEE) Communications Society is going in the undergraduate specialization direction. They are proposing a BS in Telecoommunications Engineering (TE). The feeling is that in a EE program that a number of topics are not covered that are important to telecommunications engineering and that there is enough demand. Here in the Chicago area, as with the IEEE in general, the Communications Society is the second largest after the Computer Society (whcih I lead). The IEEE started as the Institute of Radio Engineers. It later merged with the American Institute of Electrical Engineers, so this makes sense.
There are really two aspects of general education at the undergraduate level. One, of course, are the liberal education requirements. The other involves the range of scientific and mathematical education. Frankly, if you want to become a generalist, you should study physics. That is how I started. We really looked down on the engineers. Since there were few or no jobs in pure physics I dropped out and followed many of my professors into the software (and later systems engineering) fields. We had the skills necessary to solve the problems we were given. I later got a computer science degree.
What I find interesting is that many of the authors of research papers in the IEEE journals are physics PhDs. I also know several PhDs in electrical and mechanical engineering who work at research labs with the title of physicist.
My feeling is that if you are going into engineering then you are specializing. One of the options is to have a shorter general engineering program, followed by a specialized program. Some universities do this. In the first year or two everyone covers basically the same material. For companies that really want people to just jump in, they might want to consider just hiring people with masters degrees. I think what we will see is the specialization of degrees along the line of what the IEEE Communications Society is doing.
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This radio show will show what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.