Design and maintain Windows-based software that interfaces with hardware peripherals. Focus on API development, protocol implementation, and collaboration with firmware engineers for system integration.
We are seeking a skilled Software Engineer to develop and maintain Windows-based PC software that communicates with custom and third-party peripheral devices and provides well-defined application programming interfaces (APIs) for other PC applications.
This role focuses on host-side software development, device and network communication, protocol implementation, and the design of stable, clearly documented APIs. You will collaborate closely with internal engineering teams and external developers to ensure reliable integration across hardware and software components.
Key Responsibilities
- Design, develop, and maintain software applications running on Windows PCs
- Implement reliable communication between PC applications and peripheral devices, both in-house and third-party
- Work with multiple communication interfaces, including:
- Serial (COM) ports.
- USB and USB-HID devices.
- Ethernet-based devices using TCP/IP
- CAN-bus connected devices
- Install, configure, and troubleshoot operating system device drivers; contribute to custom driver development when required
- Integrate external hardware devices using manufacturer-provided drivers, SDKs, or APIs
- Implement packet-based communication according to defined protocol specifications, including structure, sequencing, and timing
- Design and implement inter-process and inter-application communication between PC applications
- Define, implement, and maintain clear, well-documented APIs for application-to-application communication
- Implement communication interfaces using technologies such as TCP/IP sockets (Winsock), RESTful APIs, Websockets, or other IPC mechanisms as appropriate
- To work closely with software and hardware disciplines to integrate and build systems
- Collaborate with embedded firmware engineers to align PC-side implementations with device protocols
- Provide technical guidance and integration support to internal and external application developers
- Debug and resolve communication, performance, and reliability issues across hardware and software boundaries
- Produce technical documentation for protocols, APIs, and integration interfaces
Required Skills & Experience
- Strong experience developing software for Windows-based systems
- Solid understanding of hardware-to-PC communication concepts
- Experience with serial communication, including COM ports and USB-to-Serial converters.
- Familiarity in using version control software like GitLab.
- Experience working with USB-HID devices, including standard and custom HID implementations.
- Experience communicating with devices over Ethernet using TCP/IP.
- Experience integrating third-party hardware using vendor-provided drivers and SDKs
- Experience designing and implementing communication protocols from technical documentation
- Experience with inter-process or inter-application communication on Windows
- Practical knowledge of one or more of the following:
- TCP/IP socket communication (Winsock)
- RESTful API design and implementation
- Client/server architectures
- Strong debugging and problem-solving skills
Preferred
- Experience developing or modifying custom OS-level drivers
- Familiarity in CI/CD workflows
- Familiarity with Linux-based systems or cross-platform development
- Experience with protocol analyzers, network sniffers, or USB analysis tools
- Background in industrial, medical, robotics, test & measurement, or hardware-focused systems
- Experience designing versioned APIs used by multiple internal or external applications
Top Skills
Can-Bus
Com Ports
Gitlab
Restful Apis
Tcp/Ip
Usb
Websockets
Windows
Similar Jobs
Gaming • News + Entertainment • Software
The Fullstack Software Engineer will develop enterprise-grade software, manage system integration projects, and collaborate across teams while ensuring scalability and performance in coding.
Top Skills:
CSS3DockerFastapiFlaskHTML5JavaScriptKubernetesMongoDBMySQLPostgresPythonReact
Agency • Sales
Responsible for delivering automation computer control software solutions, including design, development, installation, testing, and commissioning for airport and logistics projects.
Top Skills:
C#DotnetJava
Cloud • Software
The role involves designing and implementing features, debugging, maintaining documentation, and collaborating with the community in the Mir graphics stack.
Top Skills:
C++FlutterLinuxOpenglRustVulkan
What you need to know about the Singapore Tech Scene
The digital revolution has driven a constant demand for tech professionals across industries like software development, data analytics and cybersecurity. In Singapore, one of the largest cities in Southeast Asia, the demand for tech talent is so high that the government continues to invest millions into programs designed to develop a talent pipeline directly from universities while also scaling efforts in pre-employment training and mid-career upskilling to expand and elevate its workforce.


