"A New Breed of Engineer"
A New Breed of Engineer
On and off, during the years, there have been some complaints on the quality of education for the new EE graduates. Our experience over the past 30 odd years has been generally positive, with the exception of universities dropping the circuit design courses as a requirement during the mid 1990s. Recently Ed Lee from UC Berkeley, and some other professors have been talking about a new, and we believe extremely important, engineering curriculum for embedded designers. Actually what we are seeing is the need for an engineering curriculum for an entirely new breed of engineer.
Daya Nadamuni and I stumbled across this new engineer in 2002, when Daya found a strange result from her yearly Embedded Survey. One of the questions was meant to track the movement from assembly language to C for the embedded engineering community. In 2002 the trend seemed to be moving from C to assembly language, completely backward from what we had been seeing in previous years. As we do when we see an anomaly, we got on the phone and started calling the embedded engineers that had switched back to assembly language. On the fifth phone call we got the answer that has changed the direction of much of our research every since. During the first four calls we got the expected answers of more control over the code, faster execution, etc. But the fifth engineer simply said that it was faster to code in assembly than to code in C. After some digging we discovered that what he was saying was that jury-rigging C, a sequential language, to do a concurrent job was more time consuming than writing assembly code. This was our introduction to the parallel programming problem. (For an in-depth discussion of parallel programming, please see "Pain and Parallel Programming", Gary Smith EDA, Inc., January 2008.)
A couple of years later we found that these programmers had started calling themselves software engineers. Actually it wasn’t just the embedded engineers that were struggling with the multi-core SoC challenge; it was also the software architects that were struggling with the shift from Von Neumann computing to the world of parallel computing. They all were doing their best to separate themselves from the world of sequential programming.
Unfortunately this concurrent software challenge has caught us by surprise. The good news is that the research community has shifted into high gear and we are rapidly making progress in developing the new concurrent software infrastructure. Still we have a long way to go. (For an in-depth discussion of ESL from a software point of view, please see "ESL – The Software Story" by Daya Nadamuni, Gary Smith EDA, Inc., January 2008.) The ITRS Design TWIG has predicted that we must have at least the rudimentary concurrent tools, and possibly a new language, ready by 2013 or the cost of design will have a significant impact on the continuation of Moore’s Law; which brings us back to the new curriculum. The students that are just entering the universities are the engineers that will be graduating in 2013. We highly recommend that the development of the new curriculum be placed in high gear. We urgently need to educate this new breed of engineer for the concurrent software requirements we are seeing today.