Position: Senior Java Developer
Company: OpenVPN
Experience required: 5y
English level: upper

We are the team that created OpenVPN, the industry-standard VPN protocol now used by most commercial VPN providers worldwide. We are looking for a rock star to push the product further that millions of people worldwide will interact with daily! You should have a solid working knowledge of Java, Tomcat, and databases, excellent in understanding security topics, be familiar with TCP/IP networking and SSL VPN, possess a solid conceptual foundation in the development of self-hosted cross-platform redistributable solutions, and have network programming understanding on Linux development environment.

**Responsibilities:**
- Full-cycle development of cross-platform redistributable software with a primary focus on Linux, including development from scratch and maintaining existing services;
- Extending web-based API (using JSON and REST) for management of product systems;
- Collaboration with other developers on development and deployment.

**Requirements**
- 4+ years of commercial programming experience;
- 4+ years of experience with Java;
- Recent experience in developing redistributable cross-platform systems on Java;
- Experience with Spring Framework and dealing with REST API;
- Diverse experience with Apache Tomcat, including configuring, tweaking, and troubleshooting complex setups;
- Experience with embeddable RDBMS, SQLite is preferable;
- Experience with embeddable messaging in Java (like ZeroMQ);
- Good hands-on in Bash;
- Good understanding of networking;
- At least upper-intermediate English, both spoken and written;
- Excellent communication abilities.

**Nice to have:**
- Experience with distributed redistributable systems and clustering;
- Experience with time series databases and/or OLAP databases (like ClickHouse);
- Security topics hands-on with Spring Security (SAML, OAuth2);
- Experience in the security space, specifically PKI, encryption, x.509 certificates, SSL;
- Experience with performance testing (Apache Benchmark, JMeter, Gatling);
- Experience in hardening redistributable systems (reproducible builds, obfuscation, etc.);
- Experience in developing both console applications and modern REST services on Spring Boot
- Experience in designing update processes for remote redistributable system
- Our philosophy is that we are a small, closely-knit team, and we care deeply about you:

**Competitive salary;**
- Paid vacation 18 working days off per year + national public holidays;
- Unlimited paid sick leaves;
- Great modern office space in the city center (Lviv and Kyiv);
- Flexible working schedule, full remote work possible;
- Working directly with colleagues from Silicon Valley and around the world;
- Team trips, certification and events compensation, medical insurance, sports, etc.

**Candidate's journey:**
 Recruiting screening - Tech interview (I) -Tech Interview (II) - Interview with Operations Manager - Offer