Senior Python Developer

Job description

As one of the world leaders in the cybersecurity space, OpenVPN is looking for a Senior Python Developer with a strong working knowledge of Python, JSON and REST APIs, TCP/IP networking, and SSL VPNs. The ideal candidate will possess a solid conceptual foundation in the development of client-server software with an emphasis on network routing, load balancing, secure APIs, congestion control, reliability, performance monitoring, and reporting.


RESPONSIBILITIES

You will play a key role in a team developing OpenVPN Access Server, our full-featured business VPN solution that accommodates a wide range of configurations including remote access, site-to-site VPNs, and enterprise-scale remote access solutions with load balancing, failover and fine-grained access controls. Your responsibilities will include:

  • System requirements and specifications
  • Development and support of Linux-based server software
  • Development of Web UI
  • Development of a web-based API (using JSON and REST)
  • Collaboration with other developers on development and deployment



Job requirements

QUALIFICATIONS

  • The candidate should have 5 or more years of programming experience, preferably on Linux server environments
  • Knowledge of system architecture and deployment (deb and rpm), redundancy and application scaling on Linux servers
  • Strong networking experience on Linux
  • Strong programming experience on Python 3
  • Solid experience in JSON and REST API development on both server and client side
  • Experience with RDBMs (MySQL, SQL alchemy)
  • Experience with Git and the standard software development cycle
  • Knowledge of SSL VPNs, IP routing, iptables, and other dynamic routing protocols
  • Knowledge of encryption, PKI and other security concepts
  • Knowledge of the following communication protocols: TCP/IP stack (UDP and TCP), sockets, HTTP, HTTPS and other networking protocols
  • Good English speaking,┬ácommunication & team working skills

DESIRED

  • Deep understanding of the Linux network stack and kernel networking modules such as Xfilter/Netfilter
  • Open Source experience
  • NoSQL (Cassandra) and key-value store (Redis)
  • Experience in programming web UI (HTML/CSS and JavaScript)
  • Experience with Boost, Ember.js, Twisted