Thursday, June 25, 2009

Basic Skills Required

Embedded Systems* is a really huge industry and a very much diversified one too. The application area varies from designing a mobile phone, set top box device to industrial control, robotics etc. and also it requires interdisciplinary skill set for development. The various application areas and skills set for each could be another topic, which I would have in future posts.

For this post, I would limit my self to skills required for a basic Software Engineer in this domain. Similar to kind of job which I am doing in Bangalore for past two years.

Kind of Job profile:
You would be working on a particular product (such as Mobile Phones, Set top box or related to automobiles), and responsible for maintaining, development of various modules in any particular domain. The domain could vary from Telecom, Video, Audio, Drivers, Multimedia or UI development. Initially domain skills are not necessary but over the years you are expected to become master in one particular domain, thus after some time you cannot easily jump over multiple domains.

Companies:
Motorola, Samsung, Qualcomm, STMicro, NXP, LG Software etc. etc. (all in Bangalore)

Basic Skills:
a. Good coding skills in C (or C++): Very good knowledge of C language is good starting point. Suggested books are K&R, Expert C programming etc. Have a good hold on pointers, memory allocations and bit manipulation.

b. Debugging and Problem solving: This is very crucial skill in this domain, as most time is spent debugging other persons code. As an good engineer, you would be having essential skills to start up with.

c. Operating Systems concepts: A basic undergraduate level course would do, better if you know about Real time system and kernels but not mandatory.

d. Computer Architecture: Especially knowledge of any RISC architecture,recommended is to know ARM architecture, as most of the embedded devices use ARM IP in their SOC.

Other Advanced skills required are based upon domain you wish to work, such as Wireless or DSP. For this its better to have understanding of Wireless Communications (mainly protocols) and DSP (Audio and Video).

Thats all for today, in future I wish to write upon detailed job profile, exact skills and how to develop and nurture career in this space.

* When I say Embedded Systems, I restrict myself to developing Embedded Products

5 comments:

  1. Few more things to know are compelete software life cycle. And good testing skills, which helps test code.

    ReplyDelete
  2. Thanks for your post. It might help me out preparing my resume. :)

    ReplyDelete
  3. Thanx for sharing the basic requirements for entering a embedded systems companies

    ReplyDelete
  4. Please if u can post the detailed requirement skill, it shall really help.
    Thanking u in advance.

    ReplyDelete
  5. My cousin recommended this blog and she was totally right keep up the fantastic work!


    Embedded Systems Training

    ReplyDelete