At a Glance
- Tasks: Join our team to enhance Elasticsearch's performance and resilience in distributed systems.
- 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: Make a real impact on cutting-edge technology used by Fortune 500 companies.
- Qualifications: Strong background in distributed systems and core Java skills required.
The predicted salary is between 80000 - 100000 £ 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 I to join our Elasticsearch - Distributed Systems team and focus on how Elasticsearch provides scale, performance, and resilience. This team owns how nodes in an Elasticsearch cluster communicate, and how data are indexed, allocated, and replicated across nodes.
What You Will Be Doing:
- 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.
What You Bring:
- A strong 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 shown your ability to understand and work on complex, highly distributed systems.
- You demonstrate the ability to build and debug 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.
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 a minimum of 16 weeks of parental leave
Security & Privacy Responsibilities: Take ownership of protecting the confidentiality, integrity, and availability of organizational data and systems by following applicable privacy and security policies, standards, and procedures. Ensure that all individual contributions follow Elastic's Secure Software Development Framework (SSDF). Proactively participate in mandatory role-based training to ensure personal technical execution consistently aligns with the highest standards of data protection, data privacy, and system resilience.
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 Software Engineer I - Distributed Systems - Elasticsearch in London employer: Elasticsearch B.V.
Elastic is an exceptional employer that champions a diverse and inclusive work culture, allowing employees to thrive both professionally and personally. With competitive pay, comprehensive health coverage, and generous vacation days, Elastic prioritises employee well-being while offering flexible work arrangements that empower individuals to balance their careers with life. The company also fosters growth through impactful projects and community engagement, making it an ideal place for those seeking meaningful and rewarding employment in the tech industry.
StudySmarter Expert Advice🤫
We think this is how you could land Principal Software Engineer I - Distributed Systems - Elasticsearch in London
✨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 Elasticsearch B.V. 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 Elasticsearch B.V..
✨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 Elasticsearch B.V..
✨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 Elasticsearch B.V. 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 I - Distributed Systems - Elasticsearch in London
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 Elasticsearch B.V..
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Elasticsearch B.V. 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 Elasticsearch B.V.
✨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 Elasticsearch B.V. 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.