My biggest source of non-spam email comes from people asking how they, too, can become an embedded systems developer. So many, in fact, that I wrote an article about the subject (www.ganssle.com/startinges.pdf).
Lately, though, many of these requests have been tempered with questions about getting a master's degree. Correspondents want to know which universities have the best programs offering advanced diplomas in embedded systems development.
So I went through all of the recruiting ads that have come across my desk in the last year to see how many require anything more than a bachelor's degree. The number:
Interestingly, every ad, without exception, does require a BSEE, CS, or CE. The olden days when highly skilled but degree-less engineers could prosper are long gone. All also require at least three years experience. Have the entry-level jobs gone overseas?
Why are so many prospective engineers pursuing their master's? Could it be a love of learning without regard for job prospects?
Over the last few months I've visited a number of schools with my son, who will be off to college next year. Though I was dying to get out of the educational system when a student oh-so-long ago, these visits left me dying to get back in. The thought of being a professional student, not trying for a particular degree, studying physics, astronomy, philosophy, and more is really exciting. Bummer about having to make a living. But it's easy to understand why someone would stay in school just out of love of learning.
Perhaps some of these MS candidates are hiding out in college for a couple of extra years to safely stay away from the real world?
I've advised several universities about their embedded systems curricula and understand how difficult it is to stuff so much learning about this ever-more-complex engineering world into four or five years. My list of courses needed to prepare a student for this career comprises 150 or more credits, far too much for a BS degree. So a masters looks, on paper, like an attractive solution.
But companies don't care. Wave a bachelor's sheepskin and the HR people will open the door. It's unlikely, especially for people who have already worked in the industry, that an interviewer will ask for any details of your coursework.
When I've hired engineers a master's degree impressed me only when it was in a different field. That showed some devotion to learning lots of things and suggested the candidate was broader than the typical EE.
No one knows if advanced degrees yield higher salaries. To my knowledge that simply has not been studied in the embedded systems industry. Even in the more general software field there's a dearth of data. Software Development magazine runs a yearly salary survey (www.sdmagazine.com, membership required) that doesn't correlate dollars to degrees. I suspect, though, that once working in the field for a few years a BS commands about the same salary as an MS.
So what is the argument for pursuing an advanced degree? Or for not advancing beyond a BS? What are your thoughts?
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He's conducting a seminar about building better firmware faster this month in Austin and Baltimore. Contact him at . His website is .
It is true that bachelor's degree is the minimum requirement. However, I have seen many ads which says “master's preferred”. Moreover, I have also heard/noticed that a master's with no experience is still taken as more experienced and mature as compared to a bachelor's with no experience.
– Jigisha Goswami
It's even worse than that. Not only don't companies care if you have a Master's degree, many aren't even interested in what you learned in a Bachelor's program. I'm still looking for a job where I can utilize more than a small fraction of what I learned in undergrad (not to mention that learned other sources – ESC, books, industry publications). Many places seem to want their engineers to just keep doing things the same way they always have.
– Jason Dougherty
The requirements could be just BS degree (enough, as Jack pointed out) but the MS is all about being on HR's list of “possibilities”. Also, if all the R&D staff has MS or PhD, the Embedded SE might as well have one – or better have one!
– Areef Moin
It is probably a function of the business cycle. Masters Degrees make up for the fact that there are no entry level jobs.
People are figuring, if you can't get a job you might as well go to school. And an advanced degree might help you get that first job.
– Jeff Geisler
I am from New Zealand. I got my degree a Masters in Science (physics/electronics) a few years ago because I believed I needed it in order to compete with people who had done an engineering degree (not offered at my local university at the time). I found that after graduating with just a Science degree I would meet the minimum requirements for embedded jobs I applied for, but was not the most qualified person applying, so did not get the jobs, (er… at least that's what they told me). I am moving to London soon and I have found that having “bits of paper” seems to be very important to get an interview there, and then your experience will help you to get the job.
– Tony McKay
“Conventional wisdom” dictates that an advanced degree means more money and job opportunities. It never would have occurred to me to doubt it. Thanks.
My bias is that good students keep going to school, and good engineers can't wait to get out. I've refined it to allow: Research=advanced degree, Development=bachelors.
I once saw a blurb describing the half-life of various engineering degrees. It was an attempt to quantify how rapidly new stuff makes your book learnin' obsolete. Civil engineers half-life was something like 7 years. EE degrees, 2 years. CS degrees, 6 months. With that logic, by the time you get your MSCS, your BS is old news… 'enuf
– Curt Daly
A BSEE MSCS combination makes for an ideal embedded engineer. I think companies don't advertise for that, because it's hard enough finding engineers with a single technical degree (instead of a math or physics major).
– Dave Fleck
I believe it depends on many things. I have talked to many HR-types and they tell me that getting an advanced degree has cache' only if it comes from a name-brand school.
Schools like MIT, UC Berkeley, and Cal Tech have this type of cache'. Lesser schools, I suppose, do not.
In general, I have found that most Masters degree and above, types usually wind up in the embedded firmware/networking arena…or anything that is pretty bleeding edge.
I have a Masters Degree from UC. Berkeley in Material Science, (not finished my PhD thesis category). Also, I have found that my Masters Degree has opened many doors and opportunities for me. But…I have had to make my own successes along the way, (consulting income, stock etc.)
I have been successfully consulting now for over 16+ years in the Silicon Valley.
– Ken Wada
I can't tell you much about embedded world but I suspect that this is not something very different when it comes to teamwork and software/solution development model. Adding the trend toward the more universal developer and it makes real difference in how much and when the person is trained. If the question is, should I continue with studies right after BS then I agree that it is more likely time for practice and skills. But then I can tell you that, after years as beginner you are supposed to do things for which you are not ready (you may still think you are). In current economy you supposed to work in extreme programming model, more and more behave like project manager and software designer and tester/maintainer and prepare presentations, offers for customers and so on. And after all you earn this $18000/y in Eastern Europe. But earnings are other story.
Maybe it is off-topic a bit but i think “when the person is trained” is quite important question. Look, it is quite common that one and the same sentence means different things for you in very current moment and after ten years. To be a bit more specific: it is hard to explain but at age 27-28 there is a break-point for person (at least for males). You do not think that you are 19 anymore. Yes, it is different in southern and northern countries. I can tell you about North only :). And I think – at age 27-28 – this is the time when one should consider the possiblity to start studies again. MS I mean. Then it goes into “right” place and it really helps to cope with this crazy world of speedy software development.
– Indrek Kruusa
I agree with you, Jack, that a Master's degree does not really matter when it comes to capability to solve a problem. A person with a BS degree who has experience from the field and LEARNT from it (the emphasis is important), can do it better or at least equally well.
– Sreenivasa Chary B.
I have a BSEE and a MS in Electrical and Computer Engineering. I worked in the field for a few years after I getting my BSEE before going back to college (in the evenings) to get my MS. A BSEE today is a very basic degree; i.e. quite broad in scope. I went back for the following reasons: I wanted to focus my study in a particular area (DSP and embedded system diagnostics), I got my employer to pay the tuition, and I thought it would give me an advantage in my career. I believe the last one is true, but no way I can say quantitatively.
– Greg W
People think they need an advance degree to get ahead. It will help, but they would be better served if they get a course in verbal skills. I've noted that people with verbal and yes its true, social skills, are the ones that become managers. Managers these days are not hired from selecting the best of the technical people. Rather, the people who can talk the talk the best get promoted, ie, talk up CMMI, configuration management, software life cycle, validation & verification, etc.
– Phil Gillaspy
Enjoyed the article, Jack.
I too have a son heading off to college in the fall. As you are probably aware, many schools are now offering “a 5-year master's program,” where you commit your intentions (and money) early in the program. Maybe the “requirement” to obtain that ME degree is more due to agressive advertising by the schools as opposed to being driven by any need from industry, or desire from the students.
I also want to respond to one comment that you made: “…a master's degree impressed me only when it was in a different field.” I have interviewed many engineers as well, and I would like to add that what impressed me was when an engineer obtained his master's degreee while working full-time. To me, this showed someone with determination and follow-through, and who could shift gears after the workday ended. It also removed those engineers from the category of students who stayed in school a few more years because it was simply fun (and Mom and Dad were picking up the tab).
– Rob Clemens
The students I've interviewed with MS degrees seem to fall into 1 of 2 categories. 1) They couldn't land a job after completing their BS so stayed around for an MS, or 2) Had a good financial incentive (scholarship, rich parents)to pursue an MS.
That said, I still encourage recent grads to get their MS as soon as possible. It really doesn't matter as to what discipline. Most employers (mine included) don't have the people to evaluate the merits or relevancy of the coursework taken. All they do is check off the “MS Degree” box. It gives them an easy way to distinguish new-hire candidates, and also an easy way to rank employees when it comes around to merit increaes or cutbacks.
– Steve Shimko
There are several reasons for getting advanced degree. First, whole of Europe is getting standardized to Diplom Engineer / Masters degree, which is 5 year full time study. You can do some search on “Bologna Process”. Second, in 20 years time Masters degree will be what is Bachelors degree today. Third, in most of the world you need to have Masters degree to enrol on PhD / Doctorate study. And PhD (at least) is a must if you want to teach at university or do serious research.
As for myself, I enrolled and completed my Masters degree part time, several years after graduation. It did help my career, but it was so hard to restart brain in “student mode”.
– Mladen Matosevic
I have a MS in mechanical engineering (1984) with a minor in systems. I don't think this degree directly added to my salary compensation. However, I regularly use the knowledge and methods I gained in graduate school when developing control algorithms. I feel this is what makes me a good embedded SW engineer and has contributed enormously to my success (and compensation).
– Jack Rosenbloom
I would like to address your comment “The olden days when highly skilled but degree-less engineers could prosper are long gone”. I am living proof that degree-less engineers are NOT long gone, although I do agree that we are a dying breed. My highest level of education is an Associates degree in Electronics, but I have risen through the ranks over the last 15 years to become a full blown embedded software engineer. I started as a technician and was promoted to a test equipment engineer for five years. When a software engineer position opened in my company, I was easily was hired based on my past performance. I currently have four years experience as an embedded software engineer and have had exceptional performance reviews every year. Not having a BS has had its toll on my career however. Career advancement is much more difficult now without the degree.
I totally agree with the saying “good students keep going to school, and good engineers can't wait to get out”. I am a proponent of on the job training because most new grads lack common sense engineering skills. Maybe we should have new BS grads become an apprentice for a year or so. A good engineer learns something new every day by reading trade magazines, data sheets, attending seminars, talking with seasoned engineers, etc. When we stop learning, we need to change our career!
– Rick P
A while ago I was looking through college brochures with my step-son as he was considering what he wanted to do with his life going forward. I asked him what kind of work was interesting to him. His answer: “Who makes the most money?”. He also implied that he was looking for the least amount of academic investment. And that's the way many of our young people are these days. They see dollar signs, not a passion for the line of work.
As a manager for development of several embedded and real-time products, I primarily look for talent and skill when hiring new employees. There are plenty of degreed “wannabe engineers” who could not engineer themselves out of a wet paper bag. Candidates having a BS, MS or PhD have little value to me if they cannot explain the underlying concepts of embedded and real-time development and why it is different than other types of development. When interviewing for embedded/real-time developers, I look for in-depth understanding and a sort of unmeasureable “knack” for that type of work that comes from the love of doing it. Candidates must have a macro view of the overall development concepts, as well as a micro view of the specifics that can only come from a deep interest in the subject.
Degrees (collectively) only open the door – from that point the individual must have a strong interest and real-world knowledge appropriate for the level of the position. For candidates fresh out of college, regardless of degree, I look for those who had work/study programs or who served internships with companies doing actual embedded/real-time product development. Theorectical experimentation in a backroom lab to support a thesis does not count for much in real-world product development circles.
– Chuck B
I might go a bit further on the subject of Master's Degrees. By the way, I have one in Computer Science.
Getting a Master's Degree will NOT better prepare anyone for embedded development work. As a matter of fact, when pursuing an advanced degree, the subject matter will become more theoretical and esoteric. Typically, the practical things that are needed for embedded development work are not taught in a Master's program
– Bill Sasina
First, I think you've made some very good observations in your column. I'm a team lead over 6-8 engineers on two continents. I've had a difficult time filling positions (generally backfilling, not growing). It's been difficult to convince my manager to consider recent graduates — regardless of degree — as if the first job necessarily teaches a young engineer what he (or she) needs to know. As you noted, the entry level positions seem to have gone away, despite the fact that a new graduate is probably the cheapest qualified engineer you'd find on this continent. If the Master's Degree gets youngsters back through the HR door, that would explain a lot.
I graduated in 1987 — bad timing as I hit a business downturn. A guaranteed job dried up and there wasn't much available. However, I'd been a lab assistant for two years and had been teaching a freshman-level programming course for one year. Staying on for a graduate degree seemed an economically sensible idea… better than working in fast-food at least. Of course, I did have a change of life — my undergraduate major was a EE/CS hybrid — as I joined a department in Civil Engineering for my graduate work, specializing in operations research (shortest path, traveling salesman, you know — the fun optimization problems). That experience was far more useful to me than my first job (with a start-up) or even my second (with an established, successful company). Was it the course work? No. Certainly the courses I took were interesting and I gained knowledge that has been useful on occasion. It's all of the other aspects of the experience that provided the value.
So what did I learn?
My teaching responsibilities forced me to become more precise with my explanations of theory and practice. I began to learn how to adapt my presentation to the audience.
Working on funding requests, reports, presentations, and the like exposed me to the business aspects of engineering in a way a first job would not.
Working with a small team of engineers developing solutions for our research introduced me to the challenges of team dynamics. Unlike a first job, though, I was a full partner in the project, not relatively cheap labor.
My major professor taught me more about effective management in a rapid development environment than I could have learned in years. He believed strongly in empowerment — in a staff meeting, after hearing reports on our issues, he trusted each of us enough to say “Spend this afternoon studying the alternatives. Whatever you feel is the best solution at 4:00 is our decision.”
Completing my thesis taught me how to present my work in an effective manner. Defending that thesis required me to extrapolate from my work and knowledge to speculate on topics beyond the bounds of that presentation.
When I completed my Master's Degree 18 months later, I feel I had the equivalent of three to five years of field experience. I felt I was more prepared than my peers to act as a lead designer, to plan execution of challenging projects, and to present my ideas — in short, to be a better engineer.
If you asked me now if a candidate with an advanced degree was a better candidate, I'd tell you that it depends on the person, not the degree. If a student chooses to continue towards a Master's Degree just to take additional classes they're gaining little. If they use the experience to become more than the sum of their coursework, there's value. I'd consider any candidate with co-op or internship experience in the same respect.
– Paul Kurmas (Purdue University, BSE '87, MSE '88)
When I applied to grad schools in the late 80's one of the grad engineering schools mentioned something like: A BS prepares you for the present, an MS prepares you for the future, & a PhD allows you to create the future. I think that this still applies, there are times I wished I went through with a PhD but there is always “lifetime learning”.
– John M.
I wish in my youth that I would have realized the importance of getting my BS instead of opting out for the “get to the money faster” path of just an AS, but then, I didn't plan to end up designing embedded systems and writing code for the last 20 years. The BS would have given me the walking papers I need today when applying for jobs. The level of your degree has always seemed to be a screening tool for the HR guy. Unfortunately, in the ad's I see in the Mid-West (USA), this requirement is moving from the BS to the MS level. It may be because of the recent changes in the job market (layoffs, off-shore engineering, etc…). I'm sure this helps the HR guy to weed through the ton of rsum's he has received for a job with entry-level skill requirements and wages. Over the years, I have interviewed many engineers and what impressed me the most has always been the applicants specific knowledge and ability to simply perform the “job at hand”. Because of my background, I was never a big “degree” guy. My experience has shown me that in most cases, the general studies and courses you took in college to get your degree probably did not prepare you for the job at hand. Hopefully, what you were able to learn in school was how to solve problems. It frustrates me to see ad's asking for MS's when the emphasis should really be on whether the applicant has the experience, knowledge and skills to simply “do the job”. Finding the best applicant for the job takes some effort.
– J Bump
Going to school for a MS degree is not completely about increasing salary. It's about being exposed to new ideas, learning about new fields and skills that I would never have the opportunity to explore otherwise. I believe it improves my critical thinking capabilities and strengthens my skill level in different ways that any career at a company can do. Although I enjoy the embedded field, I plan on using my experiences here in other fields.
I believe that passion in any field will result in success. If you define success as a high salary then going to school for an advanced degree does not guarantee this nor going to college in general. I have heard similar arguments against getting a BS degree usually made by people who don't have BS degrees and did not go to college. Ultimately, getting any degree of any type can not necessarily guarantee you a higher salary – it is how you use your knowledge that will ultimately define your salary and success. A higher degree is a method to obtain knowledge and it is up to the individual to use is wisely.
– Anna Demirgian
From my experience working as an embedded SW engineer for the last 10 years or so, with a BSEE and MSEE, is that the MSEE did help as far as getting my resume noticed by hiring managers. But, the most valuable asset to my career has been the work experience I have gained over the years. I work as a contractor for various firms and have made it a point to continue to learn on the job and off. It is very important to stay current in your field to keep yourself valuable to your employer.
So what's my point?
No matter if you have a BS or MS, we must continue to learn and develop our skills if we want to keep our options open for a satisfying career. We live in a world of a knowledge economy, where knowledge is power.
– Mark Murphy
I was once accused of running from the real world by getting a masters. In the broad sense, you are are right that a masters is not needed. And I know people that see it as drawback, some of whom are employers. But Crenshaw just did a column saying that there is a difference in knowing and KNOWING- and a masters is a huge help there. It took at least 10 years before industry began doing some of the things I studied for my masters, showing how this can help keep you relevant. My masters is a huge help in my technical depth and career, and I don't understand the anti-masters bias. Some kind of perceived elitism? The inverse can be true, but there are too many bachelors-only to be persecuted! I have no problem with only4 years, but 5 is still a plus.
– Ed Reese
After I finished my BSEE, I was planning on getting a Masters and aPhD. I believed that school was the only place to learn.
The summer after I completed my BSEE, I took a part time job at alocal high tech company, thanks to my best friend's father. Over thesummer I learned more than in 4 years of school.
When I went back for my Masters, it was like the faculty had becomestupid over the summer. Even the best teachers from my undergrad wereslow-witted compared to who I had become.
I continued working and went to school part time. By the time Ifinished my coursework I was completely disenchanted.
The final straw was when my thesis advisor wouldn't allow me to usethe minicomputer on weekends or evenings. I was using much moreexpensive equipment on a regular basis at work, but needed the drumscanner for my thesis.
I said goodbye to school with no regrets.
Twenty years later I am much better than I was in 1982. I can'timagine how frustrated the university experience would be now.
– John Davies
It is very common question: does a particular degree command a higher salary?
Maybe it does not, but is that the right question? A better question is: does a particular degree give you skills that you can use in a job?
Maybe the HR people don't pay that much attention to your skills, but in the long run, you will be judged on your ability to get the job done, and that is where the value of your education becomes apparent.
If you based your career decisions on what would be rewarded with more salary, then I don't see any reason to attend seminars or read articles in the EE Times, or anything else that would improve your skills.
– Carl Spearow
Phooey! I have not seen any difference between engineers with advanceddegrees and those without. On the contrary, candidates who went directly tograd school without ever working are even more difficult to bring into thereality of a product producing business than those with only undergraduatedegrees. For that matter, not sure what use those undergraduate degrees areeither. Its becoming increasingly difficult to find BS candidates fluent in”C” who also have good problem solving skills. I try to stick to candidateswho have the word “engineering” in their degree and might actually have(gasp) touched some hardware.
– Nancy L. Blair
I got my first engineering job with a BSCS in '86. At the time I didn't even know that what I was interested in was called “embedded systems”. I decided to get my MSCS because:
1 – I needed to plug some holes in my course work to cover low level code.
2 – The company paid for it.
3 – I got an automatic salary bump for having the piece of paper.
I went through the Johns Hopkins part-time program (non-thesis) evenings and weekends for three years (wife, kids, mortgage). I graduated in '92. At the time, they had an excellent set of courses on small-computer architecture & operating systems. Those course are where I learned the basics of embedded systems. They involved bread-boarding circuits to the bus of an IBM AT PC and writing PC programs to control the whole mess. It involved some late nights but I learned a ton. I just checked their course list and the same courses now require knowledge of Unix and Java.
– Mike Gilbert
The question of whether or not a Masters is better than a BS in the embedded software field depends alot on what you're doing or intend to do. If you're involved in developing state of the art DSP algorithms for application X for example, then a MSEE would be appropriate if not necessary. However if you're writing a UART driver for a 8-bit microprocessor, then a MS is clearly over-kill and a BS would do just fine.
Most students are going for masters becausethey cannot find jobs. So working on a mastersgives them something to do until job marketimproves, and they probably think a masters willimprove their situation. Does a masters really help?It may if you hook up with some professorswith a network you can tap into for job prospectsor if you can get some experience workingfor professor doing R&D in a hot area(e.g. VOIP, UWB). Also a MS from big name schoolswill help (e.g. MIT, Stanford) since bigcompanies like HP and IBM always need goodcheap labor. An MS may be required formiddle management positions also, although newbiesout of school won't get those jobs.
There is still pretty good demand for”experienced” embedded guys in USA but onlyfor experienced guys and especially those withlinux experience. The migration to linux, and thehuge conversion to digital everything foraudio/video has really helped embedded guysduring the downturn (if you kept your skillsup to date).
A friend of mine from Hong Kong spent a yeardoing engineering managment in Taiwan. He sayslot of embedded jobs are going overseas to Indiaand Taiwan but they lack experienced softwarepeople (especially in China and Taiwan because ofthe language barrier). So they are cranking out a lotof new grads but they are still desperate for experiencedsoftware people. They have experienced ASIC guysthough. However, after a few more years these newbies willprobably have acquired enough experience and thenyou may see even more jobs go overseas. There couldbe enough embedded product development workto offset that and keep everybody employed butyou never know …
– Earl Mitchell
I have a M.Sc. in computer science, and have worked in the embedded field for over 20 years. I found that those extra courses & theses for the master's degree gave me additional depth, which is still coming in useful after all these years.
The department head early on in my bachelor