Senior Network Software Engineer
DZSi
Software Engineering
Hanoi, Hoàn Kiếm, Hanoi, Vietnam
Posted on Aug 23, 2025
Description
About this opportunity
Zhone Technologies Inc. is an innovation-driven startup offering an exciting opportunity to be part of a dynamic network software engineering team. As a Senior Network Software Engineer, you will play a key role in designing and implementing hardware abstraction layers (HAL), embedded platform support, and Linux kernel integrations for next-generation network systems. You will also work on integrating with various ASIC SDKs and emerging platforms such as SONiC, ensuring seamless hardware-software interaction across evolving hardware platforms.
You will report directly to the Director of Software Development and collaborate with both the platform and system architecture teams.
What You’ll Do
- Participate in high-level system and platform architecture design
- Develop and adapt HAL for new hardware platforms and switching ASICs
- Lead and mentor junior engineers and conduct code reviews
- Integrate platform software with ASIC SDKs (e.g., Broadcom, Marvell, Microchip)
- Support and enhance SONiC hardware interface components (e.g., SAI, platform drivers)
- Troubleshoot hardware-software interaction issues across PHY, MAC, I/O, and bus layers
- Debug low-level software problems using JTAG, trace logs, and hardware tools
- Perform unit, integration, and system validation for the platform and HAL components
- Optimize system performance at the kernel and hardware abstraction layer
- Write and maintain device drivers and board support packages (BSP)
- Provide support throughout product verification and production release cycles
Requirements
- A bachelor's degree in Electrical Engineering, Computer Science, or a related field
- 7+ years of experience in embedded network software development
- Proven experience in HAL design and platform software development
- Strong understanding of Broadcom or other switching ASICs
- Proficiency with Linux protocol stack and kernel internals
- Strong debugging and problem-solving skills in embedded environments
- Excellent verbal and written communication skills
- High ownership,self-motivation, and a continuous learning mindset
Assets You May Possess
- Hardware Abstraction Layer (HAL) & Device Driver Development
- Solid understanding of HAL architecture, platform abstraction principles
- Hands-on development of Embedded Linux kernel drivers:
- I2C, SPI, GPIO, EEPROM, thermal sensors, LEDs
- MAC/PHY, SFP/QSFP, MDIO, PCIe, memory-mapped interfaces
- Ability to debug or build platform drivers from the ground up
- ASIC SDK & Switching Chipset Integration
- Hands-on experience integrating with ASIC SDKs, such as:
- Broadcom SDK
- Marvell Prestera SDK
- Microchip/Vitesse VSC SDK
- Experience with initialization flows, VLAN, FDB, port management, and hardware-specific tuning
- Familiarity with API models and abstraction layers
- Hands-on experience integrating with ASIC SDKs, such as:
- SONiC & SAI (Switch Abstraction Interface).
- Practical experience with SONiC’s platform infrastructure (containerized, modular)
- Knowledge of SAI API and integration with switching SDKs
- Familiarity with SONiC hardware config: platform.json, hwsku, platform-modules, etc.
- Understanding of CONFIG_DB, APP_DB, and STATE_DB
- Hardware Bring-up & Platform Integration.
- Experience with bootloaders (e.g., U-Boot), device trees, board diagnostics
- Peripheral and chassis integration: EEPROM, PSU/FAN, CPLD, LEDs
- Low-speed peripheral bring-up: I2C, SPI, GPIO, MDIO
- Hardware-Software Interaction, Debugging & Optimization.
- Strong skills in analyzing issues such as:
- Link up/down, PHY init, SerDes tuning
- IRQ, DMA, and register-level analysis
- Familiarity with JTAG, oscilloscopes, logic analyzers, or vendor tools
- Strong skills in analyzing issues such as:
- Validation & Automation.
- Experience developing and executing unit, integration, and system tests
- Test automation using Python, Bash, or TCL/Expect
- Tools, Languages & Build Systems
- programming languages: C, C++, Python, Shell scripting
- Kernel development tools: gdb, strace, dmesg, perf, valgrind, ftrace
- Cross-compilation and build environments: Buildroot, Yocto, Makefile, Kconfig
- Preferred / Nice to Have
- Experience porting SONiC to new hardware platforms
- Direct collaboration with ASIC vendors for debugging or platform enablement
- Familiarity with diagnostics environments such as ONIE, Redfish, or U-Boot scripting
- Open-source contributions to kernel, platform drivers, SAI, or SONiC
- Understanding of SyncE, PTP, or time synchronization at the platform level