Principal Java Engineer - Distributed Systems, Serverless - Elasticsearch

Principal Java Engineer - Distributed Systems, Serverless - Elasticsearch

Full-Time 63000 - 77000 £ / year (est.) Hybrid
R

At a Glance

  • Tasks: Design and build core components for our next-gen Serverless Elasticsearch offering.
  • Company: Elastic, a leading Search AI company transforming data into actionable insights.
  • Benefits: Competitive pay, health coverage, flexible schedules, and generous vacation days.
  • Other info: Inclusive culture that values diverse perspectives and offers excellent career growth.
  • Why this job: Join a dynamic team tackling deep distributed systems challenges and make a global impact.
  • Qualifications: Expertise in distributed systems, core Java, and large-scale system development.

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.

What Is The Role:

We are on the lookout for a Principal Software Engineer to join our Elasticsearch - Distributed Systems team and focus on how Elasticsearch provides scale, performance, and resilience, especially in the context of our Serverless offering. You will be tackling deep distributed systems challenges in how nodes in an Elasticsearch cluster communicate, and how data are indexed, allocated, and managed across nodes.

What You Will Be Doing:

  • Leveraging your deep distributed systems expertise to design, build, and operate core pieces of our next-generation Serverless Elasticsearch offering, directly impacting the experience of customers worldwide.
  • Improving Elasticsearch’s components that support concurrent and consistent indexing across multiple machines.
  • Maintaining our cluster coordination system to keep performance high even though nodes come and go from the cluster and data moves around, while maintaining the safety and liveness properties of the system as a whole.
  • Pushing the limits on the number of shards, nodes, and petabytes that Elasticsearch can handle today.
  • Looking into all kinds of issues, including performance or concurrency issues, and proposing solutions.
  • Supporting our support engineers with the harder problems.
  • Owning operational investigations end-to-end, until performance or stability issues are successfully resolved.

What You Bring:

  • You have a deep background in distributed systems and consensus algorithms.
  • You have strong skills in core Java and are conversant in the standard library of data structures and concurrency constructs, as well as newer language features.
  • You have a deep technical proficiency in algorithms.
  • You have experience building large-scale distributed systems, rather than making use of off-the-shelf services.
  • You have experience building and debugging complex features with a broad impact, running on multiple machines.
  • You are able to own projects from beginning to end. This covers both technical design and working with others to develop needed components.
  • You have experience managing projects involving multiple engineers.
  • 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 can work autonomously, drive decisions and results in a distributed team by leveraging asynchronous, direct, and transparent communication.

Bonus Points:

  • Data stores
  • Search, analytics, Lucene
  • Strong knowledge of the JDK
  • Asynchronous event-driven network frameworks such as Netty

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
  • Increase your impact - We match up to $2000 (or local currency equivalent) for financial donations and service
  • Up to 40 hours each year to use toward volunteer projects you love
  • Embracing parenthood with minimum of 16 weeks of parental leave

Different people approach problems differently. We need that. Elastic is an equal opportunity employer and is committed to creating an inclusive culture that celebrates different perspectives, experiences, and backgrounds. Qualified applicants will receive consideration for employment without regard to race, ethnicity, color, religion, sex, pregnancy, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, disability status, or any other basis protected by federal, state or local law, ordinance or regulation.

We welcome individuals with disabilities and strive to create an accessible and inclusive experience for all individuals. 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.

Principal Java Engineer - Distributed Systems, Serverless - Elasticsearch employer: Rebash

Rebash is an attractive employer due to its focus on innovation and professional development. Employees have the opportunity to work on challenging projects in distributed systems, fostering a collaborative and engaging work culture.

R

Contact Details:

Rebash Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Principal Java Engineer - Distributed Systems, Serverless - 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 Rebash 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 Rebash.

✨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 Rebash.

✨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 Rebash 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 Java Engineer - Distributed Systems, Serverless - Elasticsearch

Distributed Systems Expertise
Core Java
Data Structures
Concurrency Constructs
Algorithms Proficiency
Large-Scale System Development
Project Ownership

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 Rebash.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Rebash 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 Rebash

✨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 Rebash 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.