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?"

5 of 39 comments (clear)

  1. Basic Stamps by Perdo · · Score: 4, Insightful

    Design your own USB coffee maker or animitronic toy. Put a real robot in robot wars instead of a glorified remote control car. Break in by doing not begging

    Other Sources

    --

    If voting were effective, it would be illegal by now.

  2. 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
  3. Getting Embedded by PeteABastard · · Score: 4, Insightful

    I'm currently working writting embedded Forth. My previous jobs were C++ desktop stuff.

    The things that I think helped me getting this job were a good level of hardware knowledge (I was a motherboard tech with IBM for a year) and specific skills relevant to the current position (Forth and good maths as I have a physics degree). It also helped that there are very few Forth programmers in Australia so my employers had few applicants, especially as the R&D office is in a rural area.

    I hope to use this position to gain embedded skills that are transportable to future work, so I dont mind the daily 140km round trip.

    I have friends who do embedded work, and most of them come from an electronic engineeering background. They have a much closer skill fit than pure CS degrees normally do.

    Most of the embedded jobs advertised, when I was last looking, wanted Embedded C & Unix experience or experience with a particular technology (ie networking, phones, etc). They dont ever seem to advertise for graduate programmers.

    From an employers point of view (I used to be R&D manager for a small company) new graduates are a risk. Some complete their degree, but dont really like to code and you only find out once you've hired them. Also there is a lot not taught about professional proggramming in Universities, so there will be a learning curve. For these reasons you try to hire experienced people for the more critical or demanding areas, and let graduates prove themselves elsewhere first.

    With all this in mind you might do best to try and find a position where you can prove your programming skills, and pick up some technology
    skills on the way, so your second job is in the embbeded area.

    Small companies will probably allow you more scope for learning and taking on new duties, so a regular programming job with a small shop that also does embedded work may be good.

    Hope some of this is helpful

    Peter

  4. 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
  5. 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.