Remote job
Network Software Engineer with C
Job details
About this role
Role overview Build and evolve Python-based testing tools for networking devices, combining an understanding of physical hardware with AI-assisted development. The work spans test scripts and hardware validation across router platforms, with input from client architects and end users to turn requirements and edge cases into practical tooling.
Responsibilities - Develop, debug, and maintain test tools for networking platforms, including work around board support and low-level software. - Use AI coding assistants as a central part of the workflow to generate, refactor, and extend test scripts. - Investigate implementation options and translate requirements into design decisions. - Join design discussions with architects and users to clarify needs and shape the testing tool. - Integrate tools with networking hardware, flash devices, and verify behavior on target platforms.
Requirements - Strong C skills and experience with Linux system or kernel programming. - Python scripting ability for test development and automation. - Hands-on experience using agentic AI or AI coding tools in software work. - Experience integrating and bringing up hardware. - Networking hardware experience in at least one area: high-speed transceivers and network interfaces, or ASICs, NPUs, and switching silicon with vendor SDKs. - Background in register-level programming and interfaces such as I2C, PCIe, SPI, or MDIO.
Nice to have - Familiarity with network encryption protocols at the hardware or datapath level.
Benefits and work setup - Work may involve client-provided hardware and tools; early-evening meetings may be needed to coordinate across time zones. - Flexible hours and remote, office, or hybrid options, plus training support and hands-on onboarding.