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.
- 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
- 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.
- 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.
St Johns House, Cowley Road