About the Role Our client, a pioneering technology firm specializing in IoT solutions, is looking for a highly motivated Senior Embedded Systems Engineer to join their fully remote workforce. This is a ground-breaking opportunity to contribute to the development of intelligent, connected devices that are shaping the future of smart technology. You will be responsible for the design, development, testing, and deployment of embedded software and firmware for a variety of innovative products. Working from your chosen location, you will collaborate closely with hardware engineers, software developers, and product managers to bring complex systems to life. This remote-first position emphasizes autonomy, innovation, and impactful contributions. If you are passionate about embedded systems, thrive in a collaborative virtual environment, and want to make a tangible difference in the tech industry, this role in Pretoria (with remote operation) is for you.
Key Responsibilities
- Design, develop, and optimize embedded software and firmware for microcontrollers and embedded systems.
- Write clean, efficient, and well-documented C/C++ code for real-time operating systems (RTOS) and bare-metal environments.
- Develop and implement device drivers and low-level hardware interfaces.
- Perform hardware bring-up, debugging, and system integration.
- Design and implement communication protocols (e.g., SPI, I2C, UART, USB, Ethernet, wireless protocols).
- Develop and execute unit tests, integration tests, and system tests to ensure software quality and reliability.
- Collaborate with hardware engineers to define system architecture and component selection.
- Troubleshoot and resolve complex firmware and software issues.
- Contribute to the design and implementation of automated testing frameworks.
- Stay updated with the latest trends and technologies in embedded systems and IoT.
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 systems 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.
- Hands‑on experience with embedded hardware debugging tools (e.g., JTAG, oscilloscopes, logic analyzers).
- Proficiency in developing and debugging device drivers and low-level interfaces.
- Solid understanding of computer architecture and digital logic design.
- Experience with various communication protocols.
- Familiarity with version control systems (e.g., Git).
- Excellent problem‑solving skills and attention to detail.
- Strong communication skills for effective remote collaboration.
- Prior experience in IoT device development is highly desirable.
Benefits
- Highly competitive salary package tailored for remote roles.
- Performance-based annual bonuses.
- Comprehensive health insurance coverage.
- Generous professional development budget for training, conferences, and online courses.
- Flexible working hours and a results-oriented work environment.
- Opportunity to work with cutting‑edge IoT technologies and influence product roadmaps.
- Company‑provided high‑performance laptop.
- 25 days of paid annual leave.