Job Title : C++ Embedded Software Engineer
Experience : 5+ Years (flexible based on expertise)
Employment Type : Full-Time, Permanent
Location : Hyderabad
Job Summary
We are seeking a highly skilled C++ Embedded Software Engineer to conceptualize, design, develop, and maintain high-performance applications. The ideal candidate will have hands-on experience with C++ development, Linux environments, debugging on target hardware, and multi-threaded applications , along with a strong background in software engineering best practices.
Key Responsibilities
Design, code, debug, and test C++ embedded software applications .
Provide creative and practical solutions to complex technical problems using modern programming technologies.
Analyse and contribute to system and subsystem requirements, specifications, and design definitions .
Deliver high- and low-level software design documents, storyboards, and interface specifications .
Implement Object-Oriented Design principles (UML, Design Patterns) in development.
Build reusable libraries and ensure thorough documentation.
Support the full SDLC from conception to product delivery , including maintenance and defect resolution.
Collaborate with cross-functional teams, including QA, product managers, and customer support.
Apply software engineering best practices : Automated Testing, CI / CD, TDD, SOLID, and Clean Code principles .
Participate in Agile / Scrum or Kanban ceremonies and contribute to continuous improvement.
Provide on-call / out-of-hours support when required.
Required Skills & Experience
Proven experience in C++ development (embedded systems preferred).
Strong knowledge of multi-threaded applications, client-side development, REST, JSON, and Web Services .
Proficiency in debugging applications on target hardware and crash reporting solutions.
Solid experience in Linux development with understanding of Linux UI / UX concepts and Ubuntu platform nuances.
Familiarity with CLion or Eclipse IDEs , RPM packaging / installers.
Experience in troubleshooting, debugging, and optimizing applications.
Hands-on with Git, Jenkins , and Agile methodologies.
Knowledge of test automation frameworks (Google Test, VSTest).
Strong problem-solving and communication skills.
Desirable Skills
Experience with other high-level languages : C#, Java, Python, JavaScript, XML.
Familiarity with BitBucket, Conan, DOORS, Test Rail, JIRA .
Hands-on experience with Valgrind, memory management, disk I / O optimization .
Exposure to cryptography, NFC interfacing, and low-level smart card communication .
Experience building simulators or test harnesses .
Education & Qualifications
Bachelor’s degree in Computer Science, Electrical Engineering, or related field (or equivalent professional experience).
Master’s degree in a related discipline – desirable.
Certifications in relevant programming languages, frameworks, or Agile (Scrum Master) – a plus.
Software Engineer • Hyderabad, India