Senior Software Engineer - Network Systems
About Quvia
Quvia is the first AI-powered quality of experience (QoE) management platform for things that move, like ships and planes, transforming connectivity and digital experiences even in the most remote and hard-to-reach places. The Quvia platform uses AI and machine learning to seamlessly blend any combination of connectivity, regardless of provider, orbit or network, into one, vendor-neutral environment. It then delivers comprehensive, end-to-end analytics and dynamic network orchestration that optimises for the best possible QoE for applications and end-users. Quvia works with world-leading, Fortune 500 companies in aviation, cruise, shipping & energy.
Why Quvia?
- Founded in 2019, Quvia is a fast-growing, Series A tech startup passionate about redefining global connectivity.
- Our solutions address significant challenges in the aviation and cruise industries, and we’re just getting started.
- Headquarters in the greater Miami region with offices in the UK and India; remote-first culture.
- Backed by Columbia Capital, a respected venture capital firm with over $5 billion in fund commitments.
Position Overview
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. Hands-on experience in virtualized environments (VMs) — including setup, configuration, and network integration — and the ability to design and develop robust, scalable networking software is essential.
Key Duties and Responsibilities
- Design and develop software modules using C/C++ for high-performance network applications.
- Integrate with Python-based modules as part of the software stack.
- 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.
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.
Preferred / Good to Have
- 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.
What We Offer
- Competitive salary
- Equity options
- Performance-based bonus opportunities
- Medical, Dental and Vision benefits
- Life Insurance
- Flexible PTO policy
- 401(k) plan