Senior C++ Engineer

Job description

OpenVPN Inc is seeking an experienced C++ Engineer (C++14 and higher) with in-depth knowledge of Linux Software, TCP/IP Networking, SSL VPN, Routing Protocols and Distributed Systems. The ideal candidate will possess a solid conceptual foundation in the design and development of distributed and cloud-computing systems with an emphasis on high availability systems, cloud management and provisioning, network routing, load balancing, secure APIs, congestion control, reliability, performance monitoring and reporting.


The candidate should have 5 or more years of network and operating system programming experience on Linux development environments, with Kernel experience a plus.


RESPONSIBILITIES

  • Responsible for the requirement specifications, system specifications, software design, development, testing and maintenance of the backend for current and upcoming OpenVPN products
  • Development and support of a Linux based VPN server application with heavy routing/networking functionality
  • Development of a web-based API (using JSON and REST) for operation and management of OpenVPN systems

Job requirements

QUALIFICATIONS

  • 5+ years of experience working in the computer networking and/or network-security industry
  • Knowledge of system architecture and deployment (containers, deb and rpm), redundancy and application scaling on Linux servers
  • Strong expertise in C++ programming (C++14 and higher), specifically networking and security applications
  • In-depth understanding of network protocols (TCP/IP, UDP, Berkeley sockets, IP routing - BGP, other dynamic routing protocols) and security concepts like SSL/IPsec VPNs, cryptography, PKI, encryption and authentication
  • Experience with NoSQL (Cassandra or MongoDB) and key-value store (Redis/Memcached)
  • Experience with notification and message queuing systems (Kafka, SNS/SQS)
  • Hands-on work experience with Linux platforms in a networking environment (Debian)
  • Experience with change management tools (Git) and the standard software development cycle
  • Experience with AWS systems such as RDS, S3, SNS/SQS, Route 53 and others
  • Experience with deployment on Docker and AWS EC2 and AWS ECS
  • Bachelor's degree in Computer Science or related field or equivalent work experience
  • Excellent verbal and written communication skills