Viavi Solutions

Software Development Engineer

Viavi Solutions$100K — $130K *
Information Technology
8 - 10 years of experience
Job Overview by Ladders

Qualifications

  • 8+ years of software engineering experience, including 4+ years in systems or network software development.
  • Strong proficiency in C++, including modern standards (C++14/17/20), and Python; familiarity with Go and shell scripting.
  • Deep experience in low-level network programming using raw sockets, libpcap, or similar technologies.
  • Solid understanding of Linux internals, covering process management, memory management, and networking.
  • Proven ability to write software interfacing with hardware-level interfaces like PCIe and FPGA.
  • Strong grasp of concurrency, multi-threading, and performance-sensitive programming.
  • Experience with version control systems and CI/CD workflows through tools like Git and CMake.

Responsibilities

  • Design and implement low-level network programming solutions focusing on packet capture and traffic analysis.
  • Develop high-performance software in C++, Python, Go, and shell scripting for Linux environments.
  • Write and maintain software that interacts with hardware-level programming interfaces such as PCIe and kernel bypass frameworks.
  • 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 and user-space daemons.
  • Contribute to cross-platform initiatives, including Windows drivers/services and web-based tools.
  • Participate in code reviews and architectural discussions, while mentoring junior engineers.

Benefits

  • Opportunity to work on cutting-edge network programming and software engineering projects.
  • Collaboration with cross-functional teams, including hardware and firmware engineers.
  • Mentorship opportunities to guide junior engineers and foster professional growth.
  • Engagement with modern development practices like CI/CD and agile methodologies.
  • Participation in architectural discussions and influence on project design.
Full Job Description

Summary:

Duties & Responsibilities:

  • 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.

Pre-Requisites / Skills / Experience 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).

If you have what it takes to push boundaries and seize opportunities, apply to join our team today.

About Viavi Solutions

Viavi Solutions is a global provider of network test, monitoring and assurance solutions to communications service providers, enterprises, network equipment manufacturers, civil government, military and avionics customers. The company serves customers worldwide.
Learn more about Viavi Solutions
Size
3,600 employees
Market Cap
$2.3 billion
Industry
Net Income
$30.1 million
Founded
1923
5 Year Trend
+9.9%
Revenue
$1.1 billion
NASDAQ

Similar Jobs

More Jobs at Viavi Solutions

More Information Technology Jobs

Find similar Software Development Engineer jobs: