Senior Software Engineer - Embedded
Description
We are looking for a highly skilled Senior Embedded Software Engineer to join our product engineering team. The ideal candidate will possess deep expertise in C++, Embedded Linux, and Python.
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.
- 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.
- Analyse 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.
Requirements:
- 6-8 years of software development experience with at least 5 years of hands-on experience in: C++, Embedded Linux, Python.
- 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.
