logo
logo
Sign in

Role of Embedded Software Engineer

avatar
antony

I have written about the difference among an Embedded Engineer and Software Engineer, on how you can become an Embedded Engineer and books that you should read, if you poverty to be an embedded engineer.

More on that line, if wanted to also write near the parts that an embedded engineer play in an embedded product development or services company. What would he be responsibility on a day to-day basis??

Let me state the roles of embedded software engineers here - They may play the same roles all over their career or change over time.

 

#1 - Micro-controller Firmware Engineer

The default meaning of an embedded engineer is a person who works with micro-controllers and writes firmware for them. So i start with this role.

Embedded engineers who effort with micro controllers are as follows,

  1. They are very well skilled in C Programming & some assembly
  2. They are good in micro-processor interfacing
  3. They design simple but active devices like label printers, game controllers, medical devices, automobile control parts, etc.
  4. They are always concerned with size, speed and power - typical embedded engineer's mindset.

With the growth of IoT and small sensors, Micro-controller firmware engineers are going to have more work cut out in the coming days.

 

#2 - Embedded Linux Engineer / Embedded Operational System Engineer

In recent embedded systems operating system is playing a major role. The main reason is the power of ARM and powerful SOCs. With that comes the role of the Embedded Operating System Engineer.  Here is what he wished do on a daily basis

  1. He/she would develop, debug and port Expedient Drivers
  2. He/she would build and make OS Board Support Packages for products
  3. He/she would organize, customize, optimize and build OS images for products
  4. He/she would improve boot time
  5. He/she would understand OS level power management, security, etc.
  6. He/she would OS Networking Basics

 

#3 - Embedded Networking

Engineer Networking engineers are a separate breed between embedded engineers. The growth of network, internet and wireless has taken a variety of network devices like switches, routers, bridges, access points, firewalls, network backend infra and so on. The engineers who work on such make contacts products do the following

  1. Work on Network Processors rather than on Application Processors
  2. Work on Network Layers L3, L4- bridging, mixing, etc.
  3. Work on optimization of packet data transmission within a network equipment
  4. Work on IEEE 802.3, 802.11, etc.
  5. Work on Qu’s, VLAN, etc.
  6. Work on Network Security procedures and management protocols like SNMP

 

#4 - Embedded Applications Engineer

Almost always people think embedded software is all about hardware & firmware. While it’s true for the greatest part, there is a big part played by applications as well. Again, with influential microprocessors and RAM availability the complexity of embedded application software is gaining as well. This role resembles a regular application developer closely

This is what an embedded application engineer would be working on

  1. Embedded Software Frameworks like Qtr, .NET CF, etc.
  2. Working with manifold programming languages like Embedded C, Python, C#, etc.
  3. Uses the Codecs, Graphics Speeding up and other features to bring visually pleasing performance
  4. Working on Open source masses and applications
  5. More focused on Professional Logic and User Interface of the device
  6. By means of embedded data bases, embedded web servers, etc.

 

#5 - Embedded - Technology experts

And last but not the least, i have come crosswise a number of engineers who work in ONE CORE area for a long time in their careers. It would be tough to split their role as an OS engineer, App Engineer, etc. They would do all from System level to applications to micro-controller firmware, etc. but their FOCUS wanted be on ONE CORE technology.

 Some examples are

  1. Camera & Imaging specialists - They work on imaging and camera, lens meetings, MIPI Camera interfacing, Color Space Conversions, ISPs, etc.
  2. USB Experts - They would work on little level USB protocol on controllers and designing USB client and host products
  3. Image Processing experts - They delve more on image processing libraries like Open CV, using DSPs to process images, etc.

If you are employed on an embedded product development, a team should be formed picking and choosing from the roles mentioned above for software development.

Let me know how you liked this, would come back with additional on embedded!!

collect
0
avatar
antony
guide
Zupyak is the world’s largest content marketing community, with over 400 000 members and 3 million articles. Explore and get your content discovered.
Read more