
- Scale StageRapidly increasing operations
In office
Not Available
About the job
Role Overview
We are looking for a Systems Software Engineer to work on the software that runs on our embedded devices - from board bring-up and low-level driver work through to complete, deployable applications.
A significant part of the role is integration: bringing multiple peripherals and sensors into a single system and making them work together reliably. That means writing the interface layers, getting the data flowing correctly and on time, and then proving the whole thing holds up under real operating conditions.
The role suits an engineer who is comfortable close to the hardware, who reads a datasheet before writing code, and who enjoys the point where software, electronics and sensors meet.
Key Responsibilities
Develop and bring up complete embedded system applications, from initial board bring-up to deployed software.
Integrate multiple peripherals and sensors into a working system — writing interface and driver-level code, and validating behaviour against hardware.
Implement communication over standard interfaces and buses (I2C, SPI, UART, CAN, USB, Ethernet and similar), including protocol handling, framing and error recovery.
Build reliable data paths between subsystems, handling timing, buffering, synchronisation and throughput constraints.
Write multi-threaded and concurrent code, with careful attention to synchronisation, shared state and real-time behaviour.
Optimise software for speed, memory footprint and deterministic performance across target platforms.
Diagnose and fix bugs, race conditions and performance bottlenecks, including issues that only appear on real hardware.
Work with image and video data paths where required — capture, buffering and processing.
Collaborate with hardware, firmware, algorithms and systems teams to define, design and ship new features.
Maintain high coding standards, with clean, reviewable and testable code.
Travel to client sites as needed to support integration, commissioning and field debugging.
Qualifications
Bachelor's degree in Computer Science, Electronics, Electrical Engineering or a related technical field.
Proven professional experience in C and C++, particularly in embedded or systems-level software.
Strong background in embedded application and firmware development, with examples of prior work.
Practical experience integrating peripherals and sensors, and working directly from datasheets and interface specifications.
Solid understanding of multi-threading and concurrent programming, and the failure modes that come with them.
Comfortable working in Linux, including cross-compilation and building for embedded targets.
Strong debugging instincts and analytical skills, especially where the problem sits between software and hardware.
Clear communication, including the ability to explain technical detail to non-technical stakeholders.
Willingness and ability to travel for client engagements.
Preferred Skills
Experience with image processing, video pipelines or camera interfaces.
Familiarity with device drivers, kernel-space development or RTOS environments.
Working knowledge of Python for test, automation and analysis tooling.
Version control with Git, and familiarity with modern build systems such as CMake.
Experience with unit, integration and automated testing frameworks.
A track record of designing and implementing systems that scale and stay maintainable.
Sound grounding in professional software engineering practice across the full development life cycle.
About the company

Tonbo Imaging Pvt.Ltd
- Scale StageRapidly increasing operations
Employees joined from
Founders

Similar Jobs








