Embedded Software Engineer - UK

United States Digital Space LLC
Loughborough, UK
4 days ago
Apply on www.collegerecruiter.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours

Tech stack

C (Programming Language) ARM Architecture Automation of Tests Microsoft Azure Bash Shell Behavior-Driven Development Bluetooth Booting (BIOS) C++ (Programming Language) Communications Protocols Continuous Integration Data Security
+33 more
Software Debugging Embedded Software Firmware FreeRTOS Hardware Design Hardware Interface Design Hardware-In-The-Loop Simulation Joint Test Action (IEEE Standards) Python (Programming Language) Linux Kernel Message Queuing Telemetry Transport (MQTT) Real-Time Operating Systems Regression Testing System Programming Toolchain Universal Asynchronous Receiver/Transmitter Wi-Fi Technology Scripting Serial Peripheral Interface PIC Microcontroller Test-Driven Development (TDD) Hardware Testing Reliability of Systems Core Api Git Pytest Yocto Gitlab-ci Information Technology Zigbee Software Version Control Jenkins Programming Languages

Job description

are seeking a highly skilled and motivated Embedded Software Engineer to design, develop, and optimize software for battery-operated IoT devices with a strong emphasis on testing automation. The role involves developing low-level software, focusing on power efficiency, real-time performance, system reliability, and implementing robust testing frameworks. You will also contribute to Board Support Packages (BSPs), kernel-level development, and platform integration.What you will do:

  • Core Development
  • Embedded Software Development: Design, write, debug, and maintain low-level software for embedded systems, including BSP and drivers.
  • Power Optimization: Implement algorithms and techniques to minimize power consumption for battery-operated devices.
  • Kernel and RTOS Development: Customize and optimize RTOS (e.g., FreeRTOS) or Linux kernel components for embedded platforms.
  • IoT Integration: Develop secure and efficient communication protocols for IoT platforms (e.g., MQTT, BLE).

  • Testing and Automation
  • Test Framework Development: Create and maintain automated testing frameworks for embedded systems, including unit, integration, and regression tests.
  • Support: Provide support for debugging of faulty boards.
  • Prototypes Testing: Testing of prototypes for early adopting customers.
  • Hardware-in-the-Loop (HIL): Implement HIL testing to validate software functionality and hardware interactions in real-time.
  • Continuous Integration (CI): Integrate automated testing pipelines with CI/CD tools like Jenkins, GitLab CI, or Azure DevOps.
  • Debugging and Validation: Use tools like oscilloscopes, logic analyzers, and protocol analyzers to test and debug embedded software and hardware interfaces.

  • Collaboration and Documentation
  • Hardware Interaction: Work closely with hardware teams to ensure seamless software-hardware integration and accurate testing scenarios.
  • Documentation: Prepare and maintain technical documentation, including testing procedures, logs, and reports for software and hardware validation.

Requirements

  • Programming Languages: Proficiency in C, C++, and Python; familiarity with scripting languages like Shell or Bash.
  • Embedded Systems: Experience with microcontroller platforms (e.g., ARM Cortex, ESP32, STM32) and their toolchains.
  • IoT Protocols: Knowledge of IoT communication protocols and secure data transmission.
  • Testing Frameworks: Experience with testing tools and frameworks such as Robot Framework, Pytest, or Unity.
  • Power Management: Understanding of low-power design principles, energy-efficient algorithms, and power profiling tools.
  • Debugging Tools: Proficiency with debugging tools like JTAG, GDB, and serial debuggers.
  • Automation Tools: Experience with CI/CD pipelines, Jenkins, GitLab CI, or similar tools.
  • Version Control: Expertise with Git or similar version control systems., * Experience with Yocto.
  • Familiarity with wireless communication technologies (e.g., Wi-Fi, Bluetooth, Zigbee, LoRa).
  • Knowledge of hardware protocols such as SPI, I2C, UART, and GPIO.
  • Experience with secure firmware updates (OTA) and bootloader development.
  • Familiarity with hardware simulation tools and mock environments for testing.
  • Knowledge of Test-Driven Development (TDD) and Behavior-Driven Development (BDD) practices.
  • Education: Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.

This is a full time based out of our Loughborough, UK office. The total compensation packaged will be determined by various factors such as your relevant job-related knowledge, skills, and experience.

We are redefining how satellites are designed, manufactured and used-so we’re looking for candidates with passion, deep knowledge and direct experience on LEO satellite component development, design and in-orbit activities. If that’s your experience - then we’ll be immediately wow-ed.the company is not currently able to provide employment sponsorship for candidates who do not hold work authorization for the location of this role.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.collegerecruiter.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

43 sec

Software engineering journey and local Manchester roots

Jonathan Tang · Coffee With Developers

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

7:40 min

In-vehicle infotainment systems and graphical functional safety validation

Denis Grahovac · World Congress 2021

3:05 min

Tagging and organizing execution scenarios with pytest markers

Florian Bruhin · World Congress 2021

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

5:30 min

Extending testing workflows using popular pytest plugins

Florian Bruhin · World Congress 2021

Videos

See all

Related articles

See all