Start Your Search Here

Job Search

LAI Games

Singapore / Global

System Software Engineer

Job Description

Job Summary 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

Nice-to-Have Qualifications

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

Apply Now

Similar Opportunities

View all jobs