Smartbox Assistive Technology

Embedded Software Developer

Smartbox Assistive Technology

full-time

Posted on:

Origin:  • 🇬🇧 United Kingdom

Visit company website
AI Apply
Manual Apply

Salary

💰 £50,000 - £60,000 per year

Job Level

Mid-LevelSenior

Tech Stack

LinuxPythonRTOSRust

About the role

  • Designing, developing and maintaining embedded software in C for Zephyr RTOS and Embedded Linux.
  • Applying best practices in embedded software architecture and testing.
  • Writing automated tests, GUIs, and utility apps in languages such as Python and C#.
  • Creating software libraries and demo apps in C-compatible languages (C#, C++, Rust) to control firmware subsystems.
  • Executing and collaborating on strategy for highly reliable, mission-critical hardware and firmware.
  • Implementing and improving device test plans, debugging, and validating upcoming firmware and software.
  • Promptly analysing and correcting quality issues.
  • Taking ownership of firmware and software projects from start to finish.
  • Performing other duties on an ad-hoc basis and demonstrating a proactive attitude.

Requirements

  • A passion for improving lives through assistive technology.
  • 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 (maintainability, modularity, fault-tolerance, testability).
  • Experience with automated testing (unit, integration, system tests), mocking and automation frameworks.
  • Understanding of API design and creation of clear, stable abstractions for hardware/firmware interaction.
  • Skilled at debugging in constrained environments and using hardware/software debugging tools.
  • Proven track record across the entire software product lifecycle.
  • Ability to solve complex technical problems and systems thinking across hardware, firmware and application layers.
  • Experience with embedded platforms (Embedded Linux, Arduino, STM32, Nordic, Zephyr RTOS).
  • Linux, Bash/shell, CI (Continuous integration) experience.
  • Ability to read electronics schematics.
  • Collaborative and supportive team player.
  • Practical, proactive mindset and ability to take initiative in ambiguity.
  • Degree or equivalent experience in an engineering subject, Physics, Mathematics, or other scientific subject is useful (not essential).
  • Experience in high-performance applications (useful).
  • Experience in MISRA-C (useful).