Hardware Developer
Responsibilities:
Design and develop the IO driver framework and protocols
Design and develop control engine extensions
Own the full product lifecycle, from concept to feature delivery
Explore and integrate emerging technologies to enhance innovation and user experience
Requirements:
Possess a recognized degree in Electrical / Electronic / Computer / Telecommunication Engineering or equivalent.
3+ years software development experience
Strong self-learning and self-management abilities
Proficiency in C/C++ language
Strong knowledge in Linux system programming, including file IO, networking, serial communication, process/thread and memory management, asynchronous IO
Familiar with GCC toolchain, CMake and Docker
Solid understanding of network technologies and protocols (TCP/UDP/MQTT)
Strong knowledge in Linux operation (systemd, networking, SSH etc) and shell scripting, familiar with 1+ Linux distribution(Debian/Ubuntu/ArchLinux/Fedora etc)
Familiar with Git version control system
Excellent problem-solving and analytical skills
Strong communication and collaboration skills
Fluent English reading and writing skills
Bonus: experience developing under real-time Linux or RTOS environments like FreeRTOS
Bonus: Familiarity with building automation, BACnet and Modbus
Bonus: Familiar with Boost / Asio
Bonus: Personal project on github