About the Role
Our client is seeking a highly skilled and experienced Senior Firmware Engineer specializing in Embedded Systems to join their innovative product development team. This role is crucial for designing, developing, and testing embedded firmware for a range of sophisticated electronic devices. The position is based in Benoni, Gauteng, ZA, and operates on a hybrid work model, offering a blend of remote work flexibility and essential on-site collaboration. You will work within a cross-functional team environment, contributing to the entire product lifecycle from concept to market launch, ensuring high-quality, reliable, and efficient embedded solutions.
Key Responsibilities
- Design, develop, implement, and maintain embedded firmware for microcontrollers and embedded systems.
- Write clean, efficient, and well-documented C/C++ code for real-time operating systems (RTOS).
- Develop and execute unit tests, integration tests, and system tests to ensure firmware quality and reliability.
- Collaborate closely with hardware engineers to define firmware requirements and ensure seamless hardware/software integration.
- Debug complex firmware issues using a variety of tools, including emulators, debuggers, and logic analyzers.
- Optimize firmware performance for speed, memory usage, and power consumption.
- Participate in the entire product development lifecycle, including requirements gathering, architecture design, implementation, testing, and production support.
- Contribute to the continuous improvement of firmware development processes and tools.
- Mentor junior firmware engineers and provide technical guidance.
- Stay updated with the latest trends and technologies in embedded systems and firmware development.
Requirements
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
- Minimum of 6 years of professional experience in embedded firmware development.
- Strong proficiency in C and C++ programming languages for embedded applications.
- Experience with real-time operating systems (RTOS) such as FreeRTOS, Zephyr, or similar.
- Proficiency in debugging embedded systems using JTAG, SWD, oscilloscopes, logic analyzers, and other development tools.
- Understanding of embedded hardware architectures, including microcontrollers (e.g., ARM Cortex-M), memory interfaces, and peripheral communication protocols (e.g., SPI, I2C, UART).
- Experience with version control systems (e.g., Git).
- Familiarity with embedded Linux is a plus.
- Strong analytical and problem-solving skills.
- Excellent communication and teamwork abilities.
- Ability to work effectively in a hybrid environment, balancing remote and on-site responsibilities.
Benefits
- Competitive salary and potential for performance bonuses.
- Comprehensive health, dental, and vision insurance.
- Retirement savings plan with matching contributions.
- Generous paid time off and holidays.
- Professional development opportunities, including training and conferences.
- Hybrid work arrangement offering work-life balance.
- Opportunity to work on innovative and challenging projects.
- Collaborative and supportive team environment.