I was visiting a high-tech company whose principal business was advanced chip design. A young engineer was showing me a prototype circuit board dominated by a single large integrated circuit that he had just finished designing. I was curious about how complex this chip was, and in answer to my question, he said that it contained a little over 2 billion transistors.
“How can you possibly design something so complex?” I asked. I’d never done anything remotely similar myself, and I wondered how I’d feel as a new engineer in some company being given a mission impossible assignment like that.
In answer, the young engineer just shrugged his shoulders. No big deal, he appeared to be saying. After a little further prodding, he confessed that, after all, there was a large collection of previously-designed cells, and the computer design tools were pretty awesome. Not much to it, really.
Afterwards I tried to put this exchange into some context regarding the way engineering is practiced today and what it means about engineering education. Technology has gotten exponentially more complex with the passing years, and yet engineers are turned out of universities in the same four year cycle that they used decades ago. How is this possible?
I remember dimly when I got out of school I thought that I knew all that there was to know about electrical engineering, and in the term of the old trade unions, I was a “master of engineering.” Of course, that wasn’t right then, but now there is no pretense – no one knows all of electrical engineering. In practice our profession has splintered into many specialties, and they in turn into sub-specialties.
As in any problem that is deeply complex, the approach in engineering design is to partition the task into non-interacting sub-systems and attack each independently. Thus our world has become layered and effectively compartmentalized, with well-defined interfaces between the layers. It is as if each layer has affixed a warning label that says, “no user-serviceable parts inside.”
The young engineer working on chip design depends on the work of other people in the adjoining layers. People that have gone before him have designed the cells he uses and worried about the electrical characteristics at the base circuit level. Other people will take his chip and write software to produce functionality, implementing algorithms derived by theoreticians, while still others will worry about the user interface.
The young engineer will work shoulder-to-shoulder with a computer whose software tools codify the knowledge of design rules that have been learned through the years of experience by many other engineers – intricacies that he might not know himself. Where necessary it will do the math for him – math that he may have forgotten or never learned. In every direction around him, he will rely on other peoples’ knowledge. The bad news is that this engineer will never know all of engineering; the good news is that he doesn’t have to. The world doesn’t work that way anymore.
What is wonderful today is that it is really easy to tap into other peoples’ knowledge. In the olden days, i.e., before the Internet, we had to find the right person to ask for help, or we had to sort through libraries for stale, encrusted information. Now we start by asking Mr. Google. “How do I do/fix whatever it is?” Chances are we’re not the first to ask that question, and some stranger will have already provided the answer. Moreover, we can get continuously updated tutorials from Wikipedia, and there is an ever-growing collection of on-line lectures on technical subjects. There may even be a YouTube video entitled: “How to design a 2-billion transistor circuit.”
In this world where other peoples’ knowledge is so easy to access what does the engineer himself or herself need to know? First, the engineer should know how to skillfully acquire information – but today everyone is fairly good at that. Next the engineer should know something about all the layers, a good deal about a layer of specialization, and even more about some niche within that specialty. But most engineers are good at turning the crank once a problem is defined; the talent that characterizes the best engineers is realizing what problems need to be solved.
After a few years out of school much of the knowledge an engineer applies will have been learned on the job, through continuous education, and just-in-time knowledge acquisition. His or her university education will have provided the fundamentals and core principles of engineering – whatever they are. I’m not so sure anymore.