jobapplier

Software Engineer (Cypher Planner)

Neo4j

Skills

Required

  • Scala
  • programming
  • Agile development processes
  • TDD
  • kanban / scrum
  • pair programming
  • performance-driven development
  • benchmarking, and optimizing code
  • Java
  • database design and implementation
  • developing compilers
  • algorithm design and analysis

Preferred

  • Cypher
  • Neo4j

Join Neo4j, the leading graph database platform, as a Software Engineer specializing in Cypher planning. In this role, you will optimize the core codebase, enhance the query planner, and contribute to the development of comprehensive features that elevate the capabilities of the Cypher language and the Neo4j database. You will have a significant impact on the entire codebase, from the parser to storage files and indexes.

Responsibilities

  • Enhance and optimize the query planner, contributing to the development of comprehensive features that elevate the capabilities of the Cypher language and the Neo4j database.
  • Determine the most rapid and effective means of retrieving queried data from the underlying stores and indexes of the property graph model.
  • Collaborate with cross-functional teams, discussing the pros and cons of different options, and anticipating edge cases in a design.

Requirements

  • Familiarity with Agile development processes (TDD, kanban/scrum, pair programming)
  • Experience with performance-driven development, e.g., profiling, benchmarking, and optimizing code
  • Knowledge of or willingness to learn Scala
  • A desire to learn
  • We don’t expect you to have experience across all these areas. We have a mix of different skills in our team. Many of our teams are spread over two or more locations, so you should be comfortable working as part of a distributed team
  • Experience programming in Scala and/or Java
  • Understanding or previous experience with database design and implementation
  • Interest or experience in developing compilers

A strong foundation in algorithm design and analysis

  • Interest in exploratory learning and transferring academic research into production-grade products
  • 5+ years of experience developing high-quality, highly scalable production-level software