Senior Java Developer

Job description

We are the team that created OpenVPN, the industry-standard VPN protocol now used by most of the commercial VPN providers worldwide. We are currently looking for a rock star to push further the product that millions of people around the world will be interacting with on a daily basis! You should have a strong working knowledge of Java, REST APIs, and databases, excellent in understanding security topics, be familiar with TCP/IP networking, SSL VPN, and distributed systems, possess a solid conceptual foundation in the development of distributed and cloud-computing systems, and have network programming understanding on Linux development environments.

You will join a team that is responsible for the requirement specifications, system specifications, software development and maintenance of several critical security-related cloud services.


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.


Requirements

We are looking for someone who has:

  • 4+ years of commercial programming experience;
  • 4+ years of experience with Java;
  • Experience of developing modern REST services on Spring Boot;
  • Security topics hands-on with Spring Security (SAML, OAuth2);
  • Experience with RDBMS, NoSQL storage (MongoDB);
  • Experience with deployment on Docker and AWS;
  • Good understanding of networking;
  • At least upper-intermediate English, both spoken and written;
  • Excellent communication abilities.
Nice to have:
  • Experience with messaging in Java (Kafka, RabbitMQ, etc.);
  • Experience working with AWS SDK in Java;
  • Hands-on with plain Java sockets or WebRTC / WebSockets;
  • Hands-on work experience with Linux platforms;
  • Experience in the security space, specifically PKI, encryption, x.509 certificates, SSL;
  • Experience with performance testing (Apache Benchmark, JMeter, Gatling);
  • Open Source experience.

Responsibilities:

  • Full-cycle development of Linux-based distributed server software, including development from scratch and maintaining existing services;
  • Development of a web-based API (using JSON and REST) for management of product systems;
  • Collaboration with other developers on development and deployment.