Software Engineer (Cypher Planner)
Posted
Summary
Join Neo4j's Cypher team to optimize the query planner that transforms query strings into efficient execution plans, working across the parser, storage, and indexes of the Neo4j graph database using Scala and Java.
- Join our dynamic Cypher team at Neo4j, where we are at the forefront of optimizing the core codebase that receives query strings and transforms them into efficient, logically sound execution plans
- This role delves deep into the heart of the database, determining the most rapid and effective means of retrieving queried data from the underlying stores and indexes of the property graph model
- As a Cypher Software Engineer, you will not only enhance and optimize the query planner but also contribute to the development of comprehensive features that elevate the capabilities of the Cypher language and the Neo4j database
- Your impact will extend across the entire codebase, from the parser to the storage files and indexes
- Success in this role requires the ability to think abstractly, discuss the pros and cons of different options, and anticipate edge cases in a design
Benefits
- Competitive health and financial programs tailored to each region
- Work-life balance initiatives
- Cross-functional collaboration opportunities
- Employee Resource Groups (ERGs)
- Mentorship programs
- 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
