Network Software Engineer (Mid-Level / Senior) in Hanoi at Zhone Technologies Inc
Explore Related Opportunities
Job Description
Zhone Technologies is hiring multiple Network Software Engineers across two career levels: Middle and Senior level . During the application process, candidates will answer a screening question to indicate the level they intend to apply for. Candidates will be considered for the level that best matches their experience and qualifications.
In this role, you will contribute to the design and implementation of hardware abstraction layers (HAL), Linux kernel components, and ASIC platform integration for next-generation network equipment, while also supporting L2/L3 routing protocol development as we transition from legacy stacks to modern open-source systems such as FRR and SONiC.
Responsibilities and scope will scale based on the candidate’s experience level.
Key Responsibilities (All Levels)
HAL & Device Driver Development
- Develop and adapt HAL components for new hardware platforms and switching ASICs.
- Write and maintain Linux device drivers: I2C, SPI, GPIO, EEPROM, PHY/MAC, MDIO, SFP/QSFP, SerDes, and PCIe.
- Assist in hardware bring-up including bootloaders (U-Boot), device trees, and CPLD integration.
- Optimize kernel-level performance, reliability, and interface control.
ASIC SDK & SONiC Integration
- Integrate and validate switching ASIC SDKs: Broadcom, Marvell Prestera, Microchip/Vitesse VSC.
- Contribute to SONiC platform enablement: platform.json, SAI drivers, hwsku, CONFIG_DB, APP_DB, STATE_DB.
- Debug and resolve hardware-software interaction issues at the kernel and board level.
L2/L3 Routing Protocol Development
- Port, redesign, and implement routing protocols: BGP, OSPF, IS-IS, RIP (ZebOS to FRR/SONiC).
- Develop and integrate new or missing protocol features; debug interoperability issues.
- Work with Linux networking internals: Netlink, VRF, routing tables, bridge/VLAN.
Validation & Automation
- Write and execute unit, integration, and system validation tests.
- Develop automation scripts using Python, Bash, and TCL/Expect.
- Debug with: gdb, strace, dmesg, perf, valgrind, ftrace, JTAG.
This posting covers multiple openings at two career levels. Please review the qualifications for each level below and select the level that best matches your background during the application screening process.
Network Software Engineer (3+ Years)
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, or a related field.
- 3+ years of experience in embedded or platform software development.
- Hands-on experience with HAL design, Linux device drivers, and low-level hardware integration.
- Solid understanding of L2/L3 routing protocols and Linux networking.
- Proficiency in C/C++, Python, and Bash for development and automation.
Senior Network Software Engineer (7+ Years)
- 7+ years of embedded network software development.
- Proven HAL architecture design and platform software experience.
- Deep knowledge of Broadcom or other switching ASIC internals and SONiC platform porting.
- Strong Linux kernel and protocol stack expertise; high ownership and self-motivation.
Nice to Have (All Levels)
- Experience porting SONiC to custom hardware or open-source contributions (kernel, SAI, FRR).
- Advanced routing: EVPN, SRv6, VxLAN, VRF; familiarity with NETCONF, YANG, SNMP.
- Cross-compilation and build environments: Buildroot, Yocto, Kconfig.
- SyncE, PTP, or time synchronization at the platform level.