Software Engineer - Go/Kubernetes, Sharding team
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.
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're looking for a software engineer to join the Neo4j Sharding Engineering team. We own Infinigraph and Composite, and we make them work as managed offerings on Aura, Neo4j’s cloud platform.
Aura is Neo4j’s fully managed graph database as a service. Customers create, scale, and use Neo4j databases in the cloud without installing, clustering, or operating the database themselves. Aura runs on Kubernetes across Google Cloud, AWS, and Azure, and handles provisioning, networking, security, upgrades, and day-to-day operations for those databases.
Composite is the technology behind distributed query execution in Neo4j: one query can span multiple databases. Infinigraph is our database sharding offering for large data volumes, built on a distributed database architecture. Distributed query execution is a complex and interesting topic covering query language design, performant networking, and concurrency. Those capabilities still have to run as a cloud product, and that's where a large part of this role sits: building the Go services and Kubernetes machinery that provision, scale, and operate sharded and composite clusters on Aura, reliably, at the data volumes our customers keep growing into.
As part of an energetic and fun team of engineers, you'll work at the frontier of designing and implementing new capabilities for Neo4j on Aura.
What the work is like
- Building and evolving the Aura control plane for sharded and composite databases in Go, so shards, composite instances, clusters, and their lifecycles are managed declaratively through Kubernetes instead of by hand. That includes APIs, operators, and the plumbing that takes a customer request on Aura through to a running, reachable database.
- Alongside coding features, we track down easy and tough bugs, fix downstream test failures, document features, join cross-team design meetings, and study the latest database research.
- Daily stand-ups, design meetings, and retrospectives.
- You'll also spend time learning, thinking, and experimenting. Specialise in the topics that interest you and help grow yourself, the team, and the product.
What you'll bring
- Experience developing production-level software.
- Strong Go experience across multiple projects, from scripting through to larger microservice-style applications, plus some knowledge of the Go build and packaging system.
- Strong Kubernetes experience, including the built-in resources such as Pods, Deployments, and StatefulSets, and what it takes to run stateful workloads on them.
- Experience with modern continuous integration: configuring pipelines that take software from a merged PR to a running production environment, and building and running Docker images.
- Ability to work independently within a flexible software development organisation.
- Ability to communicate about, and collaborate on, complex topics.
Nice to bring
- Java, Scala, or other JVM experience. Much of the database itself is written in Java, so this helps you go deeper over time.
- Familiarity with the operator pattern in Kubernetes and extending the API through Custom Resources.
- Understanding of the internals of databases, compilers, or query languages.
- Experience with asynchronous and reactive programming.
- Experience of distributed systems through usage, administration, or development, and an interest in recent distributed systems developments, academic or industrial.
- Experience integrating software with Google Cloud Platform, AWS, or Azure.
- Experience with common observability practices: tracing, logging, and metrics exporting.
- Experience building or operating managed cloud services (control planes, multi-tenant platforms, or database-as-a-service).
Neo4j is, without question, the most popular graph intelligence platform in the world. We have customers in every industry globally, and our products are a proven product/market fit. Joining our team is an opportunity to shape the future of data and analytics. Below are just a few exciting facts about Neo4j.
- Neo4j is one of the fastest-scaling technology companies in this industry. It recently surpassed $200M in annual recurring revenue (ARR), doubling its ARR over the past three years.
- Raised the biggest funding round in database history ($325M Series F). Backed by world-class investors like Eurazeo, GV (formerly Google Ventures), and Inovia Capital, Neo4j has raised over $600M in funding and is currently valued at over $2Bn. This puts Neo4j among the most well-funded database companies in history.
- 84% of the Fortune 100 and 58% of the Fortune 500 use Neo4j. Examples include Boston Scientific, BT Group, Caterpillar, Cisco, Comcast, Department for Education UK, eBay, NBC News, Novo Nordisk, Worldline, and others.
- Co-founder and CEO Emil Eifrem has built an amazing culture that prides itself on relationships, inclusiveness, innovation, and customer success.
- Countless industry awards. Massive enterprises and individual developers/data scientists love Neo4j. A strong sense of community and ecosystem is built around the platform.
- A recent Forrester Total Economic Impact™ Study cited Neo4j as delivering 417% ROI to customers.
Research shows that members of underrepresented communities are less likely to apply for jobs when they don’t meet all the qualifications. If this is part of the reason you hesitate to apply, we’d encourage you to reconsider and give us the opportunity to review your application. At Neo4j, we are committed to building awareness and helping to improve these issues.
One of our central objectives is to provide an inclusive, diverse, and equitable workplace for everyone to develop their potential and have a positive, career-defining experience. We look forward to receiving your application.
Neo4j is a Silicon Valley company with a Swedish soul. We foster collaboration and each of us is empowered to contribute and put our innovative stamp on projects. We hire candidates who reflect the following Neo4j core values:
(we)-[:VALUE]->(relationships)
(we)-[:FOCUS_ON]->(userSuccess)
(we)-[:THRIVE_IN]->(:Culture {type: [‘Open’, ‘Inclusive’]})
(we)-[:ASSUME]->(:Intent {direction:’Positive’})
(we)-[:WELCOME]->(:Discussions {nature: ‘IntellectuallyHonest’})
(we)-[:DELIVER_ON]->(ourCommitments)
Neo4j is committed to protecting and respecting your privacy. Please read the privacy notice regarding Neo4j's recruitment process to understand how we will handle the personal data that you provide.
More information at www.neo4j.com.