Position : C++ Software Developer
Experience Required : 4 7+ Years
Location : Yeshwanthpur, Bangalore
Mode of Work : Onsite
Industry : Embedded Systems / Networking / the Role :
We are seeking a highly skilled and experienced C++ Software Developer to join our core development team working on cutting-edge embedded systems. The ideal candidate will have a strong foundation in C++ programming, a deep understanding of low-level driver development, and hands-on experience in PHY and MAC layer protocols. The role demands strong debugging, analytical thinking, and a proactive attitude to solve complex engineering Responsibilities :
- Design, develop, and maintain robust and efficient C++ codebases for embedded platforms.
- Work on device driver development, board bring-up, and integration for Linux and FreeRTOS-based systems.
- Develop and debug PHY / MAC layer drivers to support high-performance networking applications.
- Collaborate with cross-functional teams including hardware, firmware, and test engineers to define software
specifications and requirements.
Implement and maintain software interfaces for I2C, SPI, UART, and other hardware interfaces.Perform detailed debugging and performance optimization of code, including low-level kernel driver issues.Contribute to automated test frameworks and create Python scripts to validate firmware and drivers.Participate in code reviews, provide feedback, and ensure coding standards are maintained.Create and maintain clear documentation of software modules and design processes.Continuously analyze and improve existing systems for better performance, scalability, and Requirements :Bachelors Degree in Electronics and Communication Engineering (ECE) or Electrical Engineering (EE) or related field.Strong hands-on experience in modern C++ (C++11 and above) object-oriented programming, STL, memory management, multi-threading, etc.3+ years of real-world experience in embedded C++ development on Linux and / or RTOS platforms.Solid experience in Linux kernel programming, device driver development, and board bring-up.Deep knowledge of memory-mapped I / O, interrupt handling, and peripheral configuration.Experience working with PHY / MAC layer protocols and interfacing with networking chips or wireless modules.Expertise in communication protocols such as I2C, SPI, UART, GPIO, etc.Working knowledge of FreeRTOS or similar real-time operating systems.Proficiency in Python for scripting and test automation.Familiarity with version control systems such as Git, and collaborative development to Have (Optional) :Experience with hardware debugging tools like JTAG, Oscilloscopes, Logic Analyzers.Exposure to networking protocols (Ethernet, TCP / IP stack).Knowledge of CI / CD practices and test automation frameworks.Contributions to open-source embedded or driver projects.(ref : hirist.tech)