At a Glance
- Tasks: Design and implement core database features while tackling complex engineering challenges.
- Company: Join Neo4j, the leading graph intelligence platform transforming data into knowledge.
- Benefits: Competitive salary, inclusive culture, and opportunities for professional growth.
- Other info: Be part of a fast-scaling company with a strong community and commitment to diversity.
- Why this job: Shape the future of data analytics with cutting-edge technology and a collaborative team.
- Qualifications: Experience in systems programming and a solid understanding of concurrency and data structures.
The predicted salary is between 56700 - 69300 £ per year.
About Neo4j: Neo4j is the graph intelligence platform that transforms data into knowledge to power the next generation of intelligent applications and AI systems. It includes enterprise-ready knowledge graphs for accurate, explainable, and governed AI; the most comprehensive, trusted, and easy-to-deploy graph capabilities across any environment and data source; and an unmatched ecosystem trusted by 84 of the Fortune 100 and supported by the world’s largest graph community.
Our Vision: At Neo4j, we have always strived to help the world make sense of data. As business, society and knowledge become increasingly connected, our technology promotes innovation by helping organizations to find and understand data relationships. We created, drive and lead the graph database category, and we’re disrupting how organizations leverage their data to innovate and stay competitive.
The Role: The Kernel team builds the storage engine and transaction machinery inside Neo4j. If you join us, you will not be building web APIs or shuffling data between services. Instead, you will be working directly on the database engine itself. Our day-to-day is low-level systems engineering. We write and maintain custom storage engines, the page cache, transaction handling (WAL, ACID guarantees), indexing, and memory management. The code we write determines how fast queries run across billions of nodes and relationships, and how safely data is written when a machine crashes.
What you will actually be doing:
- Designing, profiling, and implementing core database features, including storage formats, index structures, and recovery paths.
- Diagnosing tricky concurrency bugs, race conditions, and lock contention.
- Performance engineering: profiling CPU, memory allocation, off-heap memory, and disk I/O to improve latency.
- Reviewing designs and PRs with a heavy focus on correctness, data integrity, and long-term maintainability.
- Helping decide technical direction and architectural trade-offs as our engine evolves.
What we are looking for:
- Systems programming experience: You are comfortable working close to the hardware. Most of our codebase is Java, but if your background is in C++, Rust, or Go and you understand memory layouts and concurrency, that translates well.
- Concurrency and data structures: You have a clear understanding of threads, locks, atomic operations, cache locality, and algorithmic complexity.
- Pragmatic engineering: You write thorough tests because edge cases in database kernels are painful to debug in production.
- Collaborative attitude: You are comfortable having your technical choices questioned, you back up decisions with data or benchmarks, and you treat code review as a two-way discussion rather than a hurdle.
It is a bonus if you have:
- Prior experience with database internals, storage engines, or file systems.
- Deep knowledge of JVM internals, such as GC behavior, JIT compilation, and off-heap memory.
- Hands-on experience with profiling tools like async-profiler, JFR, or perf.
- Experience navigating and evolving large, mature codebases.
Why Join Neo4j? Neo4j is, without question, the most popular graph intelligence platform in the world. We have customers in every industry globally, and our products are a proven product/market fit. Joining our team is an opportunity to shape the future of data and analytics.
Neo4j is committed to building awareness and helping to improve these issues. One of our central objectives is to provide an inclusive, diverse, and equitable workplace for everyone to develop their potential and have a positive, career-defining experience.
Neo4j Values: Neo4j is a Silicon Valley company with a Swedish soul. We foster collaboration and each of us is empowered to contribute and put our innovative stamp on projects.
Software Engineer – Database Kernel in Whitehall employer: Neo4J
At Neo4j, we pride ourselves on being a leading employer in the tech industry, offering a vibrant work culture that fosters innovation and collaboration. Our London-based team is dedicated to pushing the boundaries of graph intelligence, providing employees with unique opportunities for professional growth and development while working on groundbreaking projects like the Aurendil database. With a commitment to inclusivity and a strong sense of community, joining Neo4j means becoming part of a dynamic environment where your contributions truly matter.
StudySmarter Expert Advice🤫
We think this is how you could land Software Engineer – Database Kernel in Whitehall
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Neo4J or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Neo4J.
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Neo4J.
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Neo4J that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Software Engineer – Database Kernel in Whitehall
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Neo4J.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Neo4J and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Neo4J
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Neo4J uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.