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?"
I've done commercial projects of such a nature myself, with only a tiny bit of formal training. Such things are trivially within the grasp of a 2-year degree holder with appropriate training.
GStreamer - The only way to stream!
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?
There's a lot of IC development done here in north america (and even here in vancouver). Admitidly a lot of the fabrication and rest is done overseas for cost and to be honest, poor environmental regulations. Chips are quite a concoction of nasty shit.
For some reason lots of people also forget fpga development. At SFU we got into FPGA and ISA/PCI design in our second year (although not anymore since they started babying the curriculum to "double the opportunity"). We still do our VLSI class in 4th year though. Desinging chips is a lot more than merely designing logic.
----
Go canucks, habs, and sens!
I think we mean different things by "embedded"...
You mean an ETX card with an x86 running at 100s of MHz, I mean an 8 or 16 bit microcontroller with 16k of flash and 4k of RAM in it.
Here in Oz, at least, MCU code is far more likely to be written by an electronics engineer than a programmer. Mind you, the same engineer probably designed the circuit, built the prototype, wrote the documentation, wrote the Windows interface software, designed the case, swept the floor, cleaned the toilet...
here's thoughts:
1) companies advertise for 4 year engineers and higher, they simply don't see the need to advertise for 2 year certificate level applicants. you need to train your people in networking to get around that. also provide placement service.
2) microcontroller work is good experience, and there is a lot out there, but my company works with SOAC - system on a chip - level embedded systems. these are complete, very high performance, large computer systems targeted to DSP applications, in my case video compression. it is far more sophisticated than a microcontroller system. yet the skills of working with software to controll interrupt controlled on chip I/O devices are the key.
3) hardware design is handled by highly skilled designers who are working with GHz signals and very high density components. the need for 2 year level applicants is in software.
4) it will be crucial for your 2 year level applicants to be well versed in the basic vocabulary of Computer Science (data structures and algorithms) and well experienced in embedded software. as far as I am concerned, experience designing hardware around a microcontroller is excellent way to increase software savy.
all in all, I don't think the hardware experience is the sell, except insofar as it bolsters the software skills.