Job Description: Embedded C++ Developer (Linux & Yocto)
Position:
Job Summary
We are looking for a skilled Embedded C++ Developer with 1-3 years of experience in embedded software development. The ideal candidate should have hands-on experience in Embedded C++, Linux-based systems, Yocto build environment, device drivers, and embedded product development.
Key Responsibilities
- Design, develop, and maintain embedded software applications using C and C++.
- Develop and customize Linux-based embedded systems.
- Work on Yocto Project for Linux image creation, customization, and package management.
- Develop, debug, and optimize embedded applications and middleware.
- Interface with hardware peripherals such as UART, SPI, I2C, CAN, USB, Ethernet, and GPIO.
- Perform board bring-up, debugging, and system integration activities.
- Analyze and resolve software defects and performance issues.
- Collaborate with hardware, firmware, and testing teams throughout the product development lifecycle.
- Develop technical documentation and unit test cases.
Required Skills
- 1-3 years of experience in Embedded Software Development.
- Strong programming skills in Embedded C and C++.
- Hands-on experience with Embedded Linux systems.
- Experience with Yocto Project and Linux build systems.
- Good understanding of Linux Kernel concepts and device drivers.
- Knowledge of board support packages (BSP) development.
- Experience with communication protocols such as UART, SPI, I2C, CAN, USB, and Ethernet.
- Familiarity with multithreading, process management, and memory management in Linux.
- Experience with version control tools such as Git.
Preferred Skills
- Exposure to Linux Device Driver Development.
- Experience with Buildroot, U-Boot, or BusyBox.
- Knowledge of RTOS concepts such as FreeRTOS, VxWorks, or Embedded Linux RT.
- Familiarity with debugging tools such as GDB, JTAG, Lauterbach, and Oscilloscopes.
- Understanding of networking protocols like TCP/IP and UDP.
- Exposure to ARM-based processors and microcontrollers.
Educational Qualification
- Bachelor's Degree in Electronics & Communication Engineering, Computer Science, Electrical Engineering, Instrumentation, or related field.