Embedded Software Developer
Posted Updated
Description
We're looking for a hands-on Embedded Software Developer to build and scale firmware and low-level systems for next-gen hardware products. This role is heavily focused on core programming (80%) with some hardware debugging (20%), ideal for engineers who enjoy working close to the metal.
Responsibilities:
- Design, develop, test, and debug embedded software using C, C++, and Python.
- Work extensively on Linux kernel development, driver writing, and porting.
- Build and optimize firmware stacks for embedded peripherals.
- Develop and maintain interfaces for protocols like GPIO, SPI, I2C, UART, CAN, USB, RS232 RS485
- Work with microcontrollers (ARM-based) and embedded platforms.
- Integrate and interface modules such as GSM, sensors, and external devices.
- Perform hardware-level debugging and system bring-up.
- Collaborate with cross-functional teams across hardware and software.
Requirements:
- Strong proficiency in C/C++ (core requirement).
- Experience with Embedded Linux (kernel, drivers, and system-level programming).
- Solid understanding of communication protocols (SPI, I2C, UART, etc. ).
- Hands-on experience with microcontrollers (ARM preferred).
- Familiarity with platforms like Raspberry Pi / Arduino.
- Strong debugging skills across software + hardware layers.
Good to Have;
- Exposure to electronic hardware design / schematics.
- Experience with firmware architecture & optimization.
- Prior work with industrial communication protocols (CAN, RS485).