Principal Software Developer II - Distributed Systems - Elasticsearch
Occupations:
Software DevelopersComputer Systems Engineers/ArchitectsWeb DevelopersComputer ProgrammersComputer and Information Research ScientistsIndustries:
Computer Systems Design and Related ServicesSoftware PublishersEducational Support ServicesAdministration of Human Resource ProgramsWeb Search Portals, Libraries, Archives, and Other Information ServicesElastic, 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 Developer 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.
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
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.
Equal Opportunity Statement
Elastic is an equal opportunity employer 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.
Legal and Compensation Information
Compensation for this role is in the form of base salary. The typical starting salary range for new hires in this role is $192,500—$304,500 CAD. This role is eligible to participate in Elastic's stock program and shares a company-matched Registered Retirement Savings Plan (RRSP) with dollar-for-dollar matching up to 6% of eligible earnings. We may ultimately pay more or less than the posted range, and the ranges may be modified in the future. Elastic believes that employees should have the opportunity to share in the value that we create together for our shareholders.
Vacancy Status: This is a posting for an existing vacancy. We are actively seeking to fill this position with a qualified candidate.
J-18808-Ljbffr