Position: Senior Python Engineer
Company: OpenVPN
Category: Python
Experience required: 5y
English level: upper

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.
**The candidate should have 5 or more years of programming experience, preferably on Linux server environments.** Also, more important to your success in this position would be your proactive attitude and the ability to assume responsibility, take ownership and work independently.

We are the team that created OpenVPN, the industry-standard VPN protocol now used by most of the commercial VPN providers worldwide. 

**Our philosophy is that we are a small, closely-knit team, and we care deeply about you:**
Competitive pay rates
• Fully remote work environments
• Generous time off opportunities
• Team trips and special events
• A family-like work atmosphere

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
• Collaboration with other developers on development and deployment

**Requirements**
• A working knowledge of python asynchronous programming
• Strong programming experience on Python 3
• Solid experience in JSON and REST API development on both server and client side
• Knowledge of HTTP, HTTPS
• Experience with RDBMs (MySQL, SQLalchemy)
• Experience with Git and the standard software development cycle
• General knowledge of SSL VPNs
• Sufficient general knowledge of encryption, PKI and other security concepts
• At least upper-intermediate level of English, both spoken and written
• Outstanding communication & team working skills

**As a plus**
• Knowledge of the following communication protocols: TCP/IP stack (UDP and TCP), sockets, and other networking protocols
• Strong networking experience on Linux
• Experience with Boost, Ember.js, Twisted
• Deep understanding of the Linux network stack and kernel networking modules such as xfilter/netfilter
• Open Source experience
• Experience in programming web UI (HTML/CSS and Javascript)