Remote job
Mid/Senior C Software Engineer - Yang Models
Job details
About this role
Role overview
Develop and validate software that maps network configuration models for modern platforms and operating systems. You’ll work with an internationally distributed project team, interpret requirements with technical stakeholders, and contribute across implementation, testing, review, and documentation. Occasional customer calls may take place during US-friendly hours, around 17:00–20:00.
Responsibilities - Analyze requirements and propose practical implementation approaches; participate in technical discussions with stakeholders. - Implement and unit-test YANG-based mappings for OpenConfig models using established designs. - Review code, document changes, and contribute to the wider software development process. - Coordinate with infrastructure specialists to clarify YANG behavior and review new mappings. - Use AI agent tools to help build development tooling and, at times, join technical presales discussions.
Requirements - Strong C programming skills, including reading and refactoring existing code while considering memory safety and legacy code removal. - Working knowledge of YANG structures and hierarchical schemas such as OpenConfig, IETF, or vendor models. - Solid Layer 2 and Layer 3 networking fundamentals, including interfaces, VLANs, routing, BGP, and access control lists. - Comfort with Linux development, Git, and build systems, plus intermediate Python skills for running and debugging regression tests.
Nice to have - Experience with network operating systems such as SONiC, IOS-XR, EOS, Junos, OpenWrt, or prplOS. - Familiarity with NETCONF, RESTCONF, gNMI, pyang, schema validation, or network test tools such as PyTest, PTF, and Scapy. - Background in declarative DSLs, schema translation, code generation, or CI/CD workflows.
Benefits and work setup
Flexible hours and remote, hybrid, or office work are available. Support includes hands-on onboarding, internal training, a training budget, and the possibility of moving to another project.