Flag job

Report

Software Engineer - C/C++ Programming

Min Experience

7 years

Location

Hyderabad, Telangana, India

JobType

full-time

About the job

Info This job is sourced from a job board

About the role

  • Location : Hyderabad
  • Experience : 7+ years
  • Employment Type : Full-time
  • Work Mode : WFO
  • Qualification : B.E./B.Tech or M.E./MTech in ECE, EE, or related field

Job Description

We are seeking an experienced Software Engineer with a strong background in software design, development, and testing for embedded and system-level platforms. The ideal candidate will work across the entire software lifecycle - from requirements gathering to development, testing, documentation, and deployment - ensuring the delivery of robust, scalable, and high-performance software.

Key Responsibilities

  • Design, develop, and test high-performance, multithreaded software for embedded and system-level platforms.
  • Develop and maintain device drivers, low-level software, and board-level interfaces.
  • Contribute to all stages of development lifecycle including requirement analysis, design

documentation, implementation, and verification.

  • Author and maintain technical documents such as requirements specs, design documents,

user guides, and API specifications.

  • Debug and optimize software using hardware tools like JTAG, logic analyzers, and trace

debuggers.

  • Collaborate closely with hardware, firmware, and QA teams to ensure complete and

functional integration.

  • Integrate and customize open-source software for embedded platforms and contribute to

Upstream Projects If Skills & Experience

  • Strong proficiency in C/C++ programming, with experience in writing clean, modular, and scalable code.
  • Deep experience in multithreaded software development on Linux-based platforms.
  • Experience designing software APIs and reusable software components.
  • Good understanding of embedded IP subsystems : Ethernet, PCIe, SPI, I2C, USB, GPIO,

Memory controllers, DMA, DDR/SDRAM.

  • Experience in developing software for platforms such as x86, bare-metal, and RTOS-based

systems.

  • Hands-on experience with bootloaders (e.g., U-Boot) and register-level programming.
  • Proven experience in low-level driver development and integration.
  • Exposure to FPGA-based systems and experience in software programming for FPGAs is a

plus.

  • Experience integrating and customizing open-source packages.
  • Strong debugging and problem-solving skills at both software and hardware interface levels.
  • Proficiency in scripting languages such as Python, Perl, or TCL.

Preferred Skills

  • Familiarity with CI/CD tools and automated testing frameworks.
  • Experience with performance profiling, memory optimization, and real-time debugging.
  • Exposure to secure boot, firmware validation, and production software workflows.
  • Experience with Git, JIRA, Jenkins, or similar development tools.
  • Comfortable working in Agile/Scrum environments.

Why Join Us?

  • Work on cutting-edge embedded platforms and system software.
  • Join a collaborative team of engineers passionate about innovation and performance.
  • Competitive compensation and opportunities for growth across domains.

(ref:hirist.tech)

Skills

c
c++
linux
embedded
software design
software development
software testing
device drivers
board-level interfaces
requirements analysis
design documentation
implementation
verification
technical documentation
jtag
logic analyzers
trace debuggers
hardware integration
firmware
qa
open-source software
multithreaded programming
software apis
reusable software components
ethernet
pcie
spi
i2c
usb
gpio
memory controllers
dma
ddr
sdram
bootloaders
register-level programming
driver development
fpga
scripting
python
perl
tcl
ci/cd
automated testing
performance profiling
memory optimization
real-time debugging
secure boot
firmware validation
production software workflows
git
jira
jenkins