Senior Software Engineer - Development and Test
E-Space
Software Engineering
Loughborough, UK
Posted on Nov 23, 2024
Ready to make connectivity from space universally accessible, secure and actionable? Then you’ve come to the right place!
E-Space is bridging Earth and space to enable hyper-scaled deployments of space-powered Internet of Things (IoT) solutions and services. We are fundamentally changing the design, economics, manufacturing, coverage limitations and service delivery associated with traditional satellite and terrestrial IoT systems.
By building a highly-advanced low Earth orbit (LEO) space system—with a unique antenna design, highly sustainable spacecraft system and low-cost, small portable end-user devices—we can extend global satellite coverage, capacity and connectivity beyond legacy space services to provide a new kind of IoT platform that lets users sense, track, connect and act on information gathered, anywhere.
We’re intentional, we’re unapologetically curious and we’re 100% committed to saving space, protecting our planet and turning connectivity into actionable intelligence.
We are seeking a highly skilled and motivated Software Engineer – Development and Test 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. Primary focus will be on Automation pipelines before the platform SW goes out to other teams.
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.
What you bring to this role:
- Education: Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- 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.
Extra bonus points for the following:
- 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.
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.
E-Space is not currently able to provide employment sponsorship for candidates who do not hold work authorization for the location of this role. The Company is not currently able to provide employment sponsorship for candidates who do not hold work authorization for the location of this role.
Why E-Space is right for you:
We want you to make the most of your journey at E-Space. That’s why we support and invest in the physical, emotional and financial well-being of our team members and their families. Some of what you can expect when working at E-Space:
• An opportunity to really make a difference
• Sustainability at our core
• Fair and honest workplace
• Innovative thinking is encouraged
• Competitive salaries
• Continuous learning and development
• Health and wellness care options
• Financial solutions for the future