About Neo4j
Neo4j is the graph intelligence platform that transforms data into knowledge to power the next generation of intelligent applications and AI systems. It includes enterprise-ready knowledge graphs for accurate, explainable, and governed AI; the most comprehensive, trusted, and easy-to-deploy graph capabilities across any environment and data source; and an unmatched ecosystem trusted by 84 of the Fortune 100 and supported by the world’s largest graph community. Intelligence that works. Results that matter.
Built to work everywhere and integrate with everything across every cloud for dynamic, personalized, and autonomous AI systems. We deliver quicker results, contextual knowledge, and solutions that impact customers and employees across the business.
Our Vision
At Neo4j, we have always strived to help the world make sense of data.
As business, society and knowledge become increasingly connected, our technology promotes innovation by helping organizations to find and understand data relationships. We created, drive and lead the graph database category, and we’re disrupting how organizations leverage their data to innovate and stay competitive.
The Role
We are looking for experienced backend engineers to join our team which mainly develops the distributed aspects of the Neo4j database. Building on our fast and open source native graph database, our team delivers critical enterprise features such as high availability, distributed consistency, horizontal scalability and deployment flexibility.
We’re particularly excited to hear from people who have developed and maintained complex distributed systems before; who have experienced some of their pain points and design trade-offs first hand.
Your contributions will be deployed in production environments around the world, vital to the varied and demanding use cases of our customers.
What The Work Is Like
- The day-to-day work is quite wide-reaching in the database stack, from low-level (efficient IO systems where every flush and allocation counts) to high (distributed control planes where predictability and stability are vital).
- The work involves building features end to end - from the core database itself to running and maintaining them in our live managed service Aura.
- Apart from features, you’ll also work with support engineers to track down tough bugs, SREs to support our database as a service offering, and with product managers and other teams to design new features.
- You’ll also spend time learning, thinking and experimenting. Specializing in topics that interest you and helping to grow yourself, the team and the product.
What You'll Bring
- Ability to work independently within a flexible software development organization
- Ability to communicate about, and collaborate on, complex topics.
- Experience of distributed systems through usage, administration or development.
- Desire to learn modern and high performance Java programming (or prior knowledge).
- Desire to learn Kubernetes and building operators.
- Desire to work as part of a geographically distributed team.
Nice To Have
- Experience building stateful distributed systems (such as databases, message brokers or stream processing systems)
- Experience working with distributed orchestration systems, such as Kubernetes.
- Experience of distributed systems through usage, administration or development.
- Existing knowledge of Java programming, the Java ecosystem or JVM internals.
- Experience with working on large code bases.