Slashdot Mirror


Career Path for Embedded Software Developers?

timmgrant asks: "Inspired by a love of technology I have always wanted to develop embedded software for consumer electronics. I have just finished a computer science degree and have now been looking for work in that industry but it seems that every job in this field requires previous professional experience in embedded programming. For those that have made it into this field (or any other specialised field) what path did you take? What steps do you propose would take me closer to my ultimate goal?"

6 of 39 comments (clear)

  1. be modest by jilles · · Score: 4, Informative

    No sane software architect is going to unleash a fresh college graduate on his multi million dollars worth of software. Expect to do relatively uninteresting work like e.g. testing for a while if you are hired by a company doing embedded systems development.

    Only when you prove your skills internally will they let you do some more interesting work. Also keep in mind that for the more cool kinds of jobs in companies doing embedded development there is quite a bit of competition internally. Nobody wants to do testing forever and the more experienced people usually end up getting the more interesting jobs simply because they are better at it and know the system better (it typically takes years to master even modestly sized systems).

    --

    Jilles
  2. Embedded Systems by Detritus · · Score: 5, Informative

    You need more than a CS degree. Can you read schematics, use test equipment, fix/modify hardware?

    --
    Mea navis aericumbens anguillis abundat
    1. Re:Embedded Systems by Chelloveck · · Score: 3, Informative

      Agreed. Although in my experience about 2/3rds of embedded programmers have EE degrees and 1/3rd have CS degrees. So it's not quite as dismal as it may sound for a BSCS.

      And there are embedded companies which recruit and hire new graduates. Usually this is done at on-campus job fairs. New grad jobs are rarely advertised. They don't need to be; there's always a stack of fresh resumes to wade through. The only jobs advertised are the hard-to-fill positions that actually need a lot of experience and a proven track record.

      Go to job fairs. Mass-mail your resume out to the big guys, and go out of your way to find smaller companies. Be active in some sort of embedded side-project, and make sure to talk that up. When I'm interviewing I love to see that the candidate likes this stuff well enough to do it in the off-hours.

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
  3. Co-Op or Internship by Phaid · · Score: 5, Informative

    Can't say it enough, working in your chosen field during college gives you a huge advantage in this regard. I work in embedded development, and my work experience during school was invaluable in jumpstarting my professional career.

    During my junior and senior years, I worked at a laser printer manufacturer, maintaining and upgrading code for older products. It wasn't super glamorous, but I also wasn't just getting coffee for people, and I learned more in that year and a half than I did in the entire rest of my academic career.

    After graduation, I had no trouble getting exactly the kind of work I wanted. I went to work on transportation projects at a major defense contractor for a few years, went back into the printer industry for a few years after that, and am now a senior engineer at a consulting firm working on several traffic management and wireless messaging solutions.

    When I graduated in 1994 the market was already fairly competitive, and someone who had real experience working in a team with other engineers, burning ROMs, documenting software, and producing embedded code which ran in real products, had an obvious advantage over someone whose experience consisted solely of implementing linked lists and writing papers on finite automata. With today's large numbers of out of work developers, and the proportionately larger number of CS graduates entering the market, it's incredibly important to distinguish yourself.

  4. Catch 22 by selectspec · · Score: 3, Informative

    There is a catch 22 with embedded software design in that the development hardware is essentially unavailable outside of the industry. You can't just go buy eval boards on your own.

    However, you can learn to write your own boostrap loader, and you can work with some of the free OS's.

    OS work, porting, bootstrapping and driver engineering force you to work hands on with the hardware. Plus, the components are available off the shelf. I'd get involved in any of the driver or porting projects with NetBSD or Embedded Linux. This will give you a needed skill set for alot of embedded companies that are putting full OS's in their boxes. They are good stepping stones to the "for-loop" OS or the embedded OS's like QNX and VXWorks.

    --

    Someone you trust is one of us.

  5. Re:Basic Stamps by Anonymous Coward · · Score: 1, Informative

    Note that this experience can be gained while in school as part of class projects. It isn't necessary to build your own robot for Robotwars to gain experience.