Job Description :
We are looking for an experienced Embedded Software Developer with strong expertise in C++ and embedded systems. The candidate will work on designing, developing, and maintaining embedded software for IoT and industrial applications, interfacing with hardware peripherals, and leveraging cloud and communication protocols.
Key Responsibilities :
- Design, develop, and maintain embedded software using modern C++ standards (C++11, C++14, C++17, C++20)
- Implement templates, STL, smart pointers, and advanced C++ constructs for embedded applications
- Develop multithreaded applications with scheduling and inter-process communication
- Interface with embedded peripherals using SPI, I2C, UART, CAN, etc.
- Apply memory management techniques including manual allocation, garbage collection, and smart pointer usage
- Utilize design patterns (Factory, Singleton, Observer, etc.) in embedded systems
- Work with IoT platforms and cloud services like Azure and AWS
- Implement messaging and telemetry protocols such as MQTT
- Develop and maintain industrial IoT solutions using field protocols like Modbus, BACnet, OPC-UA
- Use embedded development tools like JTAG, oscilloscopes, logic analyzers for testing and debugging
- Collaborate using version control systems like Git
- Perform unit testing and debugging to ensure high-quality code
Must-Have Skills :
Strong Embedded C++ and C++ programming expertiseHands-on experience with MQTT and cloud platforms (Azure, AWS)Knowledge of industrial protocols (Modbus, BACnet)Experience with DOCKER and containerized applicationsProficiency in debugging and embedded testing toolsSkill Set Keywords :
Embedded C++, C++, MQTT, Azure, AWS, Modbus, BACnet, DOCKER, IoT, SPI, I2C, UART, CAN, Unit Testing(ref : hirist.tech)