Senior Embedded Software Engineer
Description
Job Description :
We are seeking a Senior Embedded Software Engineer with strong expertise in C++, Embedded Linux, Python, and Qt/QML to develop and maintain enterprise-grade embedded products. The role involves embedded software architecture, firmware and application development, system-level debugging, hardware-software integration, and performance optimization. Experience in printer, imaging, or similar device-based product engineering environments is preferred.
Location : Bengaluru
Responsibilities :
- Design, develop, and maintain high-performance embedded software using C++ on Embedded Linux platforms.
- Architect and implement firmware and application components for enterprise-grade embedded products.
- Develop Python-based automation tools, testing frameworks, and engineering utilities.
- Build and enhance device user interfaces using Qt/QML.
- Perform firmware flashing, hardware bring-up, board-level debugging, and system validation.
- Troubleshoot issues across firmware, middleware, operating systems, applications, and hardware interfaces.
- Conduct root cause analysis, assess component dependencies, and resolve complex system-level and production issues.
- Collaborate with hardware, platform, QA, DevOps, and product teams throughout the product development lifecycle.
- Drive software quality through automated testing, static code analysis, code reviews, and CI/CD practices.
- Contribute to build systems, release engineering, deployment automation, and continuous integration.
- Participate in Agile/Scrum activities and mentor engineers on development practices and engineering standards.
Requirements :
- 6 - 9 years of software development experience, with at least 5 years of hands-on experience in C++, Embedded Linux, and Python.
- Strong understanding of embedded software architecture, object-oriented design, design patterns, multithreading, concurrent programming, and Linux system programming.
- Experience in firmware development, debugging, hardware-software integration, and system-level troubleshooting.
- Hands-on experience with Qt/QML application development and embedded product engineering.
- Experience with CI/CD pipelines, Git, automated testing frameworks such as Google Test (gTest), Python-based automation, and static code analysis tools.
- Familiarity with CMake, Make, or Yocto build systems.
- Ability to debug complex issues across multiple software layers, perform root cause analysis, and assess system-wide technical impacts.
- Experience developing embedded products such as printers, multifunction devices, industrial devices, networking equipment, or IoT products.
- Strong analytical, problem-solving, communication, and ownership skills, with the ability to work effectively in Agile teams.
- A Bachelors or Masters degree in Computer Science, Electronics and Communication, Electrical Engineering, Embedded Systems, or a related discipline.
- Experience in enterprise printer development, printer firmware, imaging workflows, print protocols, Linux BSP customization, platform bring-up, networking, USB communication, secure firmware upgrades, or embedded security is preferred.