Senior Java Engineer

Job description

OpenVPN Inc is looking for a back-end Software Engineer with strong working knowledge of 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.


  • Responsible for the requirement specifications, system specifications, software development, testing and maintenance of the backend for several upcoming OpenVPN products
  • Strong Java Engineer who will be responsible for onsite and offshore co-ordination
  • 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

Job requirements


  • 10+ years of industry experience
  • Excellent application system design and development skills for Java / J2EE
  • Knowledge of system architecture and deployment (containers, deb and rpm), redundancy and application scaling on Linux servers
  • Bachelor's degree in Computer Science or related field or equivalent work experience
  • Strong networking experience on Linux including deep understanding of the Linux network stack and kernel networking modules such as xfilter/netfilter
  • Strong programming experience on Java and JavaScript (ideally technologies like Spring, Hibernate)
  • 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/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 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
  • Nice to have C/C++ experience