eSpark Consulting Group is seeking a highly experienced and results-driven Senior C/C++ Firmware Developer to join our embedded systems team. The ideal candidate will have deep expertise in embedded firmware development using C/C++, with hands-on experience in programming a wide range of 32-bit microcontrollers such as STM32 and ESP32, and a strong understanding of Embedded Linux environments, particularly OpenWRT.
Responsibilities:
- Lead end-to-end firmware development projects from concept to deployment, including planning, effort estimation, scheduling, resource coordination, and risk management.
- Design, develop, and optimize firmware for 32-bit microcontrollers, especially STM32, ESP32, NXP (Kinetis, i.MX), and Microchip MCUs (ATMEGA, ATSAM, LAN9255).
- Collaborate closely with hardware, software, and QA teams to drive technical decisions, ensure system integration, and resolve complex cross-functional challenges.
- Develop and maintain robust, scalable, and efficient embedded code adhering to MISRA C standards and relevant IEC safety and reliability standards.
- Integrate firmware with Embedded Linux systems, particularly OpenWRT, and provide technical leadership in embedded Linux development.
- Contribute to FPGA-based designs, including developing and integrating HDL logic to complement firmware functionality.
- Implement and maintain communication protocols such as UART, SPI, I2C, CAN, and Modbus in embedded applications.
- Develop and execute automated unit tests and validation plans to ensure firmware quality, performance, and reliability.
- Work on real-time and bare-metal systems, using RTOS platforms like FreeRTOS, with deep understanding of task scheduling and resource management.
- Use embedded IDEs and toolchains such as Keil, MPLAB X, STM32CubeIDE, ESP-IDF, and Segger Embedded Studio effectively.
- Collaborate in Agile/Scrum development environments, participating in sprint planning, code reviews, and continuous integration.
- Maintain high-quality firmware documentation, including flowcharts, test procedures, technical specifications, and version histories.
- Utilize modern C++17 features to write clean, efficient, and maintainable firmware code, leveraging capabilities such as structured bindings, and compile-time evaluations.
- Support internal engineering teams and customers with technical troubleshooting, bug fixing, and post-deployment support.
Requirements:
- 6+ years of hands-on experience in embedded systems design and firmware development.
- Proven expertise in C and C++ for embedded systems, including use of STL, smart pointers, and OOP principles.
- Strong experience with STM32, ESP32 (ESP-IDF), NXP, and Microchip MCUs (ATSAM, ATMEGA, LAN9255).
- In-depth understanding of RTOS, bare-metal programming, and multi-threaded applications.
- Proficiency in Embedded Linux systems, especially OpenWRT, including kernel customization and system-level integration.
- Working knowledge of FPGA design and integration, preferably using Verilog/VHDL and platforms like Xilinx or Intel FPGAs.
- Hands-on experience with debugging tools: JTAG, SWD, oscilloscopes, logic analyzers, and serial monitors.
- Familiarity with MISRA C, static code analysis tools, and industry compliance standards (e.g., IEC 61508, ISO 26262).
- Proficient with version control systems (Git) and CI/CD pipelines for firmware builds and automated testing.
- Strong command over modern C++ standards, particularly C++17, with practical experience using features like structured bindings.
- Experience in Agile methodologies, participating in sprint planning, retrospectives, and collaborative development workflows.
- Excellent written and verbal communication skills, with an ability to document, present, and explain complex technical concepts.
- Self-motivated, detail-oriented, and capable of mentoring junior team members and reviewing their work.
Qualification: Bachelor’s degree in electronic engineering, computer engineering, or similar.
Experience: 6+ years of experience as a Senior C/C++ Firmware Developer.
eSpark Consulting Group offers you the following benefits:
- Annual Increments
- Paid Time off
- Flexible work hours
Job Type: Full Time
Job Location: Block 1 Block 3 Gulistan-e-Johar Karachi