Principal Java Engineer - Distributed Systems, Serverless - Elasticsearch

Principal Java Engineer - Distributed Systems, Serverless - Elasticsearch

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

At a Glance

  • Tasks: Design and build core components for our next-gen Serverless Elasticsearch, tackling distributed systems challenges.
  • Company: Join Elastic, a leading Search AI company transforming how businesses use data.
  • Benefits: Enjoy competitive pay, health coverage, flexible schedules, and generous vacation days.
  • Other info: Diverse and inclusive culture with excellent career growth opportunities.
  • Why this job: Make a real impact on global customer experiences with cutting-edge technology.
  • Qualifications: Deep expertise in distributed systems and core Java; experience with large-scale systems.

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.

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

Compensation for this role is in the form of base salary. This role does not have a variable compensation component. At Elastic, our compensation philosophy aims to provide fair, competitive and transparent remuneration. Salary ranges are established based on a combination of external market benchmarks, internal pay equity considerations, and the responsibilities and complexity associated with each role. This approach helps ensure consistency across comparable roles while remaining competitive within the relevant labour markets. The typical starting salary range for this role is: €73.300—€115.900 EUR.

Additional Information - We Take Care of Our People

  • As a distributed company, diversity drives our identity.
  • 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: Borderless

At Borderless, we pride ourselves on being an exceptional employer that fosters a dynamic work culture where innovation and collaboration thrive. Our hybrid work model allows for flexibility, while our comprehensive benefits package and commitment to employee growth ensure that you can develop your career in a supportive environment. Join us to be part of a team that values your contributions and empowers you to achieve high-value global wins.

B

Contact Details:

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

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

✨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 Borderless 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 Distributed Systems Development
Complex Feature Debugging

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

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

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