Ga naar de hoofdinhoud

Network Programming Engineer

Technology
Qareeb
3 dagen geledenTot 25/10/2026
Voltijd

Functieomschrijving

About The Role

We are looking for a Network Programming Engineer who can design and implement custom communication protocols for IoT devices and edge systems. This role requires a deep understanding of networking stacks (OSI & TCP/IP), low-level packet processing, security mechanisms, and performance optimization across unreliable or resource-constrained networks. You will be responsible for building efficient and secure data transport between IoT devices, edge devices, and servers.

Responsibilities

  • Design and implement custom lightweight communication protocols.
  • Develop low-level networking modules (sockets, raw packet handling, custom headers).
  • Ensure robust error handling, retransmission, congestion control, and efficient bandwidth use.
  • Implement secure communication (TLS, DTLS, mutual authentication, encryption).
  • Optimize latency, throughput, and reliability across constrained networks.
  • Perform packet sniffing, traffic analysis, and protocol debugging using tools (Wireshark, tcpdump).
  • Integrate networking modules into embedded firmware (ESP32/STM32) and C applications.
  • Write detailed protocol specifications and documentation for internal and external use.
  • Collaborate with security engineers to ensure cybersecurity compliance and resilience against attacks (DoS, replay, spoofing, eavesdropping).
  • Conduct penetration testing, fuzzing, and fault injection for networking components.

Requirements

  • Strong understanding of OSI model, TCP/IP stack, and socket programming (TCP/UDP, raw sockets).
  • Experience with transport layer design (reliability, flow control, congestion control).
  • Knowledge of routing algorithms, multi-hop communication, NAT traversal.
  • Proficiency in C/C for systems programming (Linux, Windows and Embedded Systems).
  • Experience with network APIs (POSIX sockets, epoll, io_uring).
  • Familiarity with network packet processing frameworks (DPDK, PF_RING, Netmap, eBPF) is a big plus.
  • Strong knowledge of cryptography (AES, RSA, ECC), TLS/DTLS, PKI, secure key exchange.
  • Understanding of common network attacks (MITM, replay, flooding, spoofing) and defenses.
  • Familiarity with secure coding practices for networking applications.
  • Proficiency with Wireshark, tcpdump, Scapy, or similar tools for packet analysis.
  • Experience in network simulation tools (NS-3, Mininet) for protocol testing.
  • Experience with IoT communications (LoRa, Zigbee, BLE, MQTT) and video streaming protocols (RTSP, RTP, HLS, WebRTC).
  • Familiarity with embedded systems constraints (limited CPU, RAM, power).

Nice to Have

  • Experience in designing custom mesh/overlay networks.
  • Knowledge of real-time systems and deterministic networking (TSN, DDS).
  • Contributions to open-source networking libraries.
  • Background in telecom or security protocols (IPSec, QUIC, DTLS, WireGuard, OpenVPN internals).

Keywords
UnixSOCKSOpenVPNCodingNsMS-DOSREPLAYESP32TcpdumpFuzzingHopLinuxScapyWireGuardPOSIXRSAFloodingWebrtcDebuggerOverlay

Interesse in deze functie?