Job Description
The Senior C/C++ Linux Engineer role focuses on developing and maintaining embedded Linux-based systems using advanced C and C++ programming. The role involves working on Linux internals, embedded software development, system-level programming, multi-threading, IPC mechanisms, and Linux startup frameworks.
The candidate will contribute to the development, debugging, and optimization of embedded solutions while ensuring performance, reliability, and scalability.
Responsibilities
Embedded Linux Development
- Design and develop embedded software solutions using C and C++.
- Work on Linux-based embedded systems and low-level system programming.
- Implement and maintain system-level components and services.
Linux System Programming
- Work with Linux internals including:
- System Calls
- IPC (Inter-Process Communication)
- Socket Programming
- POSIX Multi-threading
- Develop and optimize multi-threaded applications.
- Handle Linux service management using:
- Systemd
- D-BUS
Build & Integration
- Work with Linux build systems such as:
- Yocto
- BitBake
- Makefiles
- Support Linux startup and bootloader configurations using U-Boot.
- Integrate system management protocols like:
- IPMI
- Redfish
- MCTP
- PLDM
Debugging & Version Control
- Debug embedded applications using tools like GDB.
- Use version control systems such as:
- Git
- SVN
- Troubleshoot system-level and embedded Linux issues.
Required Skills
Mandatory Skills
- Advanced C Programming
- Strong C++ and OOP concepts
- Embedded Systems Development
- Linux Internals
- System Calls
- IPC
- Socket Programming
- POSIX Multi-threading
- Systemd
- D-BUS
Desirable Skills
- Linux Startup & U-Boot
- OpenBMC
- Linux Device Driver Development
- Yocto / BitBake
- Makefiles
- GDB Debugging
- Git & SVN
- IPMI, Redfish, MCTP, PLDM
Soft Skills
- Strong analytical and debugging skills
- Problem-solving mindset
- Ability to work independently and within teams
- Good communication skills
- Attention to detail
Qualifications
- UG: Any Graduate
Key Skills
- C Programming
- C++
- OOP
- Linux
- Embedded Systems
- Yocto
- BitBake
- Systemd
- D-BUS
- IPC
- Socket Programming
- POSIX Multi-threading
- OpenBMC
- U-Boot
- Linux Device Drivers
- GDB
- Git
- SVN
- IPMI
- Redfish
- MCTP
- PLDM