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?"
No. Actually the microprocessor or controller design business has at least a 20 years to survive according to Gordon Moore's projection (Google Moore's Law) and ITRS(http://public.itrs.net) projections. This is true for technology level designers too. You are probably mistaken by the fact that large companies do not seek only 4-year graduates. You must try Intel; TI, IBM or etc. You will see that the business still needs lots of people. I heard that there are 2 year technology graduates in TI from a friend who conducted an internship there. Don~t get discouraged it is just customary for them to put it that way. There are lots of opportunities for technology graduates in the industry. The thing is you should try big companies.
There's plenty of room at the bottom! Richard P. Feynmann
Based on your description are you thinking of jobs designing boards using micro-controllers right?
In this case, I would say try small companies that deals things such as military, medical or even elevator manufacturing.
However, if you are talking about designing chips, as a 2 year degree, you are better off teaching mask design. This is because it doesn't require a lot of training other then tedious work. Currently Intel, AMD, or even Via just to name a few will hire people with mask design expirence. However, be aware that these jobs will require you to work like there is no tomorrow and the turn over rate is high. I know some mask design engineers would rather work as a tech with hourly pay. The pay is quite good, but the hours are insaine and the work is borning.
Firstly, you're looking in exactly the wrong order. If you were looking for a research assistant, would you ask a student you know, or would you put an ad in the local college paper? Hopefully, you'd choose a student you know. You have a good idea of who they are, their work ethic, etc. And you won't have to somehow sort through the flood of applications you'd receive in a newspaper posting. So a newspaper is exactly the last place to look for most jobs, unless the employer is hoping to find the cheapest among several qualified applicatants. I don't believe Intel actually places ads in papers; some places prefer that you take interest in their company and seek them out instead. If you want to match your cirriculum to employers needs, I'd hope your "institute" has a few industry connections, since this is often a good avenue to your students actually getting a job. These are the people you need to talk to.
Secondly, 2 years training to design microprocessors? What exactly would they be doing, that only takes two years to go from high school education, to mastered enough to be productive? Programming microcontroller devices, maybe. Designing them in today's market takes a knowledge of what's been done in the past, and ways one might improve them. The industry is simply too competitive to accept the kinds of mistakes and inefficiencies a novice would make when multiplied by a large scale production run. A 4 year degree is a good start, nothing more. Many of the largest chip design places have internal education to address academic cirriculum shortcomings. These would also be good people to talk to.
Finally, what do you think qualifies as a distinction between a microcontroller and an embedded system? I'd say not much. 386's are being used more often now, in places where DOS or Linux can do far more than a PIC traditionally does. And if you're seeing so many postings for embedded systems, remember that a number of these projects are likely for US military applications, and non-US citizens, like Canadians, are usually unemployable in that field as a security precaution. If this still seems fruitful, why not adjust your cirriculum to match the demand you see right now?
I Browse at +4 Flamebait
Open Source Sysadmin
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...
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"
To do micro controller work, you need to know EVERYTHING from how to create thread-safe stuff with no memory management to how to implement mathematical functions found in second/third year of a maths degree with UNSIGNED arithmetic. You need to know how hardware behaves when its faulty, and you need to know whether the compiler is faulty or the hardware, or your code is defective - and get it RIGHT.
And in most cases you probably need good client facing skills, the ability to work bizarre hours, and a willingness to put up with shitty conditions of employment.
The reward for all this is the chance to laugh at those better dressed and housed than you, in their posh cars with their trophy wives, knowing that its thanks to you their engine management system has left them stranded on the highway in a $60,000 car!
Sent from my ASR33 using ASCII
There are basically three categories of microprocessor design. And armed with an electronic degree, one can decide which area to focus on:
1. CUSTOM BOARD INTEGRATOR
3. PROGRAMMERS (both HW and Software)
3. THE MICROPROCESSOR DESIGNER
All areas entail different stages (and thus different skills). They basically cover requirements, designs, coding, integration, testing and maintenance. It is entirely possible to have a lifelong career in just within one of those stages, particularly test and maintenance.
Even so, each area utilize different skill sets.
1. Lowest man on the totem pole (but still well-paid) is the custom board integrator. Involves research and selection of hardware components using interchangeable interfaces (i.e., PCI, PCI-X, LVDS, Rocket I/O, VME and lesser known interfaces such as USB, Firewire, Parallel and serial). Testing of each HW components (not to get bad capacitors) are a non-trivial effort. Most low-budget company skimp these component testings. Nevertheless, it entails buildup around THE microprocessor.
2. Midway is the programmer. VHDL, Synoptic and many other custom hardware programming languages which tends to be chipset-specific. Bulk of the job market are in this category.
3. The elite is THE microprocessor designer. Intel, AMD, IBM, Motorola, Hitachi, Fujitsu, Xilinx and many others make uses of M-Designers. Most of them tend to be cultivated from within each company. Much research material have to be digested and assimulated to be able to design one of today's complexity. Best and easiest break into this arena is startup company, successful or not.
I suggest, for a startup university department, you shoot for #2 as the majority of your curriculums. This ensures that these skill-sets are transportable to either #1 or #3, depending on how good they grasp the elementary logics.
[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!
I'm a recent college grad and I took the embedded course they offered here as my main design course. We worked with Atmel AT91 (ARM) using eCos as the embedded OS. In the course we not only worked on the microprocessor architecture, but also interfaced it with hardware that we designed and built ourselves (not just your run of the mill "read the ambient temperature and do something about it" projects, but stuff like building signal boosters, RF controllers, ethernet controllers, etc). Needless to say, it was a fairly taxing course. I really enjoyed the class and took a lot out of it so much that I decided to make it my career path. Companies that I have interviewed with loved the experience I got out of the course saying most other candidates having taken some embedded course never go as far as making the onboard LEDs blink in some special pattern or displaying text on an LCD. The issue I found with looking for the right embedded job was it seemed like being proficient in design was merely a secondary qualification. Most companies working with embedded systems expect candidates to be specialized, if not at least familiar, with specific technologies. Look at Motorola's job postings. They not only expect some embedded experience, but also experience with stuff like TDMI, RF, or sometimes even TCP/IP. Unfortunately I didn't land my ideal embedded systems design job. In fact, the company I now work with hired me because of my embedded experience, but the system they're using that was embedded-based is being converted to be run from a full-scale computer system. I can't say for sure whether or not companies are moving away from microprocessors, but as with any industry, demands for certain resources (in this case, processing power/capability) are increasing. Microprocessors may one day not be sufficient for large-scale projects.
I'm general manager for an embedded design house.
:)
Dead? What? In a day and age when everything around you has a uC of some sort in it? Now are a lot of those consumer products being designed in Elbonia? Of course, but still, there's a lot going on. This year I've worked on projects using small (say PIC like) microcontrollers in:
house arrest system
sports watch
in store kiosk (touch screen controller, the brain of the kiosk is an embedded x86 running Linux)
cargo container status device
Of course we've also used embedded x86/pentium class machines, ARM, Coldfire...
There are huge volumes of microcontrollers shipped from 4-bit (just like those obsolete mainframes making obsolete money for obsolete banks) to 32-bit and up. Not to mention DSPs. But I think the days of super simple designs, say replacing a mechanical timer on a washer, are long gone. Sure you may be replacing a mechanical timer, but you've got to understand so much more, like being able to run on nanowatts or making the device intrinsically safe.
Unless somebody has a lot of talent and a lot of experience, we hire the two-year types as bench techs. Four years for an engineering position. Things are so fast and competitive that the engineer also has to be something of a project manager. A strong understanding of hardware, firmware, and software is important. Yes, I think there's a huge difference between the mindset needed to write good firmware and good software. To write good firmware you've got to understand what's going on in the hardware. Plus you've got to be able to understand that yes sir it is indeed possible to toggle a single bit without doing an operation on a whole register!
The people who claim "ah, it's dying because for only a few dollars/cents/credits more you can have a whole embedded super-whoopAMDIntelMot128bit blah blah" don't understand capitalism. 1) if it costs more, um, it costs more, and somebody will do it cheaper, this we call competition, and blast it whether or not Adam Smith is right it happens, and 2) if I want to monitor a real world event or spin a motor or some such I can do it with a PIC/AVR/8051 faster than you can get your makefile working right just the core of your OS. Time is money, at least in my business. The right tool for the job. And sometimes a $0.35 PIC is the right tool. But because of the competition and current needs in the field, the project that $0.35 PIC goes in to probably needs to be designed by someone with more than two years of tech school. The code may be easy, but understanding enough about battery chemistry, thermal concerns, and other deeper issues means that making the whole thing run for three years from one set of batteries while on a ship somewhere in the Pacific...you see what I mean, it's no longer just "hey designer write some code to spin a motor".
It seems that a lot of what we do are projects that are either "extreme" one way or another -- environmental, regulatory, power/life requirements -- or are a small piece of a much larger and more complex system. Again, something that requires a higher level of thought and understanding.
We've seen more and more applications for the smaller and cheaper super tiny 6 and 8 pin micros. It's absolutely mindboggling how many places these things end up, and low margin but high volume works. Moore's law not only means more transistors on the same amount of real estate...it also means you can get the same number of transistors as you did before for much much cheaper.
I'm currently seeking for that kind of job.
What I've seen, is that the circle of embedded coder/designer is small. So if you are a new graduate, there will be a lot of senior ppl wanting to get the same job than you. So you never can start :-/ or you have to find the place where the senior was working. There is plenty of good jobs, but need to find'em, because the don't get posted on jobs website for long.
I'm from montreal if you look for a microcontroller designer/coder! I'm interested!
-I'm an ing.jr.