Role Overview
We are looking for a driven and self-motivated firmware engineer to join our team. The successful candidate will be a key part of a growing electronics and software team within the company and will report to the electronics lead. They will take ownership of the firmware development for new projects and support the maintenance of existing firmware. The successful candidate will be proactive in proposing and delivering appropriate solutions and demonstrate an ability to manage their workload effectively.
They will work across a range of projects and products including, but not limited to, pumps, valves, active suspension systems, compact integrated hydraulic power packs and advanced test rigs. The candidate will be given both specific and long-term goals within the project or projects they are working on.
Candidates will be remunerated with a competitive salary and will be given the flexibility of working a compressed fortnight: having every other Friday as a day off & promoting a positive work life balance.
Essential requirements:
- Degree level education in Computer Science, Engineering, Maths, Physics, or closely related subject.
- A proven ability to deliver firmware for embedded systems using C and/or C++.
- Application of object-oriented design principles to embedded systems.
- Signal processing & control system design and implementation.
- Real time operating systems (RTOS) and their application to embedded systems.
- Knowledge and use of software version control systems, testing strategies and test infrastructure.
- Knowledge and ability to use a variety of debug tools and techniques.
- Experience with brushless DC motor control techniques and commutation methods.
- Experience with Microchip and ARM Cortex-M microcontroller architectures.
- Excellent understanding of a variety of microcontroller peripheral types and their use in embedded systems.
- Detailed knowledge and understanding of serial communication protocols including CAN, SPI, I2C and USB.
- Programming experience in other languages including Python.
- Good written and oral communication and presentation skills.
- Motivated and professional personality.
- 3 or more years industry experience
Beneficial requirements:
- 5 or more years industry experience
- FPGA programming in VHDL/Verilog
- Simulation and modelling using Matlab or similar.
- Experience designing software for distributed systems.
- Background or experience in electronics engineering
- Broad understanding of related engineering subjects
Key responsibilities:
- Design, develop, test, deliver and maintain firmware for existing and new products.
- Work with the electronics lead to plan work and monitor progress towards project milestones.
- Assist in the development, test and maintenance of software products which provide production and development testing of Domin’s products.
- Working as part of a multi-disciplinary and international team to deliver world leading products.
Additional responsibilities:
- Assist your peer’s development towards best working practice for firmware and software design.
- Take part in peer review processes to ensure the quality of the departments work is maintained.
- You will be required to attend the test facility in Cheddar on regular basis to support the integration of the firmware into the end product during the development process.