Software Engineer - Core Networking
Job description
About the role
Join our Core Networking Engineering Team to manage and evolve the network server modules powering our graph intelligence platform. You will influence the future of our connectivity strategy, working closely with product managers to design and implement features for our binary protocol and driver APIs. This position places you at the center of how Neo4j communicates across distributed environments, ensuring that data traverses network boundaries efficiently and securely. You will own critical server-side components that define the reliability and performance of our graph platform for customers worldwide. The role demands a balance between deep technical execution and strategic collaboration to evolve our protocols in line with product goals. You will be responsible for maintaining the integrity of our proprietary Bolt binary protocol while enabling new capabilities for our driver ecosystem. Your work will directly impact the experience of developers who build applications on top of Neo4j's graph intelligence platform.
Key facts
What you'll do
- Develop and maintain server-side network modules using HTTP and our proprietary Bolt binary protocol, ensuring robust communication channels.
- Lead the design of protocol improvements and new connectivity features that align with the strategic direction of the graph intelligence platform.
- Collaborate with stakeholders and experts to translate feedback into technical implementations within the server codebase, balancing requirements with architectural integrity.
- Contribute to the broader developer ecosystem by supporting community projects, writing technical content, and participating in training events to promote best practices.
- Analyze and resolve complex issues related to network communication, applying deep knowledge of protocol behavior and server-side processing.
- Implement optimizations for throughput and latency in network communication, enhancing the performance of graph data transmission.
- Partner with cross-functional teams to define new API capabilities, translating business needs into concrete network and protocol requirements.
- Ensure that all server-side network modules adhere to security and compliance standards relevant to data transmission and storage.
- Mentor junior engineers on network protocols, distributed systems concepts, and the nuances of the Bolt binary protocol.
- Drive the creation of technical documentation that clarifies protocol behavior, design decisions, and integration guidelines for internal and external consumers.
- Monitor network performance in pre-production environments, identifying bottlenecks and potential failure points before deployment.
- Act as a technical authority on connectivity matters, representing the Core Networking team in architecture reviews and design discussions.
- Explore emerging patterns in network communication and evaluate their applicability to Neo4j's graph platform and driver APIs.
- Facilitate knowledge transfer sessions to align the team on protocol changes, tooling, and debugging strategies for network-related issues.
Requirements
- 5+ years of professional experience working with the Java language, platform, and ecosystem, demonstrating a strong grasp of core language features and ecosystem tools.
- Deep understanding of network concepts and binary protocols, including how they operate at the wire level and interact with operating system networking stacks.
- Proven ability to write and maintain server-side code that handles concurrent network connections with stability and low latency.
- Experience in designing and implementing communication protocols, including error handling, framing, and message serialization in binary formats.
- Strong familiarity with TCP/IP networking, socket programming, and the challenges of reliable communication over unreliable networks.
- Ability to read and interpret network packet captures to diagnose issues and validate protocol behavior during development and testing.
- Commitment to writing clean, testable, and maintainable code that follows industry best practices and aligns with Neo4j's coding standards.
- Willingness to engage with open source communities by reviewing contributions, reporting issues, and collaborating on shared networking libraries.
- Understanding of distributed system challenges such as concurrency, consistency, and fault tolerance as they apply to networked graph services.
Nice to have
- Experience with network development, including Bolt, MongoDB Wire Protocol, or PostgreSQL Frontend/Backend protocols, providing context for how database protocols operate.
- Proficiency in network packet analysis tools like Wireshark, enabling deep inspection of protocol exchanges and troubleshooting of communication issues.
- Background in distributed system design, API design, and Netty, with an appreciation for how asynchronous frameworks simplify network programming.
- Familiarity with concurrency, asynchronous programming, and developer community engagement, fostering collaboration both within and outside the company.
- Exposure to database management systems, graph databases, JAX-RS, Docker, or system-oriented languages such as C, C++, Rust, or Go, offering insight into how higher-level services interact with lower-level networking and storage layers.
Skills & tools
- Java
- Bolt Protocol
- Netty
- Distributed Systems
- API Design
- Network Packet Analysis
Practical notes
Neo4j encourages applicants from underrepresented communities to apply even if they do not meet every listed qualification. The company is a well-funded organization with over $600M in total funding and a valuation exceeding $2Bn. Please review the company privacy notice regarding the recruitment process before submitting your application.