Elasticsearch - Senior or Principal Software Engineer - Analytics team


Elastic is a search company built on a free and open heritage. Anyone can use Elastic products and solutions to get started quickly and frictionlessly. Elastic offers three solutions for enterprise search, observability, and security, built on one technology stack that can be deployed anywhere. From finding documents to monitoring infrastructure to hunting for threats, Elastic makes data usable in real time and at scale. Thousands of organizations worldwide, including Cisco, eBay, Goldman Sachs, Microsoft, The Mayo Clinic, NASA, The New York Times, Wikipedia, and Verizon, use Elastic to power mission-critical systems. Founded in 2012, Elastic is a distributed company with Elasticians around the globe and is publicly traded on the NYSE under the symbol ESTC. Learn more at elastic.co.

Why should you join our Analytics & Geo team in Elasticsearch engineering?

If it comes from Elasticsearch and it's beautiful, we provide the data for it.

We believe in the power of search and every day push the boundaries of what search can do. Our products power and monitor many applications that you use everyday. If you see a graph, we fed it data. From making information easily discoverable on Wikipedia to analyzing data from the Mars helicopter, Elasticsearch is so ubiquitous it was chosen to be stored for future generations as part of the Arctic Code Vault Program. But we are not done yet. If pushing the boundaries of search algorithms, while solving challenging problems in a highly distributed and scalable manner excites you, we are searching for you.

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

  • You'll be a full time Elasticsearch contributor, teaching Elasticsearch about the wonders of time series data 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 closer to the disk or disassembly.
  • You’ll work with a globally distributed team of experienced engineers focused on the summary/aggregation and geo capabilities of Elasticsearch.
  • You’ll contribute to our efforts in making Elasticsearch better equipped to handle time series data. 
  • You'll be an expert in several areas of Elasticsearch and everyone will turn to you when they have a question about them. You'll improve those areas based on your questions and your instincts.
  • You'll 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'll be working in the open. Your code and comments and commit messages will be world readable. All of your victories and mistakes and compromises. That's hard for some folks. We hope that for you it'll be worth it.
  • You'll write idiomatic modern Java. Elasticsearch is 99.8% java so you'll end up confident even if you don't start that way.

What You Bring Along

  • You've worked on a time series database
  • You can talk about and implement data structures and algorithms from old standbys like heaps and merge sort to unique things customized for our problems.
  • You've used several data storage technologies like Elasticsearch, PostgreSQL, Prometheus, MongoDB, or Cassandra and have some idea how they work and why they work that way.
  • You work with a high level of autonomy. The distributed nature of the company offers freedom to work when and how you see fit, but also requires team members to work independently, and reach out for help when stuck.
  • 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 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 we'd expect that from you too.

Bonus Points

  • You've contributed to open source projects.
  • You've worked on a distributed system. Better if distributed storage technology. 
  • You've built things with our Elastic Stack before.
  • You are proficient in low-level Java, standard data structures and concurrency primitives.
  • You have experience with benchmarking or profiling tools like JMH, Java's async-profiler, Linux perf
  • You've analyzed a java heap dump
  • You are comfortable in Linux. Double bonus points for being comfortable with strace and friends.

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 $1500 (or local currency equivalent)
  • Up to 40 hours each year to use toward volunteer projects you love
  • Embracing parenthood with minimum of 16 weeks of parental leave

The typical starting Total Cash Compensation range for new hires in this role is between $115,000 and $160,000, which consists of a Base Salary or a Base Salary plus a Target Commission, depending on the specific role. The Base Salary offered may vary depending on factors including skills and experience.

Additionally, this role is currently eligible to participate in Elastic’s equity plan as well as a range of health & wellbeing, retirement savings, and other benefits within a holistic total rewards offering.

Different people approach problems differently. We need that. Elastic is committed to diversity as well as inclusion. We are an equal opportunity employer and committed to the principles of affirmative action. 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. If you require any reasonable accessibility support, please complete our Candidate Accessibility Request Form.

Applicants have rights under Federal Employment Laws, view posters linked below:
Family and Medical Leave Act (FMLA) Poster; Equal Employment Opportunity (EEO) Poster; and Employee Polygraph Protection Act (EPPA) Poster.

Please see here for our Privacy Statement.

Covid Policy Learn about Elastic's Culture

Notify Me of Open Positions

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

Powered By Ongig