Firmware Engineer
Role details
Job location
Tech stack
Job description
Are you a passionate Firmware Engineer looking to make a real impact by giving a voice to those without speech? Our client is looking for a dedicated individual like you to join their team and contribute to enhancing the lives of people with disabilities.
Your Impact
As our client's Firmware Engineer, you will:
-
Test software: Ensuring comprehensive automated test coverage of your code, writing automated tests, GUIs, and utility apps in languages such as Python and C#.
-
Libraries and apps: Creating software libraries and demo apps in C-compatible languages such as C#, C++, or Rust to control their firmware subsystems.
-
Technical strategy: Executing and collaborating on their strategy for highly reliable, mission-critical hardware and firmware.
-
Validation and debugging: Implementing and improving their device test plans, debugging, and validating upcoming firmware and software.
-
Quality assurance: Promptly analysing and correcting quality issues.
-
Project management: Taking ownership of firmware and software projects from start to finish.
Firmware and Software Development:
-
Designing, developing and maintaining embedded software in C for Zephyr RTOS and Embedded Linux.
-
Applying best practices in embedded software architecture and testing.
Requirements
Degree or equivalent experience in an engineering subject (Electronics, Computer Science, Software), Physics, Mathematics, or another scientific subject.
-
4+ years of experience in software development in one or more of the following languages: C, C++, Rust.
-
4+ years of experience in embedded software development in C.
-
Knowledge of Computer Science fundamentals in data structures, algorithm design, problem-solving, and complexity analysis.
-
Strong grounding in embedded software architecture, with a focus on maintainability, modularity, fault-tolerance and testability.
-
Confident and experienced with automated testing, including unit, integration and system tests, mocking and automation frameworks.
-
An understanding of API design and the creation of clear, stable abstractions for hardware / firmware interaction.
-
Skilled at debugging in constrained environments and using hardware / software debugging tools.
-
A proven track record of innovation and quality software development throughout the entire software product lifecycle.
-
Ability to solve complex technical problems in elegant and maintainable ways, demonstrating systems thinking across hardware, firmware and application layers.
-
Experience with embedded platforms (for example: Embedded Linux, Arduino, STM32, Nordic, Zephyr RTOS).
-
A passion and drive for excellence in software craftsmanship.
-
Linux, Bash / shell, CI (Continuous integration) experience.
-
Ability to read electronics schematics.
-
A collaborative and supportive team player - contributing actively to shared goals and supporting colleagues across disciplines.
-
Practical, proactive mindset - comfortable taking initiative and working through ambiguity in a fast-moving team.
Benefits & conditions
Discover a world of rewards and benefits tailored to your wellbeing. Beyond a competitive salary and private medical insurance, explore perks like a hybrid working model, wellness benefits, and paid volunteering days.