Network Programming Engineer
Il y a 2 semaines
SommeLeuze, Wallonia, Belgique
Qareeb
Temps plein
Gratuit avec email ou Google
Enregistrez cette offre et organisez votre recherche
Créez un compte gratuit pour enregistrer des offres d'emploi, créer des alertes et revenir à cette liste depuis votre tableau de bord.
Gratuit avec email ou Google
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).