Utthunga
Website:
utthunga.com
Job details:
Job Title
Sr. Firmware Engineer - Embedded
Job Description
We are seeking a passionate Embedded C++ Developer with 4–6 years of experience in memory-aware embedded application development. The ideal candidate will have hands-on experience in developing Human Machine Interface (HMI) applications for real-time systems using C++, with a strong understanding of embedded constraints, OS abstraction, and high-quality software design.
This role goes beyond typical application-level C++ development, it demands deep understanding of embedded system design, memory management, and cross-platform abstraction, ensuring code runs reliably across FreeRTOS and bare-metal environments.
Roles & Responsibilities
Key Responsibilities:
- Design and develop Human Machine Interfaces (HMI) for embedded systems running on FreeRTOS or bare metal.
- Implement UI logic using C/C++ frameworks tailored for constrained embedded targets.
- Architect and implement abstraction layers to decouple high-level application logic from hardware-specific modules.
- Develop efficient, reusable, and reliable C++ code that meets memory, performance, and real-time constraints.
- Conduct unit testing and embedded smoke testing using mocking and stubs for validation in non-hardware environments.
- Analyze and optimize memory usage, including static/dynamic allocations and stack/heap management.
- Collaborate with firmware, hardware, and QA teams to integrate and validate features across layers.
- Ensure code quality, documentation, and adherence to embedded coding standards
- Participate in design reviews, code reviews, and maintain technical documentation for long-term maintainability.
- Continuously evaluate new embedded UI frameworks, testing tools, and optimization techniques to improve efficiency.
- Write and maintain comprehensive documentation for new and existing code.
- Follow secure coding guidelines and ensure compliance with industry safety standards (e.g., MISRA C++, CERT C++).
- Implement defensive programming and robust error handling to ensure system reliability.
- Participate in security reviews and assist in threat modeling for embedded applications.
- Conduct static/dynamic code analysis to ensure code safety, memory correctness, and compliance.
- Contribute to a safety-compliant development lifecycle, ensuring traceability across design, implementation, and testing.
- Ensure firmware is secure-by-design, with emphasis on data integrity, access control, and reliable execution under constraint
Required Skills:
- Strong expertise in Embedded C++ with focus on memory-aware, low-latency, and deterministic systems.
- Experience in HMI development for FreeRTOS or bare-metal systems.
- Deep understanding of RTOS concepts, task management, inter-task communication, and timing constraints.
- Proven ability to design and develop abstraction layers and hardware interface modules.
- Proficiency with data structures and algorithms optimized for limited memory environments.
- Strong knowledge of memory management, stack/heap optimization, and resource monitoring.
- Experience with unit testing frameworks and mock-based testing in embedded environments.
- Solid understanding of embedded toolchains, cross-compilation, and build systems (CMake, Make).
- Good understanding of version control systems (GitHub/GitLab).
- Excellent problem-solving, debugging, and documentation skills.
Desired skills:
- Common Industrial Protocol Familiarity – EtherNet/IP
- Experience in peripheral driver development and integration (SPI, I2C, UART, etc.).
- Exposure to Bluetooth or NFC stacks.
- Knowledge of Python for scripting, testing, or build automation.
- Understanding of UI/UX principles for embedded displays.
- Experience with CI/CD pipelines (GitLab Runner, TeamCity).
- Familiarity with embedded test automation and developer validation workflows.
- Knowledge of code quality tools (Static analysis, MISRA compliance
- Awareness of functional safety and cybersecurity standards (ISO 26262, IEC 61508, IEC 62443).
Mandatory Skills
Embedded C++ with focus on memory-aware, low-latency, and deterministic systems, HMI development for FreeRTOS or bare-metal systems, design and develop abstraction layers and hardware interface modules, Experience with unit testing frameworks
Desirable Skills
EtherNet/IP, SPI, I2C, UART, Bluetooth or NFC stacks, Python for scripting, testing, or build automation, UI/UX principles for embedded displays, CI/CD pipelines , Static analysis, MISRA compliance
Skills to be evaluated on
C++RTOSEmbedded
Years Of Experience
4 to 6 Years
Click on Apply to know more.