engineering
Posted 6 days agoPrincipal Software Engineer - Vector Search - Elasticsearch
at Elastic
United StatesOn-site
Responsibilities
- Lead initiatives within Elasticsearch to produce an industry-leading vector database offering, supplying unparalleled speed and relevance in search.
- Write idiomatic modern Java -- Elasticsearch is 99.8% Java! What You Bring Along
Requirements
- Elastic, the Search AI Company, enables everyone to find the answers they need in real time, using all their data, at scale — unleashing the potential of businesses and people.
- The Elastic Search AI Platform, used by more than 50% of the Fortune 500, brings together the precision of search and the intelligence of AI to enable everyone to accelerate the results that matter.
- By taking advantage of all structured and unstructured data — securing and protecting private information more effectively — Elastic’s complete, cloud-based solutions for search, security, and observability help organizations deliver on the promise of AI. What is the role
- We collaborate across continents every day over email, GitHub, Zoom, and Slack.
- You have implemented novel techniques in vector similarity on a search platform with a large user base or progressed the field of academic research in vector similarity information retrieval. Professional
- experience with vector similarity and vector databases, and you used HNSW, IVF, or other relevant algorithms and libraries on search platforms at scale.
- You have 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.
- 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.
- You have a proven track record of using AI to accelerate development, debug complex systems, and optimize code, while still owning the final outcomes.
- You possess the ability to collaborate across functions and teams and seamlessly transition between different projects, codebases, or teams based on business priorities
- Experience with data storage technology. You have
- experience designing, leading and owning cross-functional initiatives
- Ability to craft your calendar with flexible locations and schedules for many roles
- If you are located in or are a national of one of the listed countries or regions, an export license may be required as a condition of your employment in this role.
Benefits
- 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 work autonomously and can drive decisions and results in a distributed team by leveraging asynchronous, direct, and transparent communication. Bonus Points
- 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 listed below. 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.
- These ranges represent the lowest to highest salary we reasonably and in good faith believe we would pay for this role at the time of this posting. We may ultimately pay more or less than the posted range, and the ranges may be modified in the future.
- An employee's position within the salary range will be based on several factors including, but not limited to, relevant education, qualifications, certifications, experience, skills, geographic location, performance, and business or organizational needs.
- 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
- The typical starting salary range for this role is: $159,800 — $252,800 USD The typical starting salary range for this role in the select locations listed above is: $191,900 — $303,500 USD Additional Information - We Take Care of Our People
- Competitive pay based on the work you do here and not your previous salary
- Health coverage for you and your family in many locations
- Generous number of vacation days each year Increase
- your impact - We match up to $2000 (or local currency equivalent) for financial donations and service
- Embracing parenthood with minimum of 16 weeks of parental leave
- Applicants have rights under Federal Employment Laws, view posters linked below: Family and Medical Leave Act (FMLA) Poster; Pay Transparency Nondiscrimination Provision Poster; Employee Polygraph Protection Act (EPPA) Poster and Know Your Rights (Poster)
Contact
- To request an accommodation during the application or the recruiting process, please email candidate_accessibility@elastic.co . We will reply to your request within 24 business hours of submission.
Additional details
- This is a principal software engineering role that focuses on enhancing the vector similarity search functionality within Elasticsearch, covering the design and implementation of new vector search features, enhancements to existing vector search functionality, and resolving bugs.
- We hire the best engineers we can find wherever they are, whoever they are.
- At our best, we write fast, scalable and intuitive software.
- We believe that the best way to do that is to empower individual engineers, code review every change, decide big things by consensus, and strive for incremental improvements.
- 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.
- Sometimes you'll need to get close to the operating system and hardware.
- You'll improve this area based on your questions and your instincts.
- 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.
- This covers both technical design and working with other engineers to develop needed components.