Embedded Software Engineer (4-8)

Embedded Software Engineer

Job Locations :

Bangalore, Kochi

Job Description:

Software development on complex embedded systems

Must have

  • Hands on experience in developing low level software for microcontroller based environments with ARM processors or similar.
  • Knowledge of DSP concepts.
  • Experience in all aspects of designing and developing SW in C/C++ language for embedded platforms.
  • Advanced level knowledge of modern microprocessor architecture – MMU, Caches, Exceptions, interrupts, instruction sets etc.
  • Experience in working with multiple common h/w interfaces like USB, Ethernet, PCIe, DDR controller, DMAC etc.
  • Device driver or stack development in at least one major Operating system for at least one complex interface.
  • Experience in SW protocol stacks like USB, TCP/IP, File system etc.
  • Experience in Board Bring up, Device drivers, Firmware, Boot Loaders, Tool chains & Build systems.
  • Understand project requirements, customer use cases & specifications for features and convert them to standout software.
  • Initiate and drive Test strategies and Test plan design for software.

Preferred Exposure in

  • Experience in Labview / Matlab
  • Experience in scripting PERL/TCL/Python
  • Experience in Networking/Energy/Medical/Security/Auto/Video domain
  • Experience in Android.
  • Experience in writing device drivers in Linux, Boot loader development and porting/migration.
  • Excellent analytical skills for troubleshooting and issue resolution.
  • Familiarity with Linux Internals.
  • Multimedia drivers (camera/display/video). Experience in Video Decoder/ Encoder/HDMI drivers is highly desirable.
  • Excellent debugging skills. Well versed in using tools like gdb, kgdb & profilers.
  • Self-motivator and an excellent team player.
  • Possess outstanding written and verbal communication skills. Ability to communicate design rationale and build consensus with the team.
  • Prior experience of designing Test plans for features from scratch.


  • Bachelors or Masters Degree in Computer Science or Electronics / Electrical Engineering