Principal Software Engineer - Relevance in ES|QL - Elasticsearch

Principal Software Engineer - Relevance in ES|QL - Elasticsearch

Full-Time 63000 - 77000 £ / year (est.) No working from home possible
Elastic

At a Glance

  • Tasks: Lead the development of an industry-leading search engine and enhance search features.
  • Company: Elastic, a global leader in Search AI technology.
  • Benefits: Competitive salary, remote work flexibility, and opportunities for professional growth.
  • Other info: Work in a distributed team with excellent career advancement opportunities.
  • Why this job: Join a dynamic team and shape the future of search technology with cutting-edge AI.
  • Qualifications: Expertise in search databases, strong Java skills, and collaborative experience.

The predicted salary is between 63000 - 77000 £ per year.

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.

We're looking for a Principal Software Developer 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 technical leader is responsible for contributing to the technical direction and vision for our search capabilities, including design and implementation of new search features, enhancements to search functionality, 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

  • Lead initiatives within Elasticsearch to produce an industry-leading search engine offering, supplying unparalleled speed and relevance in search.
  • 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.
  • Work with a globally distributed team of experienced engineers focused on the vector search capabilities of Elasticsearch.
  • Be an expert on Elasticsearch search relevance. You'll identify and drive improvements in 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.
  • Write idiomatic modern Java -- Elasticsearch is 99.8% Java!

What You Bring

  • Professional experience with search and vector databases, and you used HNSW, IVF, or other relevant algorithms and libraries on search platforms at scale.
  • You have solid 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.
  • 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.
  • You work autonomously and can drive decisions and results in a distributed team by leveraging asynchronous, direct, and transparent communication.

Bonus Points

  • 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.
  • Experience with data storage technology.
  • You have experience designing, leading, and owning cross-functional initiatives.

Principal Software Engineer - Relevance in ES|QL - Elasticsearch employer: Elastic

Elastic is an exceptional employer that champions innovation and diversity, providing a dynamic work environment where Product Managers can thrive. With flexible work schedules, competitive remuneration, and comprehensive health benefits, employees are empowered to grow both personally and professionally while making a significant impact on the success of Elastic Cloud. Located in the United Kingdom, this role offers unique opportunities to lead transformative initiatives in a supportive and collaborative culture.

Elastic

Contact Details:

Elastic Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Principal Software Engineer - Relevance in ES|QL - Elasticsearch

Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Elastic or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Elastic.

Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Elastic.

Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Elastic that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Principal Software Engineer - Relevance in ES|QL - Elasticsearch

Java
Elasticsearch
Search Algorithms
Vector Databases
Data Structures
Concurrency Constructs
Asynchronous Collaboration

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Elastic.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Elastic and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at Elastic

Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Elastic uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.