Hardware Integration Engineer
Job Summary:
We are seeking a skilled Software Engineer with a strong background in microcontrollers, embedded hardware, and communication protocols. The successful candidate will be responsible for designing, developing, testing, and maintaining software applications that interact with microcontrollers, embedded systems, and other hardware devices.
Responsibilities:
- Design and develop software applications using Python/C++/GO that integrate with microcontrollers, embedded systems, and other hardware devices
- Develop, test, and maintain existing software applications that utilise serial communication protocols (e.g. LAN, WiFi, LoRA, UART, SPI, I2C).
- Collaborate with cross-functional teams to identify and prioritise project requirements.
- Troubleshoot and resolve complex technical issues related to software-hardware integration.
- Participate in code reviews and provide feedback on peer's code.
- Stay up-to-date with industry trends, best practices, and new technologies.
Requirements:
- Bachelor's degree in Computer Science, Electrical Engineering, or a related field with a strong background in microcontrollers and embedded systems.
- 1 - 3 years of experience as a software engineer with proficiency in C, C++ and Python for embedded systems development and hardware integration.
- Strong understanding of computer architecture, digital logic, SBCs, and microcontrollers (e.g. Arduino, Raspberry Pi, BeagleBone, NVIDIA Jetson, ESP32).
- Experience with communication protocols such as UART, SPI and I2C.
- Strong understanding of software development life cycles (SDLC) and agile methodologies.
- Excellent problem-solving skills and attention to detail.
Preferred Qualifications:
- Familiarity with real-time operating systems (RTOS) and embedded Linux.
- Familiarity with cloud-based services and platforms (e.g. AWS, Azure, Google Cloud) for hosting and deploying applications