Embedded Software Engineer
Role details
Job location
Tech stack
Job description
-
Develop embedded software in C/C++, with exposure to Rust, Python, and Linux environments.
-
Work with ARM STM32 microcontrollers, physical equipment, and industrial flow measurement tools.
-
Contribute to Windows-based programming, including LCD and USB integration.
-
Collaborate in small, agile teams using modern development techniques to design, code, test, and deliver solutions.
-
Provide technical support to internal teams (Systems, Production, Product Management) and external customers in the UK and abroad.
-
Participate in system installation, integration, and occasional customer site visits (training, demos, feature improvements).
-
Propose product enhancements based on customer feedback and your own technical expertise.
-
Balance independent work with teamwork, demonstrating creativity, proactivity, and forward-thinking problem-solving.
Requirements
Candidates must demonstrate 3+ years' experience with recent, regular use (within the last 6 months) in all of the following:
-
Strong expertise in C++ (including sockets, network programming/configuration, multi-threading, large code bases, and 3rd party library integration).
-
Solid understanding of mathematics and physics.
-
Experience with software version control systems (e.g., Git, Subversion).
-
Degree in Computer Science, Electronic Engineering, or equivalent discipline.
-
Excellent written, verbal, and digital communication skills.
-
Full UK driving licence and valid passport.
While not mandatory, experience in the following areas will be highly valued:
-
Analogue and digital electronics.
-
Linux development and ARM STM32 programming.
-
Cybersecurity awareness in embedded systems.
-
Familiarity with industrial equipment integration.