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:
- 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.
- Education: Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
Top Skills
What We Do
E-Space is a global space company focused on bridging Earth and space with the most sustainable low earth orbit (LEO) network that is expected to reach over one hundred thousand multi-application communication satellites to help businesses and governments securely and affordably access the power of space to solve problems on Earth.
Founded by industry pioneer Greg Wyler, E-Space is focused on democratizing space and transforming industries by bringing down the cost of space-based communications, raising the level of satellite system resiliency and setting a new standard in sustainable space infrastructure that will effectively minimize and reduce space debris and destruction while preserving access to space for future generations.