Elasticsearch - Senior Java Engineer - Query Languages

Apply     

Elastic is a search company with a simple goal: to solve the world's data problems with products that delight and inspire. As the creators of the Elastic Stack, we help thousands of organizations including Cisco, eBay, Grab, Goldman Sachs, ING, Microsoft, NASA, The New York Times, Wikipedia, and many more use Elastic to power mission-critical systems. From stock quotes to Twitter streams, Apache logs to WordPress blogs, our products are extending what's possible with data, delivering on the promise that good things come from connecting the dots. We have a distributed team of Elasticians across 30+ countries (and counting), and our diverse open source community spans over 100 countries. Learn more at elastic.co

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 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 - Search team, focusing on building and improving support for additional query languages such as SQL and PromQL. 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. Our work involves writing query parsers to understand the language through to executing queries using the Elasticsearch search API and adding additional logic to process the responses into the appropriate form to return to the user. We also suggest and make improvements to the search API so it will provide adequate support for these query languages.

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:

  • Building and evolving the query language support in Elasticsearch.
  • Contributing improvements to the wider Elasticsearch product to be able to better support query languages.
  • Prototyping new ideas and experimenting openly.
  • Working closely with cross product teams to expand query language offerings at all levels of the Elastic Stack.
  • Collaborating in the open with the Elasticsearch team, Elastic Stack users, and others supporting open source projects.

What You Bring Along:

  • Hands-on technical experience in software engineering with a focus on server side Java development
  • Highly proficient in Java, conversant in the standard library of data structures and concurrency constructs, as well as newer features like lambdas.
  • Strong algorithm implementation and optimization skills
  • Deep understanding of query language concepts, grammar and syntax trees
  • Experience developing against at least one query language e.g. SQL or PromQL

Bonus Points:

  • Experience with parser/lexers like Antlr
  • Knowledge of database, data stores internals
  • Familiar with query re-writing and planning
  • Worked in open source before and are familiar with different styles of source control workflow and continuous integration.
  • 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 1% of your salary
  • Up to 40 hours each year to use toward volunteer projects you love
  • Embracing parenthood with minimum of 16 weeks of parental leave

Elastic is an Equal Employment employer committed to the principles of equal employment opportunity and affirmative action for all applicants and employees. 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. Elastic also makes reasonable accommodations for disabled employees consistent with applicable law.

#LI-CD2

When you apply to a job on this site, the personal data contained in your application will be collected by Elasticsearch, Inc. (“Elastic”) which is located at 800 W. El Camino Real, Suite 350 Mountain View, CA 94040 USA, and can be contacted by emailing jobs@elastic.co. Your personal data will be processed for the purposes of managing Elastic’s recruitment related activities, which include setting up and conducting interviews and tests for applicants, evaluating and assessing the results thereto, and as is otherwise needed in the recruitment and hiring processes. Such processing is legally permissible under Art. 6(1)(f) of Regulation (EU) 2016/679 (General Data Protection Regulation) as necessary for the purposes of the legitimate interests pursued by Elastic, which are the solicitation, evaluation, and selection of applicants for employment. Your personal data will be shared with Greenhouse Software, Inc., a cloud services provider located in the United States of America and engaged by Elastic to help manage its recruitment and hiring process on Elastic’s behalf. Accordingly, if you are located outside of the United States, your personal data will be transferred to the United States once you submit it through this site. Because the European Union Commission has determined that United States data privacy laws do not ensure an adequate level of protection for personal data collected from EU data subjects, the transfer will be subject to appropriate additional safeguards under the standard contractual clauses. You can obtain a copy of the standard contractual clauses by contacting us at privacy@elastic.co. Elastic’s data protection officer is Daniela Duda, who can be contacted at daniela.duda@elastic.co. We plan to keep your data until our open role is filled. We cannot estimate the exact time period, but we will consider this period ended when a candidate accepts our job offer for the position for which we are considering you. When that period is over, we may keep your data for an additional period no longer than 3 years in case additional opportunities present themselves in which yours skills might be better suited. For additional details, please see our Elastic Privacy Statement https://www.elastic.co/legal/privacy-statement.

Apply     
Life at Elastic

Notify Me of Open Positions

Sign in with your social account to receive emails when Elastic posts open positions you might be interested in:

{{alert.msg}}