About The Position

We are seeking a Senior Software Engineer - Network Systems with strong proficiency in C/C++ and Python, and solid experience in the networking domain. The ideal candidate will be responsible for designing, developing, and maintaining software systems that power next-generation networking solutions, with a focus on performance, scalability, and reliability. Having hands-on experience in virtualized environments (VMs) — including setup, configuration, and network integration — along with the ability to design and develop robust, scalable networking software is also an essential requirement.

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Electronics, or related discipline.
  • 7–10 years of hands-on software development experience in C/C++ and Python.
  • Strong understanding of networking concepts and protocols — IPv4/IPv6, ARP, VLAN, TCP/IP stack, routing, switching, or network virtualization.
  • Experience with Linux based systems — system programming, socket programming, and multithreading.
  • Hands-on experience with packet capture/analysis tools (Wireshark, tcpdump, etc.).
  • Exposure to DPDK/VPP, SDN/NFV, or network appliances is a strong plus.
  • Experience integrating software with network management systems (NMS), SNMP, or REST APIs.
  • Familiarity with CI/CD pipelines, Git, Jenkins, Docker, Kubernetes preferred.
  • Excellent problem-solving and debugging skills in distributed systems.
  • Good understanding of software design patterns and performance optimization techniques.
  • Strong analytical thinking and attention to detail.
  • Good communication skills and ability to work in a collaborative environment.
  • Proven track record of delivering production-quality software in fast-paced teams.

Nice To Haves

  • Experience with VPP (Vector Packet Processing) or DPDK-based applications.
  • Strong understanding of networking concepts — TCP/IP stack, routing, switching, VLANs, ARP, IPv4/IPv6.
  • Proven experience with Linux/Unix systems, socket programming, and multithreaded applications.
  • Hands-on experience in setting up and managing virtual machines and virtual networks — including KVM, libvirt, VMware, or VirtualBox.
  • Familiarity with configuring bridges, vSwitches, TAP/TUN interfaces, and NAT or host-only networking.
  • Exposure to OpenConfig, NETCONF/YANG, gRPC, or telemetry systems.

Responsibilities

  • Design and develop software modules using C/C++ for high-performance network applications.
  • Part of the software also involves integrating with Python based modules.
  • Work on L2–L7 networking protocols such as Ethernet, IP, TCP/UDP, BGP, OSPF, MPLS, and others.
  • Collaborate closely with architecture and QA teams to define and deliver robust software components.
  • Debug and resolve complex issues across multiple layers (application, transport, and network).
  • Analyze crash files and debug with the team to resolve them
  • Configure and troubleshoot virtual networking in virtual machine (VM) environments — bridges, TAP/TUN interfaces, VLANs, and virtual switches (like OVS).
  • Deploy and test networking software inside VMs or virtualized test environments (e.g., KVM, VMware, VirtualBox, or cloud VMs).
  • Collaborate with DevOps and QA teams to ensure seamless deployment, configuration, and testing workflows.
  • Participate in design and code reviews, enforcing best practices for maintainable, high-quality code.
  • Mentor junior engineers and contribute to technical design discussions and documentation.

Benefits

  • Competitive salary
  • Equity options
  • Performance-based bonus opportunities
  • Medical, Dental and Vision benefits
  • Life Insurance
  • Flexible PTO policy
  • 401(k) plan
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service