At a Glance
- Tasks: Lead the development of scalable, resilient distributed systems using Elasticsearch.
- Company: Join a forward-thinking tech company with a focus on innovation and collaboration.
- Benefits: Enjoy fully paid health coverage, flexible schedules, generous vacation, and parental leave.
- Other info: Work in a dynamic environment with opportunities for professional growth and community involvement.
- Why this job: Make a real impact by solving complex problems in distributed systems.
- Qualifications: Experience in managing projects, strong background in distributed systems, and proficiency in Java.
The predicted salary is between 80000 - 100000 £ per year.
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.
Responsibilities:
- 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.
Benefits:
- Fully paid health coverage for you and your family, in many locations.
- Flexible location and schedule for most roles.
- Distributed by design workforce, plus generous number of vacation days each year.
- Minimum of 16 weeks of parental leave, plus generous family formation benefits.
- 40 hours each year to use toward volunteering with organizations and causes you’re passionate about.
- Double your charitable giving — we match donations up to $1500 USD (or local currency equivalent).
Qualifications:
- You have experience managing projects involving multiple engineers.
- A strong background in distributed systems and consensus algorithms.
- You have shown your ability to understand and work on complex, highly distributed systems.
- You are able to own projects from beginning to end, covering both technical design and collaborating with others to develop needed components.
- You demonstrate the ability to build and debug features with a broad impact, running on multiple machines.
- 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.
- Search, analytics, Lucene, and data stores experience.
- Strong knowledge of the JDK.
- Experience with asynchronous event-driven network frameworks such as Netty.
Principal Software Engineer (Distributed Systems - Elasticsearch) in London employer: Elastic
Join a forward-thinking company that prioritises employee well-being and professional growth, offering fully paid health coverage, flexible work arrangements, and generous parental leave. Our inclusive culture encourages collaboration and innovation, with ample opportunities for volunteering and charitable contributions, making it an ideal environment for those looking to make a meaningful impact in the tech industry.
StudySmarter Expert Advice🤫
We think this is how you could land Principal Software Engineer (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 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 (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 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.