Embedded Software Engineer Overview
• As an Embedded Software Engineer, you'll develop safety-critical embedded systems in RTOS environments, ensuring reliability and performance.
• Collaborate on firmware design for real-time applications using Zephyr and FreeRTOS platforms.
• Work on bare-metal targets and Embedded Linux platforms, bridging constrained and application-rich environments.
• Contribute to hardware integration, debugging, and optimizing for latency, power, and memory footprint.
• Ensure compliance with rigorous safety standards while maintaining development efficiency.
• Enjoy a remote work arrangement with opportunities for professional growth and innovation.
• Leverage your expertise in embedded software to create impactful solutions for cutting-edge technologies.
• Engage in continuous learning and collaboration within a dynamic and supportive team environment.
Embedded Software Engineer Key Responsibilities & Duties
• Design and implement robust firmware for safety-critical embedded devices using C/C++.
• Architect RTOS-based firmware, including task scheduling, ISR handling, and deterministic timing analysis.
• Develop low-level peripheral drivers and board support code for new hardware platforms.
• Integrate RTOS devices with Embedded Linux applications, ensuring reliable communication.
• Maintain CI/CD pipelines to automate testing, including hardware-in-the-loop test execution.
• Collaborate with the safety team to ensure compliance with IEC 61508 standards.
• Debug complex hardware issues using tools like JTAG, GDB, and oscilloscopes.
• Optimize firmware for performance, power consumption, and memory usage.
Embedded Software Engineer Job Requirements
• Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent experience.
• 3-5 years of embedded software development experience, with RTOS or bare-metal targets.
• Proficiency in C and working knowledge of C++ for firmware development.
• Experience with RTOS platforms such as Zephyr, FreeRTOS, or similar.
• Knowledge of Embedded Linux user-space development and integration.
• Familiarity with IP networking protocols and standard interfaces like UART, SPI, I2C, USB, and CAN.
• Experience with debugging tools such as JTAG, GDB, and oscilloscopes.
• Bonus points for experience with Zephyr, wireless stacks, or functional safety standards.