Java Tech Lead
OpenVPN Inc is looking for a Java Technical Lead with strong working knowledge of Java, JSON and REST APIs, Databases, TCP/IP networking, SSL VPN, Routing protocols, and Distributed systems. The ideal candidate will possess a solid conceptual foundation in the development of distributed and cloud-computing systems with an emphasis on high availability systems, cloud management and provisioning, network routing, load balancing, secure APIs, congestion control, reliability, performance monitoring, and reporting. The candidate should have 5 or more years of network programming experience on Linux development environments. Open Source experience is a plus.
- Responsible for the requirement specifications, system specifications, software development, testing and maintenance of the backend for several upcoming OpenVPN products.
- Strong Java Engineer with Lead abilities who will be responsible for onsite and offshore co-ordination
- Development and support of a Linux based backend services layer to support our front end teams for our products
- Development of a web-based API (using JSON and REST) for operation and management of OpenVPN systems
- Lead a team of Backend developers for development and deployment
- 10+ years of industry experience
- Should have some Lead experience.
- Excellent application system design and development skills for Java / J2EE
- Knowledge of system architecture and deployment (containers, deb and rpm), redundancy and application scaling on Linux servers
- Bachelor's degree in Computer Science or related field or equivalent work experience
- Strong networking experience on Linux including deep understanding of the Linux network stack and kernel networking modules such as xfilter/netfilter
- Solid experience in JSON and REST API development on both server and client side
- Experience with RDBMs (MySQL), NoSQL (MongoDB) and key-value store (Redis/Memcache)
- Experience with notification and message queuing systems (Kafka, SNS/SQS)
- Hands-on work experience with Linux platforms in a networking environment (Debian)
- Experience with change management tools (Git) and the standard software development cycle
- Experience with deployment on Docker and AWS
- Knowledge of SSL VPNs, IP routing, BGP and other dynamic routing protocols
- Knowledge of encryption, PKI and other security concepts
- Knowledge of authentication mechanisms such as SAML and OAuth
- Knowledge of the following communication protocols: TCP/IP stack (UDP and TCP), Berkeley sockets, HTTP, HTTPS and other networking protocols
- Nice to have C/C++ experience