Senior Application Developer

Job description

OpenVPN is the premier open source VPN technology in the world.

We are seeking a senior application developer to build apps on Windows, OSX, iOS, Android and Linux, using web based interfaces. Required skills include HTML, Javascript, Ajax, C++, Java, and Web Services. The ideal candidate will possess the skills to develop powerful yet intuitive user interfaces to complex back-end APIs. 

Knowledge of VPN, networking, security, and cloud technologies is highly desirable.

Join our team as we develop OpenVPN into a world-class VPN solution targeting multiple markets from consumer to small business to enterprise



  • At least 5 years experience in programming languages including Javascript (Angular.js and React/React Native), Java, C/C++, Objective-C as well as HTML5/CSS
  • Webtool browser kits for various OS Environments (Webkit, V8, CEF)
  • OS Programming Environments: Linux, Windows, Mac, and Mobile (iOS, Android) app development environment
  • VPN and network security experience
  • Networking, routing, and security
  • Web Services (XML-RPC, REST)
  • App UI design skills, on both desktop and mobile

We need a developer who is able to work with a high degree of autonomy (i.e. able to work and be innovative given general goals, with minimal supervision needed). Documentation skills are required – all work has to be properly documented for the rest of the team.

The ability to design usable, attractive user interfaces is needed (most of the work is on our client-facing interfaces).

We need knowledge of browser and app interaction (specifically single-signon, javascript-java bridging, intents and mime-types, cookie injection and other techniques)

The developer has to be familiar with change management software such as SVN and Git and Jira for issue tracking and reporting.

Networking and low-level TCP/IP experience is a must, most of the work will have to do with VPN, routing, NAT traversal, IP filtering and firewalls, etc. OpenVPN and general security/encryption experience would be preferable.

Also, we need someone who is able to create and execute unit testing and initial QA on apps, including creation of test plans and setting up test environments for our QA engineers.