Posted on: 13/07/2026
Job Description :
We are seeking a highly skilled C++ Developer with strong expertise in Object-Oriented Programming (OOP), a solid Linux systems background, and hands-on experience in hardware-software integration and testing. The ideal candidate will play a key role in developing high-performance applications and ensuring seamless interaction between software modules and hardware components.
The role requires strong debugging skills, system-level understanding, and the ability to work in a cross-functional environment involving firmware, hardware, and QA teams.
Core Programming Skills :
- Strong proficiency in C++ (mandatory)
- Deep understanding of :
1. Object-Oriented Programming (OOP)
2. Data structures and algorithms
3. Memory management (pointers, smart pointers)
4. Multi-threading and concurrency
Linux Expertise :
- Strong hands-on experience in Linux/Unix environment
- Familiarity with :
1. Shell scripting (Bash)
2. Linux commands & file systems
3. Process and thread management
4. System-level programming (POSIX APIs)
Hardware-Software Integration :
- Experience in :
1. Device drivers / embedded interfaces
2. Communication protocols (UART, SPI, I2C, CAN, Ethernet, etc.)
3. Interfacing with sensors, peripherals, or embedded boards
4. Knowledge of firmware interaction and debugging
Testing & Debugging Tools :
- Experience with :
1. Debugging tools : GDB, Valgrind
2. Profiling tools : perf, top, htop
3. Integration testing frameworks
- Strong debugging and root cause analysis skills
Build & Development Tools :
- Build systems : Make, CMake
- Version control : Git
- CI/CD familiarity (optional but preferred)
Roles & Responsibilities :
Software Development :
- Design, develop, and maintain robust applications using C++ (modern standards preferred : C++11/14/17).
- Implement scalable and maintainable code using OOP principles (encapsulation, inheritance, polymorphism).
- Develop low-level and system-level components for Linux-based platforms.
Hardware-Software Integration :
- Work closely with hardware teams to integrate software with embedded systems, sensors, or devices.
- Develop drivers, interfaces, or middleware components to enable communication between hardware and software.
- Validate hardware behavior through software testing and debugging.
Testing & Validation :
- Perform integration testing across hardware and software layers.
- Design and execute test cases for system-level validation.
- Troubleshoot issues related to hardware interfaces, drivers, and system interactions.
Linux System Development :
- Develop and debug applications on Linux-based systems.
- Work with Linux tools (e.g., GDB, strace, top, perf) for performance tuning and debugging.
- Handle memory management, multi-threading, and process synchronization.
Debugging & Troubleshooting :
- Analyze and resolve complex issues across software, firmware, and hardware.
- Use debugging tools and logs to identify root causes.
- Optimize performance and reliability.
Mandatory Skills :
- Object-oriented Programming (OOP), Linux, Shell Scripting, C++, Embedded Software, Cmake, Make
Desirable Skills :
- UART, SPI, CAN, I2C, Ethernet
Did you find something suspicious?
Posted by
Posted in
Backend Development
Functional Area
Backend Development
Job Code
1653463