Neo4j is leading the rapidly expanding graph database market, projected to reach over $23 billion in the coming years. Recognized as a Visionary in the Gartner Magic Quadrant for Cloud Database Systems, we're poised to drive innovation and shape the future of data and AI. Join us on this exciting journey of growth and opportunity in an industry full of potential.
Grow Your Way
At Neo4j, your growth is in your hands. Dive into challenging projects and embrace exciting initiatives. Our global team offers endless opportunities to expand your skills, whether coding cutting-edge features, strategizing with Fortune 500 customers, or speaking at international tech conferences. Here, your ideas matter, your impact is real, and your career path is limitless.
Recognized for Relationships
Our strong relationships and collaborative culture have earned us multiple accolades, including Newsweek's Most Loved Workplaces. Join a team transforming data while building meaningful connections.
Making Connections That Matter
We're not just connecting data – we're connecting for good. Our technology empowers investigative journalism, fights human trafficking, tracks climate change, and accelerates medical breakthroughs. We foster diversity in tech and champion environmental causes. Join us in unleashing the power of connections to drive meaningful change worldwide.
Open Roles
Role
Department
Location
We are not working with recruiting agencies at the moment and will not accept unsolicited resumes.
Join us in living our values every day. Together, we're making an impact, one relationship at a time.
We Value Relationships
At Neo4j, relationships are at the core of everything we do. We nurture connections within our company, products, customers, shareholders, partners, and open-source community. Relationships are our primary value, driving all others.
(we)-[:VALUE]->(relationships)
We Focus on User Success
Our success is measured by the success of our users. We strive to create friction-free experiences across all Neo4j products and services for data practitioners, businesses, and communities. Every Neo4j team member, from customer service to engineering, is dedicated to user success.
(we)-[:FOCUS_ON]->(userSuccess)
We Thrive in a Culture That is Open and Inclusive
Diverse perspectives strengthen our company and products. We embrace openness and inclusivity, valuing people from different backgrounds, ethnicities, colors, genders, and more. We work on equal terms and generously share our knowledge, time, and skills.
Trust and safety are essential for creativity and productivity. In a global, diverse environment, the best intentions can sometimes get lost in translation. We build trust and strengthen our team bond by assuming positive intent in every interaction.
(we)-[:ASSUME]->(intent {type:"Positive"})
We Welcome Intellectually Honest Discussions
Diverse relationships spark discussions and disagreements, which we welcome as opportunities for the best ideas to win. We bring our authentic selves to the table, engaging in logical, professional, and intellectually honest conversations about the strengths and weaknesses of ideas.
At Neo4j, we prioritize action over talk. When we commit to a project, deliverable, deadline, customer, or relationship, we follow through. If circumstances change, we take ownership and present a new plan to honor our original commitment.
(we)-[:DELIVER_ON]->(ourCommitments)
BENEFITS
What We Offer
At Neo4j, we prioritize your well-being – physical, financial, and emotional. Our global benefits philosophy ensures a consistent, inclusive experience for our diverse team worldwide. We offer:
Competitive health and financial programs tailored to each region
Work-life balance initiatives
Cross-functional collaboration opportunities
Employee Resource Groups (ERGs)
Mentorship programs
We're committed to creating a supportive global community where you can thrive both personally and professionally. At Neo4j, your growth and well-being are our priority.
A Global Workforce
With over 800 Nodes across the globe, we've built a worldwide community that thrives in our eight offices, co-working spaces, and the comfort of our own homes.
Get a glimpse of what it's like to be part of the Neo4j team, where relationships drive our success and every connection matters.
"Seven years at Neo4j, and I'm still thrilled to come to work. We're not just colleagues; we're friends building the future of databases. In our engineering team, every voice matters, and every day brings new challenges. It's the perfect blend of innovation and camaraderie."
Louise Berglund
Sr. Software Engineer
"From startup to industry leader, I've witnessed Neo4j's incredible journey. Here, I create programs that truly benefit our users and community. The brilliant minds across all departments make every day exciting and rewarding."
Alexander Erdl
Senior Developer Marketing Manager
"Neo4j is a problem-solver's paradise. Every day brings new challenges and opportunities for creativity. The work is never repetitive, and the passion of our team is contagious. With great autonomy and real-world impact, it's the ideal place for innovation."
Tselmeg Basaan
Software Engineer, Cluster team
"At Neo4j, we're not just building a company; we're shaping an industry. Our cutting-edge tech, passionate team, and vibrant ecosystem are driving unprecedented value. It's a privilege to be part of this generational journey, and I'm excited for what's ahead."
Kay Nair
VP, Global Cloud Field Operations
';
// openPositions += '
' + jobData[i].departments[0].name + '
';
openPositions += '
' + departmentCategory + '
';
openPositions += '
' + jobData[i].location.name + '
';
openPositions += '
';
document.getElementById('all-positions').innerHTML = openPositions;
//add all departments to a new array
allDepartments.push(jobData[i].departments[0].name);
//add all countries to a new array
allCountries.push(jobData[i].location.name);
//add all titles to a new array so we can count the remote positions
allTitles.push(jobData[i].title);
}
//Count all open positions in each country (for icon overlay)
var count = {};
for (i = 0; i < allCountries.length; i++) {
count[allCountries[i]] = (count[allCountries[i]] || 0) + 1
}
//Count all jobs with 'Remote' in the title
var remoteCount = 0;
for (i = 0; i < allTitles.length; i++) {
if (allTitles[i].indexOf('remote') > -1 || allTitles[i].indexOf('Remote') > -1) {
remoteCount++;
}
}
document.body.querySelector('span[data-location="San Mateo, CA"]').innerHTML = count['San Mateo, CA'] ? count['San Mateo, CA'] : 0;
document.body.querySelector('span[data-location="Malmö"]').innerHTML = count['Malmö'] ? count['Malmö'] : 0;
document.body.querySelector('span[data-location="London"]').innerHTML = count['London'] ? count['London'] : 0;
document.body.querySelector('span[data-location="Germany"]').innerHTML = count['Germany'] ? count['Germany'] : 0;
//remove duplicates from dept
allDepartments = ([...new Set(allDepartments)]).sort();
const departmentDropdown = ["Engineering", "G&A", "Marketing", "Product", "Field Operations", "People"];
//build all department dropdowns
for (i = 0; i < departmentDropdown.length; i++) {
var opt = document.createElement('option');
opt.value = '.' + departmentDropdown[i];
opt.innerHTML = departmentDropdown[i];
selectAllDepartments.appendChild(opt);
}
//remove duplicates from country
allCountries = ([...new Set(allCountries)]).sort();
const locationDropdown = ["EMEA", "APAC", "Americas"];
//build all locations dropdowns
for (i = 0; i < locationDropdown.length; i++) {
var opt = document.createElement('option');
opt.value = '.' + locationDropdown[i];
opt.innerHTML = locationDropdown[i];
selectAllLocations.appendChild(opt);
}
// quick search regex
var qsRegex;
var filterValue;
// init Isotope
var $grid = $(".grid").isotope({
itemSelector: ".job-list",
layoutMode: "vertical",
filter: function() {
var $this = $(this);
let cleanFilter = filterValue ? filterValue.replace(/[^a-zA-Z0-9.-]/g, '') : undefined;
var searchResult = qsRegex ? $this.text().match(qsRegex) : true;
var selectResult = cleanFilter ? $this.is(cleanFilter) : true;
return searchResult && selectResult;
}
});
var filters = {};
var filterValue = ''
// bind filter on select change
$(".filters").on("change", function() {
// get filter value from option value
var $select = $(event.target);
var filterGroup = $select.attr('value-group');
// filterGroup will be null of the `change` listener was not on the department or location filters
if (!filterGroup) return;
let selectedDepFilter = event.target.value
filters[filterGroup] = selectedDepFilter;
filterValue = concatValues(filters);
filterValue = stripNames(filterValue);
filterValue = filterValue.toLowerCase();
$grid.isotope();
});
function concatValues(obj) {
var value = '';
for (var prop in obj) {
value += obj[prop];
}
return value;
}
// use value of search field to filter
var $quicksearch = $("#job-search").keyup(
debounce(function() {
qsRegex = new RegExp($quicksearch.val(), "gi");
$grid.isotope();
})
);
// debounce so filtering doesn't happen every millisecond
function debounce(fn, threshold) {
var timeout;
return function debounced() {
if (timeout) {
clearTimeout(timeout);
}
function delayed() {
fn();
timeout = null;
}
setTimeout(delayed, threshold || 100);
};
}
});
});
});