The Embedded Software Engineer will be responsible for developing software for embedded systems and applications. They will work with hardware engineers to create firmware and drivers, and develop applications that run on an embedded operating system. They will also test and debug software, and optimize code for performance and memory usage.

Embedded Software Engineer Job Responsibilities

  • Design, develop, test and deploy software for embedded systems
  • Write code in lowlevel languages such as C and Assembly
  • Optimize code for size and speed
  • Work with hardware engineers to design efficient interfaces between software and hardware
  • Debug software and hardware issues at the system level
  • Write technical documentation

Objectives

  • Design, develop, and test embedded software for a variety of applications.
  • Work with hardware engineers to select appropriate microprocessors and peripherals, and design the system architecture.
  • Develop software in C/C++ and assembly language, using both traditional techniques and more modern approaches such as objectoriented programming.
  • Interface with other engineering disciplines to ensure that the software meets all requirements of the system.
  • Write detailed documentation of the design and implementation of the software.
  • Plan and execute unit, integration, and regression tests on the software to verify its correctness and performance before release to manufacturing or customers.

Embedded Software Engineer Job Skills & Qualifications Needed

  • Bachelor's degree in computer science or related field
  • Experience with embedded systems and programming
  • Familiarity with microcontrollers and embedded software development tools
  • Ability to troubleshoot hardware and software issues
  • Strong analytical and problem solving skills