Description
We're looking for a Principal Software Engineer to join the Elasticsearch - Search team. This globally-distributed team of expert engineers focuses on delivering a robust and feature-rich search experience, including contributing to improving the search experience in Lucene.
This is a principal software engineering role that focuses on enhancing the vector and keyword search functionality within Elasticsearch, covering the design and implementation of new search features, enhancements to existing search functionality, and resolving bugs.
As a Principal Software Engineer, you will lead initiatives within Elasticsearch to produce an industry-leading search engine offering, supplying unparalleled speed and relevance in search. You will contribute to Elasticsearch full time, building new search features and fixing intriguing bugs, all while making the code easier to understand. Sometimes you'll need to invent a new algorithm or data structure. Or find one and implement it. Sometimes you'll need to get close to the operating system and hardware.
You will work with a globally distributed team of experienced engineers focused on the search capabilities of Elasticsearch. You will be an expert on Elasticsearch search relevance. You'll identify and drive improvements in this area based on your questions and your instincts.
You will work with community members from all over the world on issues and pull requests, sometimes triaging them and handing them off to other experts and sometimes handling them yourself. You will write idiomatic modern Java -- Elasticsearch is 99.8% Java!
Professional experience with search and vector databases, and you used HNSW, IVF, or other relevant algorithms and libraries on search platforms at scale. Strong skills in core Java and are conversant in the standard library of data structures and concurrency constructs, as well as other features like lambdas. You work with a high level of autonomy, and are able to take on projects and guide them from beginning to end. This covers both technical design and working with other engineers to develop needed components.
You're comfortable developing collaboratively. Giving and receiving feedback on code and approaches and APIs is hard! Bonus points if you've collaborated over the internet because that's harder. Double bonus points for asynchronous collaboration over the internet. That's even harder, but we do it anyway because it's the best way we know how to build software.
You've used several data storage technologies like Elasticsearch, Solr, PostgreSQL, MongoDB, or Cassandra and have some idea how they work and why they work that way. Excellent verbal and written communication skills. Like we said, collaborating on the internet is hard. We try to be respectful, empathetic, and trusting in all of our interactions. And we'd expect that from you too.
Bonus points if you've built things with Elasticsearch before. You've worked with open source projects and are familiar with different styles of source control workflow and continuous integration. You have experience designing, leading and owning cross-functional initiatives.
Compensation for this role is in the form of base salary. This role does not have a variable compensation component. The typical starting salary range for new hires in this role is $159,800-$252,800 USD. In select locations (including Seattle WA, Los Angeles CA, the San Francisco Bay Area CA, and the New York City Metro Area), an alternate range may apply as specified below.
Elastic believes that employees should have the opportunity to share in the value that we create together for our shareholders. Therefore, in addition to cash compensation, this role is currently eligible to participate in Elastic's stock program. Our total rewards package also includes a company-matched 401k with dollar-for-dollar matching up to 6% of eligible earnings, along with a range of other benefits offered with a holistic emphasis on employee well-being.