Overview
- Reporting To: Manager (Software Development)
- Position Summary: Software Development
Job Purpose
Embedded systems developers, with skills, knowledge in bare metal, RTOS and Linux based development of standard peripherals, including USB device and host.
Key Responsibilities
- Design, develop, and optimize embedded firmware in C/C++ for production-grade devices.
- Architect and implement solutions on microcontrollers, processors, and RTOS-based systems.
- Lead debugging and resolution of complex hardware–software integration challenges.
- Build and enhance C#/.NET-based production test systems for manufacturing environments.
- Drive end-to-end product development, from prototyping and validation through to mass production and deployment
Addition Responsibilities
- Any reasonable task assigned by management and deemed to be within the individuals’ capabilities to ensure smooth running of the business.
Knowledge & Skill Requirements
- Degree/master’s in computer science/engineering
- More than 3 years or above experience in the area of embedded systems and/or embedded Linux
- Must have strong programming skills in C/C++. Knowledge of Python, C# programming is advantageous.
- Good domain experience in standard peripherals found in an MCU or SoC (I2C, SPI, UART, SDHC, USB, ETH MAC, PWM, Timers, Watchdog, Power, GPIO).
- Knowledge of industrial communication protocols such as Modbus (RTU/TCP), BACnet for device control and monitoring.
- Knowledge of wireless communication protocols including Zigbee, Bluetooth Low Energy (BLE), and LoRaWAN.
- Working experience from specification to completed products
- Experience or comfortable with schematics, hardware boards, scope and/or analyser equipment
- Professional attitude to work and meticulous in coding and testing
- Must have participated and experienced in SQA processes
- Candidates with deep experience will be considered for staff positions
Working Conditions
- We provide a professional, fun and exciting work environment where innovation and creativity thrive!