HamburgerMenu
hirist

Job Description

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

info-icon

Did you find something suspicious?

Similar jobs that you might be interested in

Loading chat...