At a Glance
- Tasks: Join our team to enhance Elasticsearch's performance and resilience in distributed systems.
- Company: Elastic, a leading Search AI company trusted by Fortune 500 businesses.
- Benefits: Competitive pay, flexible schedules, generous vacation, and health coverage for you and your family.
- Why this job: Make a real impact on cutting-edge technology while enjoying a balanced work-life.
- Qualifications: Strong background in distributed systems, core Java skills, and experience leading projects.
- Other info: Inclusive culture that values diversity and offers excellent career growth opportunities.
The predicted salary is between 43200 - 72000 £ 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.
We are on the lookout for a Principal Software Engineer II 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 leading projects spanning multiple teams.
- You have experience communicating with a variety of stakeholders.
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.
Benefits
- 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.
Equal Opportunity Employer
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.
Elasticsearch - Principal Software Engineer II - Distributed Systems in London employer: Elastic
Contact Detail:
Elastic Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Elasticsearch - Principal Software Engineer II - Distributed Systems in London
✨Tip Number 1
Network like a pro! Reach out to current or former employees at Elastic on LinkedIn. A friendly chat can give you insider info and maybe even a referral, which can really boost your chances.
✨Tip Number 2
Prepare for the technical interview by brushing up on distributed systems and core Java. We recommend doing mock interviews with friends or using platforms that focus on coding challenges to sharpen your skills.
✨Tip Number 3
Showcase your projects! If you've worked on complex systems or have experience with Elasticsearch, make sure to discuss these in detail during interviews. We love seeing how you’ve tackled real-world problems.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining our team.
We think you need these skills to ace Elasticsearch - Principal Software Engineer II - Distributed Systems in London
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to the role of Principal Software Engineer II. Highlight your experience with distributed systems and core Java, as well as any projects that showcase your ability to handle complex systems.
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you're passionate about Elasticsearch and how your skills align with our mission. Don’t forget to mention specific experiences that demonstrate your expertise in algorithms and concurrency.
Showcase Your Problem-Solving Skills: In your application, include examples of how you've tackled performance or concurrency issues in the past. We love seeing candidates who can think critically and propose effective solutions!
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it’s super easy!
How to prepare for a job interview at Elastic
✨Know Your Distributed Systems
Make sure you brush up on your knowledge of distributed systems and consensus algorithms. Be ready to discuss how you've tackled performance or concurrency issues in the past, as this will show your depth of understanding and experience.
✨Showcase Your Java Skills
Since core Java is a key requirement, prepare to demonstrate your proficiency with the standard library of data structures and concurrency constructs. You might be asked to solve problems on the spot, so practice coding challenges that focus on these areas.
✨Prepare for Technical Design Discussions
Expect to engage in discussions about technical design and project ownership. Think of examples where you've led projects from start to finish, and be ready to explain your thought process and how you collaborated with others to achieve success.
✨Communicate Effectively with Stakeholders
Since you'll be working with various stakeholders, practice articulating complex technical concepts in a way that's easy to understand. Prepare examples of how you've successfully communicated with non-technical team members or clients in the past.