Senior Software Engineer - Lucene, Solr, JVM at Elastic
Philadelphia, PA 19117
About the Job
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
Were looking for a Senior Software Engineer to join the Elasticsearch - Search Foundations team. This globally-distributed team of experienced engineers focuses on delivering a robust and feature-rich search experience, including contributing to improving the search experience in Lucene. This is a senior software engineering role that covers the design and implementation of new features in search, enhancements to existing search features, and resolving bugs.
Our company is distributed by intention. We hire the best engineers we can find wherever they are, whoever they are. We collaborate across continents every day over email, GitHub, Zoom, and Slack. 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.
What You Will Be Doing
• Youll be a full-time Elasticsearch contributor, building data-intensive new features and fixing intriguing bugs, all while making the code easier to understand. Sometimes youll need to invent a new algorithm or data structure. Or find one and implement it. Sometimes youll need to get close to the operating system and hardware.
• You’ll work with a globally distributed team of experienced engineers focused on the search capabilities of Elasticsearch.
• Youll be an expert in several areas of Elasticsearch and everyone will turn to you when they have a question about them. Youll improve those areas based on your questions and your instincts.
• You’ll help us create the future of search within Elasticsearch - building a scalable search tier for our Serverless platform and writing search functionality in ES|QL, our new piped query language as two examples.
• Youll 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.
• Youll write idiomatic modern Java -- Elasticsearch is 99.8% Java!
What You Bring
• You have strong skills in core Java and are conversant in the standard library of data structures and concurrency constructs, as well as newer 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.
• Youre comfortable developing collaboratively. Giving and receiving feedback on code and approaches and APIs is hard! Bonus points if youve collaborated over the internet because thats harder. Double bonus points for asynchronous collaboration over the internet. Thats even harder but we do it anyway because its the best way we know how to build software.
• Youve 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 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 wed expect that from you too.
Bonus Points
• Youve built things with Elasticsearch before.
• You’ve worked in the search and information retrieval space.
• You have experience writing code for software-as-a-service or platforms-as-a-service.
• You’ve worked on data storage technology.
• You have experience designing, leading and owning cross-functional initiatives.
• Youve worked with open source projects and are familiar with different styles of source control workflow and continuous integration.