OpenVPN is looking for a senior systems and software engineer candidate with a strong working knowledge of C++, Java, JSON and REST APIs, databases, TCP/IP networking, SSL VPN, routing protocols, and distributed systems. The ideal candidate will possess a solid conceptual foundation in the 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 programming experience on Linux development environments. Open Source experience is a plus.
This staff level position will join a team that is responsible for the requirement specifications, system specifications, software development, testing, and maintenance of the several upcoming OpenVPN products.
The responsibilities include:
- Development and support of a Linux based backend services layer to support our front end teams for our products
- Development of a web-based API (using JSON and REST) for operation and management of OpenVPN systems.
- Collaboration with other developers for development and deployment.
- Knowledge of system architecture and deployment (containers, deb and rpm), redundancy and application scaling on Linux servers
- CS graduate or post-graduate
- Strong networking experience on Linux including deep understanding of the Linux network stack and kernel networking modules such as xfilter/netfilter
- Solid experience in JSON and REST API development on both server and client side
- Experience with RDBMs (MySQL), NoSQL (MongoDB) and key-value store (Redis/Memcache)
- Experience with notification anad 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 deployment on Docker and AWS
- Knowledge of SSL VPNs, IP routing, BGP, and other dynamic routing protocols
- Knowledge of encryption, PKI and other security concepts
- Knowledge of authentication mechanisms such as SAML and OAuth
- Knowledge of the following communication protocols: TCP/IP stack (UDP and TCP), Berkeley sockets, HTTP, HTTPS, and other networking protocols