Engineering a distributed system that is easy to operate via elegantly designed APIs is a challenge. It requires software development skills and the ability to think like a user. We care deeply about giving you ownership of what you’re working on. Our company believes we achieve greatness when they are set free and are surrounded and challenged by their peers. At Elastic, we effectively don’t have a hierarchy to speak of; we feel that you should be empowered to comment on anything, regardless of your role within the company. Our team builds Elasticsearch, the heart of the Elastic Stack.
We’re looking for a Senior Java Engineer to join the Elasticsearch – Security team, focusing on making Elasticsearch more secure for our user community. This is a senior software engineering role that covers new features, enhancements to existing features, and resolving bugs. We design and write code (including automated tests) and documentation. We review one another’s code via GitHub pull requests, and we investigate and fix bugs. We do all of this transparently on GitHub. Security is a broad term, and we work on a variety of features in that space – Authentication, Authorization, Auditing, TLS and Certificate Management, Cryptography. We’re responsible for the sorts of things that show up under a Security heading on a product feature list. Here’s exactly that list for the Elastic Stack.
Elasticsearch is a distributed application written in Java, dedicated to performance and scalability. We’re looking for Senior engineers who are able to design new product features while thinking through the concurrency and performance implications of those designs.
What You Will Be Doing:
- Evolving the security features of Elasticsearch.
- Implementing authentication, authorization, and other security protocols within Elasticsearch.
- Building the foundation of security for the ELK Stack using knowledge of cryptographic primitives and security trade-offs.
- Prototyping new ideas and experimenting openly.
- Collaborating in the open with the Elasticsearch team, Elastic Stack users, and others supporting open source projects.
- Working with the community on bugs and performance issues and assisting out support engineers with tougher customer issues.
What You Bring Along:
- Hands-on technical experience in software engineering, preferably with a focus on server side Java development
- You are highly proficient in Java, conversant in the standard library of data structures and concurrency constructs, as well as newer features like lambdas.
- Very strong algorithm implementation and optimization skills
- Experience securing applications and knowledge of security protocols.
- Experience with Identity and Access Management / Authentication and Authorization
- Experience implementing Single-Sign-On protocols such as SAML or OpenID Connect.
- Experience with Apache Lucene.
- You’ve worked in open source before and are familiar with different styles of source control workflow and continuous integration.
- You’ve built things with Elasticsearch before, and understand how distributed systems operate and the limitations and advantages.
To apply for this job please visit jobs.elastic.co.