Embedded Firmware Engineer

Vacancy Details

  • Career Level Qualified / Experienced
  • Experience 3 Years
  • What we do Computers & IT & Telecoms
  • Qualifications Bachelors Degree

Job Description

Our client is a cutting-edge technology company that specializes in shaping the future of secure applications. With a focus on embedded firmware development, our client is dedicated to designing innovative solutions that ensure the highest level of security for various industries.

Our client is looking for a skilled and innovative Embedded Firmware Engineer to join their team. This is a unique opportunity to shape the future of secure applications and contribute to the advancement of technology.

As an Embedded Firmware Engineer, you will play a vital role in designing and developing secure applications, utilizing your expertise in C and C++ within an embedded Linux environment.

Duties and Responsibilities:

  • Design and implement new secure embedded firmware applications using C, C++, and other languages.
  • Develop low-level interfaces such as GPIO, UART, I2C, and SPI.
  • Review, maintain, and enhance the existing code base.
  • Support the design and development of desktop engineering tools.
  • Document and provide cross-functional training on low-level concepts.
  • Collaborate with other engineers to evaluate interfaces between hardware and embedded solutions.
  • Prepare, present, and participate in technical discussions and code reviews.
  • Contribute to the development of processes for improved efficiency and quality of development projects.
  • Investigate and analyze reported defects, resolving them in a timely manner.
  • Proactively provide status updates and communicate necessary information to the team.

Qualifications and Experience:

  • Bachelor’s degree in Computer Science, Engineering, or a related field.
  • Minimum of 3 years of hands-on code development experience.
  • Applied experience with C and C++ in an embedded Linux environment.

Desired Skills and Experience:

  • Comfortable working at a hardware driver level, including GPIO, UART, I2C, and SPI.
  • Experience with bare-metal, RTOS, and embedded Linux development.
  • Familiarity with bug tracking tools, especially Jira, and source code management.
  • Knowledge of test frameworks and automated build systems such as Jenkins, NUnit, and NAnt.
  • Ability to write safe and performant code.
  • Strong analytical, planning, problem-solving, and decision-making skills.
  • Familiarity with in-circuit emulators, GNU toolchains, gdb, and cmake.


  • Experience with Secure Elements, RFID, NFC, HCE, or Bluetooth technologies.
  • Previous work within a Scaled Agile Framework.
  • Ability to effectively use and operate oscilloscopes, logic analyzers, power supplies, etc.
  • Understanding of crypto-blocks such as DES, AES, RSA, ECC, and firmware security best practices.
  • Experience with Node.js, Rust, and/or golang.
  • Familiarity with test-driven development.

Customer Expectations:

  • Promote secure development and work cooperatively and autonomously in a dynamic multicultural environment.

Work Environment:

This position is primarily office-based, providing a well-ventilated area with exposure to moderate noise levels.

MSP Staffing (Pty) Ltd

Required skills

Share this job with friends and relatives

Sorry, Applications have been closed.

Related Jobs in South Africa