System Software Engineer
Confidential
Posted: January 30, 2026
Interested in this position?
Create a free account to apply with AI-powered matching
Required Skills
Job Description
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