Remotehey

Work anywhere, Live anywhere

Logic Hire Solutions LTD - remotehey
Logic Hire Solutions LTD

Senior Staff Networking Software Engineer

sweden / Posted
APPLY

Job Title: Senior Staff Networking Software Engineer - Transport & Connectivity

Location: Remote Sweden

Job Type: Full-time

About The Role

We are on a mission to build the next generation of high-performance networking infrastructure. We are looking for a deeply technical, experienced, and highly motivated Senior Networking Software Engineer with a singular focus on transport connectivity and the core networking stack. In this role, you will not just be writing code; you will be the technical backbone of our networking products, owning the data plane and control plane components that process millions of packets per second with minimal latency.

You will join a team of expert engineers dedicated to pushing the boundaries of what's possible with commodity hardware and open-source technologies. You will design, develop, and deploy enterprise-grade networking appliances that solve real-world problems at massive scale. This is an opportunity to have a profound impact on our architecture, mentor the next generation of networking engineers, and work in a fast-paced environment where your contributions are visible and valued from day one.

If you live and breathe packets, dream in C, and have a passion for crafting efficient, robust systems, we want to hear from you.

Key Responsibilities

  • Architect & Develop High-Performance Networking Features
  • Design for Scale: Architect and implement new networking features for our enterprise-grade appliances, focusing on raw performance, scalability, and reliability. This includes features like stateful firewalling, NAT, load balancing, and advanced routing protocols.
  • Performance Tuning: Profile and optimize existing codebases to eliminate bottlenecks, reduce latency, and maximize throughput (packets per second and bits per second) on multi-core x86/ARM platforms. You will be expected to understand CPU architecture, cache behavior, and memory layout.
  • Hardware/Software Interaction: Collaborate with hardware teams (if applicable) or deeply understand the NIC hardware to leverage features like RSS, flow steering, and checksum offloading.
  • Master the Fast Path: VPP & DPDK Expertise
  • Data Plane Development: Be the go-to expert for our VPP (Vector Packet Processing) and DPDK (Data Plane Development Kit) stack. This involves writing custom VPP plugins in C to implement new protocols or features directly in the fast path.
  • Kernel Bypass Mastery: Utilize DPDK to bypass the Linux kernel, writing polling-mode drivers (PMDs) and managing huge pages to achieve line-rate packet processing.
  • Traffic Generation & Validation: Design and implement complex test harnesses using DPDK-based traffic generators like TRex. You will not just use these tools; you will extend them to simulate realistic network conditions, generate stateful traffic flows, and validate the performance and correctness of our appliances under load. (e.g., creating custom TRex profiles to emulate a million concurrent HTTP clients behind a NAT).
  • Lead Technical Initiatives & Mentor
  • Technical Leadership: Lead the design and implementation of major new features or subsystems. You will be responsible for creating technical design documents (TDDs), leading architecture reviews, and breaking down complex projects into manageable tasks for the team.
  • Mentorship: Actively mentor junior and mid-level engineers. This includes regular code reviews, pair programming sessions, and guiding them through the complexities of networking and system programming. You help raise the technical bar for the entire team.
  • Own Features End-to-End
  • Full Lifecycle Ownership: You own a feature from the initial concept and requirements gathering with Product Management to its deployment in production and subsequent maintenance. This includes writing high-quality, testable code, creating unit and integration tests, and working with the QA team to ensure a flawless release.
  • Independent Execution: You are comfortable operating with ambiguity. You can take a high-level goal ("improve NAT performance") and independently research, prototype, and deliver a solution.
  • Collaborate & Communicate
  • Cross-Functional Communication: Work closely with product managers to translate business needs into technical requirements. Collaborate with the SRE/Operations team to understand deployment challenges and ensure the software is operable and observable.
  • Articulate Trade-offs: Clearly communicate complex architecture decisions, design trade-offs (e.g., latency vs. throughput, memory vs. CPU), and technical risks to both technical peers and non-technical senior leadership. You can explain why you chose VPP over a kernel-based solution in a way that everyone understands.
  • Documentation: Champion knowledge sharing by creating and maintaining high-quality technical documentation, architecture diagrams, and runbooks.

Qualifications & Experience

Basic Qualifications (Must-Haves):

  • Education: Bachelor's or Master’s degree in Computer Science, Electrical Engineering, or a related field.
  • Experience:
    • 8+ years of professional experience in software development, with at least 6 of those years specifically focused on building core networking software for enterprise-grade appliances (routers, firewalls, load balancers) or cloud-scale virtual network functions (VNFs/CNFs).
    • 3+ years of demonstrated experience delivering complex, multi-faceted features independently, from design to deployment.
  • Core Engineering Skills:
    • Deep C Proficiency: Expert-level knowledge of C programming in a Linux environment, including memory management, pointer arithmetic, multi-threading (pthreads), and synchronization primitives. You understand the pitfalls of undefined behavior and write safe, efficient code.
    • Strong C++ Skills: Solid experience with modern C++ (C++11/14/17) for control plane components and management plane services.
    • Python: Proficiency in Python for tooling, automation, scripting, and test harness development.
  • Data Plane & Fast Path (Non-Negotiable):
    • Expertise in VPP: Deep, hands-on experience developing custom plugins for the Vector Packet Processing (VPP) stack. You understand the graph node architecture, vector processing benefits, and how to write high-performance nodes.
    • Expertise in DPDK: Extensive experience with the Data Plane Development Kit (DPDK), including environment abstraction layer (EAL), memory pools, rings, and writing/building applications that run in userspace.
    • Traffic Generation: Strong, practical experience with TRex or similar stateful traffic generators. You have used it for performance testing, stress testing, and feature validation. Development experience with TRex (e.g., extending its protocol support or creating complex stateful profiles via its Python API) is a major plus.
  • Networking Protocols (L2-L4):
    • Deep Knowledge: Expert-level understanding of the TCP/IP stack, including packet fragmentation/reassembly, TCP state machine, congestion control, and window scaling.
    • Protocol Proficiency: Strong working knowledge of core protocols: ARP, DHCP, DNS, ICMP, IGMP, UDP, and TCP.
    • Network Services: Deep experience designing and implementing NAT (including advanced features like hairpinning, ALGs), stateful Firewalling, and basic QoS/rate limiting.
  • Security & Virtualization:
    • Security Protocols: Experience implementing or working with IPsec (IKEv1/v2, ESP/AH), SSL/TLS termination, MACsec, and associated authentication/authorization frameworks (e.g., RADIUS, TACACS+).
    • SDN & Overlays: Strong understanding of Software Defined Networking (SDN) principles. Hands-on experience with overlay technologies such as VXLAN, Geneve, GRE, and MPLS.
    • Distributed Systems: Experience building systems that are distributed across multiple nodes for high availability and scale (e.g., using consensus algorithms like Raft or integrating with distributed config stores like etcd/Consul).
  • Software Engineering & DevOps:
    • Best Practices: You practice clean coding, have a strong command of design patterns relevant to networking, and write comprehensive unit tests. You are an advocate for code quality and maintainability.
    • Containerization: Strong experience with Docker (building efficient images, multi-stage builds).
    • Orchestration: Strong preference for experience with Kubernetes, specifically in running and managing networking workloads (using CNI, understanding kube-proxy, deploying VNFs/CNFs). You understand concepts like Operators and Custom Resource Definitions (CRDs).
Nice-to-Have Skills (The "Force Multipliers"):

  • Public Cloud Networking: Deep experience with the networking stacks of at least one major public cloud provider (AWS (VPC, Transit Gateway), Azure (Virtual Network), GCP (VPC), OCI, Alibaba Cloud). You understand how they virtualize networks at scale.
  • Cloud-Native Architecture: Experience designing and building cloud-native network functions (CNFs) that are stateless, resilient, and follow the principles of the CNCF.
  • Advanced DevOps & CI/CD: Experience with infrastructure-as-code (Terraform, Ansible), designing sophisticated CI/CD pipelines (Jenkins, GitLab CI, ArgoCD) for networking software, and implementing robust monitoring/observability (Prometheus, Grafana, OpenTelemetry).
  • eBPF: Experience with eBPF (Extended Berkeley Packet Filter) for advanced networking, security, and observability in the Linux kernel.
  • Control Plane Protocols: Experience with routing protocol suites (e.g., FRRouting, BIRD) and protocols like BGP, OSPF, IS-IS.
  • Solutions Mindset: The ability to look beyond a single component and design holistic solutions that integrate hardware, software, and cloud services to solve complex customer problems.
  • Security-First Design: You inherently build with security in mind, from threat modeling new features to conducting secure code reviews.

Technology Stack Summary

  • Languages: C, C++, Python
  • Core Libraries/Frameworks: VPP, DPDK, TRex, FRRouting (or similar), OpenSSL
  • Platforms: Linux (Kernel & Userspace), x86/ARM, Docker, Kubernetes
  • Protocols: TCP/IP, UDP, ARP, DHCP, DNS, ICMP, IPsec, TLS, VXLAN, Geneve, GRE, NAT, Firewalling, BGP, OSPF (optional)

Personal Attributes & Fit

  • Intellectually Curious: You have a deep desire to understand how things work, from the silicon level to the application layer.
  • Ownership Mentality: You hold yourself and your team to a high standard. You don't pass the buck; you solve the problem.
  • Resilient & Adaptable: You can navigate ambiguity and changing priorities in a fast-paced environment without losing focus.
  • Clear Communicator: You can explain the intricacies of a VPP graph node to a new engineer and summarize the business impact of a technical decision to the CEO with equal clarity.
  • Team Player: You know that the best solutions come from collaboration and are respectful of others' time and ideas. You are a mentor, a learner, and a contributor to a positive team culture.

Skills: devops,vpp,kubernetes,dpdk,c,trex,python,software,cloud,networking,architecture,gcp,design,docker