Auto-apply is a Pro feature

Let Findyet apply to this job for you:

  • Your CV is tailored to this posting.
  • The application form's questions are answered from your profile.
  • You review everything and approve before anything is sent.
  • Findyet submits the application and adds it to your tracker.

Available on Greenhouse postings today, up to 3 applications a day on Pro.

The first 100 verified accounts get Pro free for 90 days.

See plans

Neo4j

Software Engineer (Go/Kubernetes, Sharding Team)

Posted Updated
Discussion
  • 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
  • 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

Benefits

  • Competitive health and financial programs tailored to each region
  • Work-life balance initiatives
  • Cross-functional collaboration opportunities
  • Employee Resource Groups (ERGs)
  • Mentorship programs
  • 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
  • Experience developing production-level software
  • Ability to communicate about, and collaborate on, complex topics
  • Strong Kubernetes experience, including the built-in resources such as Pods, Deployments, and StatefulSets, and what it takes to run stateful workloads on them
  • Strong Go experience across multiple projects, from scripting through to larger microservice-style applications, plus some knowledge of the Go build and packaging system
  • Ability to work independently within a flexible software development organisation
  • 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 integrating software with Google Cloud Platform, AWS, or Azure
  • Experience of distributed systems through usage, administration, or development, and an interest in recent distributed systems developments, academic or industrial
  • 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)

Skills

Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.