Is Microprocessor/Controller Design Dead?
blanchae asks: "I work for a Canadian post-secondary institute and I have been scouring the web job sites, newspapers and newsgroups for career adds for microprocessor/controller based electronic designers at the technology level (2 years training). We are re-evaluating our curriculum and are looking at the job market as one way of warranting specialization training to existing programs. There's lots of career adds for embedded controller designers with University degrees but not a thing for technology level microprocessor/controller design. It is very puzzling. So the question is: Is microprocessor/controller design dead? Has it moved offshore? Is it off the radar and mainly in small upstart companies (5 to 25 employees) that hire word of mouth and not through the big corporate media methods?"
Maybe it's only mostly dead. Remember, there's a big difference between mostly dead and all dead. Mostly dead is slightly alive. With all dead, well, there's only one thing you can do....
Don't you think 2 years is perhaps not enough time to have someone be competent at something as complex as microcontroller design? A 2-year degree is generally associated with technicians/technologists that are not hired for design work.
just far too hard for anyone with a two year degree (and for most people with bachelors degrees)
At the bare minimum, to be able design even a relatively simple chip you need the following classes:
1.5 years physics (mechanics, em/wave, and quantum)
3 years math (calc 1, calc 2, multivariable calc, diff eq, linear algebra, stats)
3 years electronics (intro to electronics, digital logic, basic design i.e. intro to hdl, analog signal processing, solid state devices, advanced design) 1 year CS (CSI/II)
Anyone capable of covering that much material, in addition to general school requirements, in two years destroyed their college admission exams and already has a good scholarship to a 4 year school (where they can get the degree in 2 years if they really want).
This is indeed most puzzling. If this was an American school, they would hire a big money consultant to conduct a year long study on the practical options. The consultant himself, however, would turn to Slashdot after being on the beach for nearly a year and write up the report the day before it's due.
In response to other postings, we do have industry contacts but you must appreciate that when an educational institute comes knocking asking for information, the priority on answering is way down on the list of things to do like emptying the garbage can...
I agree that word of mouth is a common method of finding suitable employees and that's what I did when I was looking to hire employees when I was in industry. The issue is how to track the "word of mouth" career offerings?
Slashdot is on the pulse of technology and seems like a quick and dirty method of acquiring data. How much value is put on the data is dependant on the quality and quantity.
It's only one method of acquiring data. Slashdot is a forum for geeks, many of which play with microprocessors. Who better to ask? I didn't say what I would do with the feedback...
It's not dofficult to work out what happened. I started out in this career path long ago, straight out of high school. Back then, I was designing Z-80 based computer systems... Later, I went on to MCS-48 and MCS-51 based designs as well as flirting with x86 and 68xx(x) architectures at times.
I was pretty good at it. My success ratio exceeded 90% throughout my career. And I was a one-man engineering lab... From design (including PLDs) through fabrication, prototyping and production following successful prototyping. Many of my successful projects were valued in the millions of dollars to the companies I worked for, back in the 80's.
But there's not many people with those sort of skills, so over time, employers couldn't get the skills cheaply and stopped advertising for those people. They turned to PCs to perform jobs that would normally be performed on micro's or found other ways to do things. Most design work became an offshoot to inhouse production teams and never really became a critical business component.
And when someone did have an engineer with those skills, they tended to undervalue them. I worked for many employers as a part of their churn. I replaced a cheap engineer and they weren't prepared to pay extra for the skills I brought to the position. Not all employers can see the value of someone who can design a modem out of three 20pin PALs or produce an engine management unit if all they want is someone to design their latest pinpad.
The lack of people who could cut perfect code in assembly language and manually route circuits more efficiently than the auto-routing algorythms of the day became less important as circuit design apps got better and processors got fast enough that high level languages could be used instead of low level languages.
So more people came in to the industry, but lacked the skills. Employers worked around it by asking less of them, but that diluted the products and so in turn diluted the value of such engineers to their employers.
Universities and technical education centres simply couldn't produce the skills in people coming up. This further diluted the available skills resources.
And no matter that you can get away with this 95% of the time, the other 5% of the time, you need the low-level skills. Otherwise your success ratio tend to drop below 50%.
It got to the point where the average wage earner made around $40K per year, and Electronic Engineers in my city (Major capital city) would average about $35K.
So I usually left after a while, chasing salary increases with other companies, when the ones I worked for didn't want to pay.. Until one day I realised I could make more for my family just by doing basic low-level tech work as a PC assembler. So I threw away my old skills and became another tech on the production line.
Everyone else I knew - people who designed their own home PCs from the chips up only ten years earlier did the same... they became miners, postmen, builders. The work was less stressful, less hours and paid better. Some stayed. The lucky ones found companies that looked after them. It was rare.
But now with only the diluted skills left in the marketplace, employers had a problem. I would speak to old employers who seemed suprised that their new projects were failing and no engineers were left. They wondered why it took a 386 processor and six weeks of C development to develop and debug a replacement to a keypad that cost $300 per unit to make that replaced one I designed for them from concept to prototype using $30 of parts with an MCS51 just six years earlier.
So Business got out of that industry also. No engineering skills means it's not viable business. So they got into PC software development or similar related industries and just dropped that line of revenue from their business model.
So, No new low-level skills, No engineers with the skills available to fix the problem and no positions because companies let this source of revenue die out.
And the industry disappeared.
Enjoy science fiction? "Turing Evolved" - AI, Mecha, Androids and rail-gun battles. What more could you want?
I licked quite a bit of the microcontroller-based embedded design, and from what I saw, only amateurs, and only most clueless of them use separate processor and controller. In the past it was making sense. Nowadays the market is saturated with microcontrollers that carry enormous amounts of extra hardware on chip and a hour with soldering iron spent on including a dedicated controller chip in the project can be easily avoided by a hour of browsing the catalogues for derivative that has that controller on-chip. Price increases are often negligible. Speeds are amazing.
5 : 75MHz 64M addressable, ethernet, 1w, spi, CAN, 3x RS232, 8x bidi 8-bit GPIO, IP stack plus UDP, TCP, DHCP, ICMP, TFTP, IGMP in ROM, Wake-On-Lan, watchdog, clocks, and God knows what more.
www.fairchildsemi.com/products/micro/ - SOIC-8 package, the size of an optocoupler - 8 pins, thingy would fit on the nail of your pinky, whole, with surface-mount pins. 64 bytes of RAM, 1-2K of program eprom, 64 bytes of data eprom, clocks, power monitoring, wake-up on any pin, 6 GPIO lines, eeprom writing, watchdog, serial output generator, sleep mode, idle mode, oscillator, and quite a few other goodies.
On the other end of the scale: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/453
Add to that DSPs which are quite specific but achieve speeds higher than newest pentiums and athlons in their tasks (and often carry some "extra", add PC for heavyweight number-crunching and user interaction and you see:
Controllers are dead. Microcontroller is way better because it allows for just the same on the hardware side, while vastly simplifying the interface side. With your current knowledge you should catch up and learn microcontroller-based design pretty fast.
Anagram("United States of America") == "Dine out, taste a Mac, fries"
[finally, something on Slashdot that I can comment intelligently about]
I work for a small (6 EE, 10 ME, 20 Industrial designers) design firm. Small and large companies come to us for all kinds of design work, some of it is development or improvement of EE designs.
We're always doing some sort of microprocessor/controller design, as well as CPLD and FPGA programmable logic. Pretty much every job we do incorporates one or more micros. In the past three years, I've used PICs, TI's MSP430, Freescales MC9S12, Atmels and probably a couple more. Development is done on PCs, running something like a Metroworks IDE. Sometimes we use an embedded OS like uCos, sometimes not.
At least from where I sit, microprocessors are still very much relevant. I'm currently working on an embedded controller for a mechanical system -- two motors, limit switches, temperature sensors and two serial communication ports to other controllers not built by us. There's analog and digital interface design, the micro is a Freescale 9S12, power supply regulators and more. Lots of fun!