Technical Architect

May 20, 2026

Job Description

A Linux Userspace & Networking C/C++ Developer is responsible for building high-performance system-level applications running on Linux environments.

This role mainly focuses on:

  • Linux userspace programming
  • System-level software development
  • Networking systems
  • High-performance packet processing
  • Multithreading
  • Performance optimization

The developer works on:

  • Networking stacks
  • Packet processing frameworks
  • Low-latency applications
  • Linux internals
  • Memory management
  • IPC mechanisms

This role is commonly seen in:

  • Telecom
  • Networking
  • Cybersecurity
  • Embedded systems
  • Infrastructure software
  • High-performance computing

Responsibilities

Linux Userspace Development

  • Design and develop C/C++ applications for Linux userspace
  • Build scalable and efficient system-level applications
  • Maintain and optimize existing codebases

Linux System Programming

Work with Linux internals including:

  • Process management
  • Memory management
  • Signals
  • IPC mechanisms
  • Thread lifecycle handling
  • Synchronization techniques

Networking Development

  • Develop networking components across:
    • L2 (Data Link Layer)
    • L3 (Network Layer)
    • L4 (Transport Layer)
    • L7 (Application Layer)
  • Work on packet processing and low-latency networking systems

High-Performance Networking

  • Use frameworks like:
    • DPDK
  • Build kernel-bypass networking applications
  • Optimize throughput and latency

Debugging & Troubleshooting

  • Diagnose:
    • Memory leaks
    • Segmentation faults
    • Performance bottlenecks
    • System crashes
  • Use debugging tools like:
    • GDB
    • Valgrind
    • strace

Performance Optimization

  • Optimize CPU and memory usage
  • Improve packet processing efficiency
  • Tune system-level performance

Required Skills

Programming Skills

  • Advanced C
  • Advanced C++
  • Object-Oriented Programming (OOP)

Linux Skills

  • Linux Userspace Programming
  • Process Management
  • Memory Management
  • IPC (Inter-Process Communication)
  • Signals
  • Multithreading
  • Synchronization Primitives

Networking Skills

  • TCP/IP
  • OSI Layers (L2-L7)
  • Packet Processing
  • Socket Programming
  • Low-Latency Networking

Debugging Skills

  • GDB
  • Valgrind
  • strace
  • Memory Leak Analysis
  • Crash Debugging

Build & Toolchain Knowledge

  • GCC / Clang
  • Static & Dynamic Libraries
  • Linux Build Systems
  • Compilation & Linking Process

Good to Have Skills

  • Linux distribution migration
  • Kernel-bypass networking
  • Performance profiling
  • System tuning
  • DPDK-based systems