This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
Join our Cypher teams as a software engineer to develop and extend the Neo4j query language. Cypher is similar to SQL, but designed by us specifically for graph databases and for finding patterns in a graph. Working in the Cypher teams is technically very rewarding, working on solving complex problems on many different levels. We are recruiting for all levels of the Cypher stack, from parsing and semantic analysis to query planning, optimization and execution; as well as identity & access management and handling of procedure framework and database schema & administration. The development is done in Scala and Java, and there will be possibilities to work in areas ranging from language design to advanced algorithms, concurrent programming, and mastering the JVM internals. You will be working in an international environment with colleagues mainly in Sweden and the UK, but also elsewhere in Europe. The teams (5-7 engineers) are self-organised and set up their own ways of working, within the guidelines of the overall ways of working in Engineering. As an engineer, you have a lot of freedom in how you carry out the tasks ahead of you.
Job Responsibility:
Develop and extend the Neo4j query language
Work on solving complex problems on many different levels
Work in areas ranging from language design to advanced algorithms, concurrent programming, and mastering the JVM internals
Requirements:
A Master of Science in Computer Science or similar experience
Knowledge in Java or Scala (or a similar language)
Experience of Databases
Experience of secure development practices, and writing security sensitive code
Familiarity with Agile development processes
Strong analytical skills and a drive to solve complex, non-trivial problems requiring deep algorithmic thinking and first-principles reasoning
Nice to have:
Neo4j experience
An interest in language design
Experience with algorithm design and analysis
Understanding of hardware architecture
Experience in compiler engineering
Experience in language design
Understanding of JVM internals
Scala, or another functional language
Experience with authentication/authorization systems including role based access control and OpenID Connect
Experience with performance-driven development, e.g. profiling, benchmarking and optimizing code
Interest in exploratory learning and transferring academic research into production grade products