Senior Java Engineer (Europe, Remote)
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.
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.
- 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.