Software Engineer (Core Networking)
Posted Updated
- Here at Neo4j, we’re on the lookout for a software engineer to join our Core Networking Engineering Team, where you will primarily work on the Neo4j network server modules
- There will also be scope to work on the drivers and their APIs as well as our proprietary binary protocol
- The drivers act as an adapter between the network and client applications
- The server modules manage the server side of the conversation, using both HTTP and our binary protocol, Bolt
- Drawing on your deep understanding of network concepts and binary protocols, you will be a key part of influencing the strategic direction for connectivity with Neo4j and the drivers together with our product managers
- You will be leading the design of new features and improvements to the protocol whilst taking on feedback from other experts and stakeholders within the company
- You will then implement these designs in the server codebase
- As well as software development, you will also have the opportunity to do things like supporting community projects, writing blog posts, and helping with training and other events
Benefits
- Competitive health and financial programs tailored to each region
- Work-life balance initiatives
- Cross-functional collaboration opportunities
- Employee Resource Groups (ERGs)
- Mentorship programs
- API design
- Graph Databases
- System-oriented languages such as: C, C++, Rust or Go
- Java language, platform and ecosystem
- We’re looking for 5+ years of practical experience in:
- Java Web Development Specifications (JAX-RS)
- Database management systems
- You will ideally have experience and/or an interest in:
- Docker
- Network packet analysis (e.g., Wireshark)
- Distributed system design
- Netty
- Network development (binary protocol specs like Bolt, Frontend/Backend, MongoDB Wire Protocol)
- Concurrency and asynchronous programming
- You may have also worked with some of:
- Customer experience and developer community interaction
