Elastic is a search company that powers enterprise search, observability, and security solutions built on one technology stack that can be deployed anywhere. From finding documents to monitoring infrastructure to hunting for threats, Elastic makes data usable in real time and at scale. Thousands of organizations worldwide, including Barclays, Cisco, eBay, Fairfax, ING, Goldman Sachs, Microsoft, The Mayo Clinic, NASA, The New York Times, Wikipedia, and Verizon, use Elastic to power mission-critical systems. Founded in 2012, Elastic is a distributed company with Elasticians around the globe. Learn more at elastic.co
We're looking for a Principal Java Engineer in North America 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 Java 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:
- At least 8 years of 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 and a passion for Identity and Access Management, Authentication and Authorization .
- Experience leading and owning cross-functional initiatives.
- Experience implementing Single-Sign-On protocols such as SAML or OpenID Connect.
- Hashing and encryption experience.
- 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.
We're looking to hire team members invested in realizing the goal of making real-time data exploration easy and available to anyone. As a distributed company, we believe that diversity drives our vibe! Whether you're looking to launch a new career or grow an existing one, Elastic is the type of company where you can balance great work with great life.
- Competitive pay based on the work you do here and not your previous salary
- Double your charitable giving - we match up to $1500 (or local currency equivalent)
- Global minimum of 16 weeks of parental leave (moms & dads)
- Generous vacation time and one week of volunteer time off
- Your age is only a number. It doesn't matter if you're just out of college or your children are; we need you for what you can do