Summary
We are looking for a Senior Embedded Engineer with 3–5 years of experience to design and develop embedded software/firmware for IOT & Robotic solutions. You will work on real-world hardware, solve complex problems, and ensure high-quality, timely delivery of projects — while also contributing to integrating AI/ML capabilities into embedded systems for intelligent, data-driven functionality at the edge.
Position Overview
We are looking for an engineer to develop and optimize firmware for embedded platforms, working closely with hardware and cross-functional teams. The role involves end-to-end development, performance tuning, and enabling intelligent features on edge devices with a focus on deficiency and reliability. You will also contribute to solving complex system-level challenges and building scalable, high-quality solutions.
Key Responsibilities
-
Design & Develop: Build embedded firmware and software using Embedded C, C++, and Python.
-
Driver Development: Design, develop, and test peripheral drivers for Linux/RTOS at the Kernel and User levels.
-
Hardware Interfacing: Work on microcontrollers, peripherals, and hardware interfaces. Develop and integrate communication interfaces like UART, SPI, I2C, USB, PCIe, and Ethernet.
-
Debugging: Troubleshoot embedded systems using tools like debuggers, oscilloscopes, and logic analyzers.
-
Testing & Automation: Develop functional and unit tests, validate firmware functionality, and automate testing processes.
-
Optimization: Analyze system performance and optimize code for memory and real-time constraints.
-
Lifecycle Management: Participate in the full development lifecycle: design, coding, testing, and debugging
-
Collaboration: Work with hardware and other software teams to solve system level issues.
-
Prototyping: Create prototypes to validate design concepts.
-
Edge AI: Collaborate on integrating AI/ML models into the embedded development lifecycle or edge devices.
Qualifications
-
Core Skills: Strong programming skills in Embedded C/C++/Python.
-
OS Experience: Working experience with Linux/RTOS.
-
Experience: Minimum 3–5 years in embedded software/firmware development.
-
Architecture: Good understanding of embedded systems architecture.
-
Protocols: Experience with hardware interfaces like UART, SPI, I2C, USB, PCIe, and Ethernet.
-
Problem Solving: Strong debugging and problem-solving skills.
-
System Knowledge: Strong understanding of memory management and realtime constraints.
-
Tools: Familiarity with development tools like compilers, debuggers, and version control (Git).
Good to Have
-
Working experience or understanding of microcontrollers and processors like ARM, PIC, x86, DSP.
-
Working experience or understanding of specific RTOS variations like Zephyr, VxWorks, FreeRTOS.
-
Working experience or understanding with BSP development.
-
Working experience or understanding with Linux distributions & build environments.