Software Development Engineer
VIAVI Solutions Inc.
Honolulu, United States of America
yesterday
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Honolulu, United States of America
Tech stack
Microsoft Windows
API
Automation of Tests
Bash
C++
CMake
Code Review
Protocol Stack
Computer Networks
Continuous Integration
Linux
Device Drivers
File Systems
Memory Management
Network Interface Controllers
Firmware
Field-Programmable Gate Array (FPGA)
Hardware Interface Design
Python
Pcap
Linux kernel
Linux System Administration
Network Programming
Packet Analyzer
PCI Express
Secure Coding
Shell Script
Software Engineering
System Software
Traffic Analysis
Multithreading
Concurrency
GIT
Integration Tests
Information Technology
Build Tools
Software Version Control
Go
Job description
- Design and implement low-level network programming solutions including packet capture, traffic analysis, and protocol stack integration.
- Develop high-performance software in C++, Python, Go, and shell scripting for Linux environments.
- Write and maintain software that interfaces with hardware-level programming interfaces including PCIe, FPGA, NIC offload engines, and kernel bypass frameworks (e.g., DPDK).
- Collaborate with hardware and firmware teams to define software/hardware interface contracts and integration test plans.
- Build and maintain robust Linux system software including kernel modules, device drivers, and user-space daemons.
- Contribute to cross-platform initiatives including Windows drivers/services and web-based front-end tooling as project needs evolve.
- Participate in code reviews, architectural discussions, and cross-functional design reviews.
- Champion software engineering best practices: automated testing, CI/CD pipelines, documentation, and secure coding standards.
- Mentor junior and mid-level engineers; provide technical guidance and foster a culture of continuous improvement.
Requirements
- 8+ years of professional software engineering experience, with at least 4 years in systems or network software development.
- Strong proficiency in C++ (C++14/17/20) and Python; familiarity with Go and shell scripting (Bash/Zsh).
- Deep experience with low-level network programming: raw sockets, libpcap, netfilter, tc/BPF, or equivalent.
- Solid understanding of Linux internals: process/thread management, memory management, file systems, networking stack, and IPC mechanisms.
- Proven experience writing software to interface with hardware-level interfaces (PCIe, FPGA, IOCTL, memory-mapped I/O, DMA, or similar).
- Strong grasp of concurrency, multi-threading, and real-time or performance-sensitive programming.
- Experience with version control (Git), build systems (CMake, Make), and CI/CD workflows.
- Bachelor's degree in Computer Science, Electrical Engineering, or a related technical field (or equivalent experience).
About the company
VIAVI (NASDAQ: VIAV) is a global provider of network test, monitoring and assurance solutions for telecommunications, cloud, enterprises, first responders, military, aerospace, and railway. VIAVI is also a leader in light management technologies for 3D sensing, anti-counterfeiting, consumer electronics, industrial, automotive, government and aerospace applications.
We are the people behind the products that help keep the world connected at home, school, work, at play, and everywhere in between. VIAVI employees are passionate about supporting customer success and we welcome people who bring their best every day to the company - to question, to collaborate and to push for solutions that will delight our customers.