- Work within hardware department to research, design, develop, modify and maintain embedded OS, PMON, firmware and application software and device drivers for SCADA RTU and other support hardware.
- Perform troubleshooting, unit and integrated testing, verification of new and existing embedded software.
- Write/update design documents, test specification, user manual and other support documents.
- Work with Software R&D and SCADA Project Team for software, hardware integration and project support.
- Perform software version control, defect tracking and change control in accordance with development process.
- Report project progress, issues, and risk to hardware manager.
- Support all phases of hardware and software development process from prototypes to final product.
- Modify existing embedded software to ensure continuous product improvement both in quality and cost.
- Provide technical consultancy for existing and potential projects.
- Provide technical training to clients and internal staff.
- A BS/MS in Electrical/Computer/Electronics Engineering or Computer Science.
- Minimum 2 years of working experience in embedded software development, i.e. device drivers, PMON, bootloader, application, OS file systems, flash, etc.
- Experience in C/C++/PHP/CGI/Java on platform such as Embedded Linux, Open BSD, Real Time OS running on MIPS/ARM/Intel CPU/microcontrollers is required.
- Knowledge of standard communication protocols such as Ethernet, RS485, RS232, I2C, SPI, USB etc is required.
- Knowledge of DMA, interrupt, timers, memory, scheduling, etc. and an understanding of performance trade off are required.
- Hands on experience using open source compilers and tool chain is required.
- Experience with ICE, JTAG, logic analyzers, protocol analyzers, and other tools that are commonly used to debug embedded software will be an advantage.
- Fresh graduate with interest in embedded systems is encouraged to apply.