We are looking for a highly skilled Embedded Software Engineer to develop and optimize firmware and embedded software for our products. You will work closely with hardware engineers, software developers, and system architects to build efficient, real-time, and reliable embedded systems.
Responsibilities
- Firmware Development: Write, test, and debug embedded C/C++ code for microcontrollers and embedded processors.
- Real-Time Systems: Design and implement real-time operating systems (RTOS) and low-latency firmware.
- Hardware Integration: Work closely with hardware engineers to interface software with sensors, actuators, and communication peripherals.
- Protocols & Communication: Develop and implement UART, SPI, I2C, CAN, USB, Ethernet, Bluetooth, or Wi-Fi communication stacks.
- Optimization: Improve memory footprint, power consumption, and processing efficiency in embedded systems.
- Testing & Debugging: Utilize oscilloscopes, logic analyzers, JTAG/SWD debuggers, and simulators to diagnose and resolve issues.
- Documentation & Compliance: Maintain technical documentation, follow industry standards(ISO 26262, MISRA-C, etc.), and ensure software compliance.
- Cross-Functional Collaboration: Work with hardware, AI, and cloud teams to optimize system performance.
Required Qualifications
- Education: Bachelor's or Master’s degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- Experience: 5+ years of experience in embedded software/firmware development (Entry-Level: Internship or academic projects).
- Programming Languages: C, C++, Python (for scripting & testing).
- Microcontrollers & Processors: Experience with ARM, RISC-V, ESP32, or STM32.
- Peripherals & Interfaces: Experience with I2C, SPI, UART, GPIO, ADC/DAC, PWM, etc.
- Debugging & Tools: Familiarity with JTAG, SWD, GDB, Logic Analyzers, Oscilloscopes.
- Version Control: Git, GitHub, or GitLab for firmware development.
Preferred Skills
- Assembly language programming experience
- RTOS & Bare-Metal Programming: Proficiency in FreeRTOS, Zephyr, or Embedded Linux.
- Machine Learning on Edge Devices: TensorFlow Lite, Edge AI processing.
- Embedded Security: Secure Boot, Encryption (AES, RSA), Secure Firmware Update.
- Embedded Linux: Kernel development, device drivers, Yocto/Buildroot.
- Wireless Communication: BLE, Zigbee, LoRa, LTE, Wi-Fi.
- Hands-on experience in supporting mass production, including production test, validation, and issue debugging, is highly desirable.