About the Role
Our client, a dynamic technology firm specializing in smart home devices and connectivity solutions, is actively seeking a highly skilled Senior Firmware Development Engineer to join their fully remote engineering team. This is a fantastic opportunity to contribute to the development of innovative products that enhance everyday living. You will be responsible for designing, implementing, and testing embedded firmware for a range of intelligent devices. As a fully remote-first organization, we champion effective virtual collaboration, clear communication channels, and the utilization of advanced tools to ensure project success irrespective of location. The ideal candidate possesses a deep understanding of embedded systems, real-time operating systems, and C/C++ programming, coupled with a passion for creating robust and efficient firmware. If you thrive in a remote setting and are eager to drive firmware innovation from **Soweto, Gauteng**, this role offers immense potential.
Key Responsibilities
- Design, develop, and maintain embedded firmware for new and existing smart home products using C/C++.
- Implement firmware solutions that meet stringent performance, reliability, and power efficiency requirements.
- Work with real-time operating systems (RTOS) for embedded applications.
- Develop and execute comprehensive unit tests and integration tests to ensure firmware quality.
- Collaborate with hardware engineers to define system architecture and hardware interfaces.
- Debug and troubleshoot complex firmware issues across various development and production environments.
- Optimize firmware performance and memory usage for resource-constrained embedded systems.
- Participate in code reviews, providing constructive feedback to peers.
- Research and integrate new technologies and protocols relevant to smart home devices (e.g., Wi-Fi, Bluetooth, Zigbee).
- Contribute to the continuous improvement of firmware development processes and tools within a remote team structure.
Requirements
- Master's degree in Electrical Engineering, Computer Engineering, or a related technical field.
- Minimum of 5 years of professional experience in firmware development for embedded systems.
- Proficiency in C and C++ programming languages, with a strong understanding of data structures and algorithms.
- Experience with real-time operating systems (RTOS) such as FreeRTOS, Zephyr, or similar.
- Familiarity with common microcontrollers (e.g., ARM Cortex-M, ESP32) and development environments.
- Knowledge of communication protocols like SPI, I2C, UART, TCP/IP, and wireless protocols (Wi-Fi, Bluetooth).
- Experience with version control systems (e.g., Git) and debugging tools.
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication and collaboration skills, essential for a remote work environment.
- Demonstrated ability to work independently and manage priorities effectively.
Benefits
- Competitive annual salary and potential for performance bonuses.
- Comprehensive health, dental, and vision insurance coverage.
- Generous paid time off and company holidays.
- Retirement savings plan with employer contribution.
- Home office equipment allowance and IT support.
- Opportunities for professional development, training, and conference attendance.
- Access to cutting-edge development tools and technologies.
- Flexible remote working hours to support work-life balance.