Contract Firmware Engineer


We are looking for a Firmware Engineer to join us on a contract basis to join our team to support with developing our world leading Wi-Fi solution for Samsung.

We are looking for a Firmware Engineer to join us on a contract basis to join our team to support with developing our world leading Wi-Fi solution for Samsung. This role will be deemed inside of IR35 legislation and we will require you to work via an umbrella company. It will be an initial six month contract with high probability for extension.    Your role will involve extensive analysis, debugging and fixing of issues by customers and internal test teams. The role also involves design, development and test of firmware modules within WLAN firmware, with a focus on system software rather than protocols.  The role may also involve enhancement of our existing tool sets to assist and enhance the debugging capabilities.

The software is written in C and runs in a resource constrained, embedded, real time environment and tools are typically written in Python and shell scripting languages.

Key Responsibilities

  • Embedded firmware design and development
  • Analyse and document, system and module requirements.
  • Support customer issues and provide timely analysis and solutions.
  • Design and document individual modules.
  • Participate in cross team system level architectural/design/interface discussions and reviews
  • Develop and test (unit, system and acceptance) firmware of major scale and complexity.
  • Maintenance of software including defect investigation.
  • Contribute actively towards the continuous development of the department’s processes.
  • Constantly seeks quality in deliveries; works with lead engineers and project managers to ensure timely delivery of designs.

Skills Knowledge and Expertise

Required skills 

  • Excellent proven understanding of C programming language for resource constrained real-time environments where MIPS and memory have to be utilised carefully.
  • Experience of developing bare-metal embedded software on ARM processors.
  • Familiar with working in a Linux-based command line development environment.
  • Experience of scripting languages such as Python and Bash.
  • Familiarity with “make” build systems and GNU toolchain.
  • Good understanding of embedded debug techniques and tools (e.g. Lauterbach Trace32).
  • Effective team player and good communicator.
  • Able to work efficiently and remotely with minimal supervision.
  • Excellent problem solving ability and tenacity in finding root cause for complex issues with focus on delivering results.

Desired skills:

  • Experience of techniques for communicating between hardware and software.
  • Knowledge of embedded multi-processor systems and inter-processor communication techniques.
  • Familiarity with ARM Cortex R and M series processors.
  • Experience of using debugging tools such as ARM debuggers, analysers and oscilloscopes.
  • Experience of debugging hardware issues.
  • Experience of real-time operating systems e.g. FreeRTOS.
  • Knowledge of processor architectures and peripherals.
  • Familiarity with 8051 microcontrollers.
  • Understanding of low power designs.
  • Understanding of PCIe.
  • Exposure to Verilog/VHDL and ability to interpret hardware schematic and PCB layouts.
  • Exposure to software debugging in digital simulation environment.
  • Exposure to revision control systems (Git preferred).
  • Familiarity with Linux kernel and drivers.
  • Familiar with working on embedded Linux platforms.
  • Familiar with working on Android platforms.

Office address

St Johns House, Cowley Road

Join the CW jobs mailing list

This site uses cookies.

We use cookies to help us to improve our site and they enable us to deliver the best possible service and customer experience. By clicking accept or continuing to use this site you are agreeing to our cookies policy. Learn more

Start typing and press enter or the magnifying glass to search

Sign up to our newsletter
Stay in touch with CW

Choosing to join an existing organisation means that you'll need to be approved before your registration is complete. You'll be notified by email when your request has been accepted.

Your password must be at least 8 characters long and contain at least 1 uppercase character, 1 lowercase character and at least 1 number.

I would like to subscribe to

Select at least one option*