Overview
We are seeking a proactive and detail-oriented Embedded Software Engineer to develop and maintain firmware for custom ASIC, photonic, and Lidar-based systems. This role is key to enabling hardware functionality through low-level driver integration, supporting system bring-up, and delivering robust embedded solutions for internal and customer-facing platforms.
Key Responsibilities
• Firmware Development
• Design and implement embedded software for microcontrollers, SoCs, and FPGA-based platforms.
• Develop and optimize drivers for SPI, I2C, UART, ADCs, GPIOs, and custom hardware blocks.
• Ensure code efficiency and real-time performance in bare-metal or RTOS-based environments.
• Hardware Integration
• Support hardware bring-up, validation, and diagnostics in lab settings.
• Collaborate with hardware, analog, and systems teams to verify embedded interfaces.
• Debug hardware/software issues using oscilloscopes, logic analyzers, and debuggers.
• Software Infrastructure
• Develop and maintain embedded codebases in C/C and scripting tools (e.g., Python).
• Utilize version control systems (e.g., Git) and CI tools for code management and testing.
• Contribute to internal documentation and customer firmware support resources.
Qualifications
• Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, or a related field.
• 4+ years of experience in embedded systems development.
• Strong programming skills in C/C with experience in bare-metal or RTOS environments.
• Proficient with embedded development toolchains (e.g., GCC, Keil, IAR) and debugging workflows.
• Hands-on experience with lab equipment (oscilloscopes, logic analyzers, multimeters).
• Familiarity with communication interfaces such as SPI, I2C, UART, USB.
• Experience with embedded Linux, wireless protocols, or photonic/Lidar systems is a plus.
• Excellent analytical, debugging, and communication skills.