Elastic is a search company built on a free and open heritage. Anyone can use Elastic products and solutions to get started quickly and frictionlessly. Elastic offers three solutions for enterprise search, observability, and security, 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 Cisco, eBay, 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 and is publicly traded on the NYSE under the symbol ESTC. Learn more at elastic.co .
We're looking for a Senior or Principal 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 the design and implementation of 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 (https://github.com/elastic) .
The Elasticsearch Security team is responsible for a range of security features, including Identity and Access management, Auditing, TLS and Certificate Management, and Cryptography. We're the team that builds 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 (https://www.elastic.co/products/elastic-stack/features) . This role will provide opportunities to learn more about each of these areas of security, and to influence how these features are used within Elastic's Cloud, and our enterprise search, observability, and security solutions.
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:
Working in a hands-on capacity on a successful, high profile Java project used throughout the world for multiple use cases
Applying your experience in software development to design and build new security features in Elasticsearch, that strike a balance between usability, performance and security trade-offs,
Evolving the existing authentication and authorization features of Elasticsearch and the Elastic Stack.
Working with other teams across Elastic to build and expand the foundation of security for Elastic's products.
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 support engineers with tougher customer issues.
What You Bring Along:
At least 5 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.
Strong algorithm implementation and optimization skills.
An interest in the security area.
Experience of independently designing and implementing new features.
Bonus Points:
Experience in any of the following:
Authentication protocols such as SAML, OpenID Connect or LDAP
TLS and X.509 certificate management
Cryptography, including hashing and encryption.
Awareness of application security fundamentals, and an ability to think through security risks and trade-offs.
Experience designing, leading and owning cross-functional initiatives.
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.
Additional Information - We Take Care of Our People
As a distributed company, diversity drives our identity. 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. 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.
We strive to have parity of benefits across regions and while regulations differ from place to place, we believe taking care of our people is the right thing to do.
Competitive pay based on the work you do here and not your previous salary
Health coverage for you and your family in many locations
Ability to craft your calendar with flexible locations and schedules for many roles
Generous number of vacation days each year
Double your charitable giving - We match up to $1500 (or local currency equivalent)
Up to 40 hours each year to use toward volunteer projects you love
Embracing parenthood with minimum of 16 weeks of parental leave
Different people approach problems differently. We need that. Elastic is committed to diversity as well as inclusion. We are an equal opportunity employer and committed to the principles of affirmative action. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, or disability status or any other basis protected by federal, state or local law, ordinance or regulation. If you require any reasonable accessibility support, please complete our Candidate Accessibility Request Form (https://docs.google.com/forms/d/e/1FAIpQLSfiV7br5dGLslC__KPuDNBii1x6cQnlm59L8b4293O2eFxbMA/viewform) .