Location:
About the Role
Senior Embedded Software Engineer
You will be responsible for designing and developing robust embedded software solutions, driving architectural decisions, debugging complex system-level issues, and contributing to modern CI/CD and quality engineering practices. This role demands hands-on technical leadership and the ability to work across the entire embedded software stack.
Key Responsibilities
- Design, develop, and maintain high-performance embedded software applications using
C++ on Embedded Linux platforms
. - Architect and implement scalable firmware and application components for enterprise-class embedded products.
- Develop Python-based tools, automation frameworks, and engineering utilities.
- Build and enhance device user interfaces using
Qt/QML
technologies. - Perform firmware flashing, hardware bring-up, board-level debugging, and system validation.
- Troubleshoot complex issues across firmware, middleware, operating system, applications, and hardware interfaces.
- Conduct root cause analysis and drive resolution of critical product issues.
- Analyze component dependencies, assess system-wide impacts, and ensure architectural integrity.
- Collaborate with hardware, platform, QA, DevOps, and product teams throughout the product lifecycle.
- Participate actively in Agile/Scrum development processes and code review activities.
- Drive software quality through automated testing, static code analysis, and continuous integration practices.
- Contribute to build systems, release engineering, CI/CD pipelines, and deployment automation.
- Mentor engineers and promote engineering excellence across the team.
Required Qualifications
Technical Skills
- 6-8 years of software development experience with at least 5 years of hands-on experience in:
- Strong expertise in:
- Embedded software architecture and design
- Multithreading and concurrent programming
- Linux system programming
- Object-Oriented Design and Design Patterns
- Firmware development and debugging
- Hardware-software integration
- Extensive experience with:
- Qt/QML application development
- Enterprise product development environments
- Embedded device platforms such as printers, multifunction devices, industrial devices, networking equipment, or IoT products
Development & DevOps
- Hands-on experience with:
- CI/CD pipelines and DevOps practices
- Git-based source control systems
- Automated testing frameworks (Google Test / gTest)
- Python-based build and automation tools
- Code quality and static analysis tools
- Build systems such as CMake, Make, or Yocto
Debugging & System Analysis
- Proven ability to:
- Debug complex product issues across multiple software layers
- Perform deep root cause analysis
- Conduct dependency and impact assessments
- Resolve platform-level integration challenges
- Drive critical issue closure in production environments
Preferred Experience
- Experience in
Enterprise Printer Product Development
. - Exposure to printer firmware, imaging workflows, print protocols, and device management solutions.
- Experience in Linux BSP customization and platform bring-up.
- Knowledge of networking protocols, USB communication, and hardware interfaces.
- Familiarity with secure firmware upgrades and embedded security concepts.
Desired Competencies
- Strong analytical and problem-solving skills.
- Excellent debugging and troubleshooting capabilities.
- Ability to work effectively in a fast-paced Agile environment.
- Strong ownership mindset and accountability.
- Effective communication and stakeholder management skills.
- Passion for product engineering and hands-on development.
Educational Qualification
- Bachelor's or Master's Degree in Computer Science, Electronics & Communication, Electrical Engineering, Embedded Systems, or related discipline.