Jim Webber with Matthias Sieber: Teaching Neo4j to Make the World a Better Place




And we’re back with another installment from NODES 2021! In the third of the day’s closing keynote interviews, Jim Webber, Neo4j’s Chief Architect and CTO, sat down (virtually) with Matthias Sieber, a long-time graph devotee whose vast experience has served him across industries and projects. He also has experience teaching Neo4j to burgeoning graph acolytes, and shares how quality documentation makes that a reality.

Dive in and enjoy!

Meet Matthias Sieber


Jim Webber: I’m very pleased to welcome Matthias Sieber to NODES 2021. Now, Matthias, you’re a senior technical person. You are a lead software engineer at Citizentric, right? [Matt has since left that position at Citizentric]. And I know you’ve been around the Neo4j community for forever. I know this, because I made the error of thinking you were still at the previous job from years ago. So you’ve been around the community since 2015, something like that?

Matthias Sieber: 2015 in a professional capacity. That is correct.

Jim Webber: And earlier in other capacities?

Matthias Sieber: Yes. I don’t know if you wanna go into that right now, down memory lane. So yeah, 2014 is when I got my start in Neo4j. At the time I was teaching at a coding bootcamp. And one of my students wanted to build a music recommendation service, and the databases that were part of the curriculum were not really suitable for that, so that’s when I found Neo4j.

Jim Webber: Awesome, okay, I’m gonna come back to that. I think that’s a pretty interesting thing that you’ve taught Neo4j. So I think that’s something that I’d like to pull apart a bit later on, but going back to the present – you’re at Citizentric. What does Citizentric do, and what are you doing there?

Using Graph Technology to Make the World a Better Place


Matthias Sieber: Yeah, Citizentric – my take on it is we make the world a better place. Of course, something that all startups aspire to do, but we work a little bit differently. We work with a lot of NGOs, but also government organization, nonprofits. And currently, I’m working on a very exciting project essentially trying to end homelessness. Right now, the scope is homelessness within Los Angeles county, but the plans are already in place to roll that out to further areas. And that’s what I’m working on as a leader.

Jim Webber: So hang on. I have a large capacity for believing that problems are graph problems, right? Sort of implicitly as someone that works at a graph company, but how is homelessness a graph?

Matthias Sieber: Well, so actually very interestingly, that was part of my first job interview and I drew a lot of comparisons from my previous work at MediaHound, where I built on the already existing recommendation engine to facilitate cross media recommendations. And so the goal was essentially to bring people into suitable housing. Most specifically right now, there’s a lot of shared housing – there is a small amount of money allocated to housing in general within Los Angeles county. There are many service providers that try actively and do outreach and approach people who are experiencing housing insecurities. And these folks then have the task of doing a lot of paperwork. It’s a very manual approach. It is not that great. And the downside really is that often the experience is actually so bad for the participants of these programs – the people trying to seek a permanent place – that they often end up on the street again.

So there are many, many factors, because it’s not only in shared housing, it’s not only the home itself, but also who are your other housemates? Your roommates in a sense. And so essentially it is a graph problem, where you ask a lot of data to then get good recommendations out of it.

Jim Webber: That’s fascinating. So now you explain it and I feel slightly less stupid. So it feels to me like there’s two graphs in there, right? There’s the kind of recommendation graph, which I think many of us are very comfortable with. We’ve seen quite a few examples of that. You’ve built one. I think when we wrote the O’Reilly book years back we had a small recommendation example in there, but it also feels like you’ve kind of got a market matching graph in there, right?

Which I think those folks in FinTech or the financial services companies would recognize as a very graphy problem, as well as trying to find party and counterparty for – in your case – house share or something, but similarly even if you were in the financial sector, right? So that’s nice to see patterns being used over there in the for-profit sector that can also benefit the nonprofit sector as well, to help regular human beings get their lives back on track. That’s rather lovely. I feel very happy. There’s a theme developing here, isn’t it? With Matt [Cloyd] talking about civic tech and effectively you’re also in civic tech. So it seems as if there’s a definite graph movement there.

So a moment ago – before I kind of strayed off and started demanding to know your graph models and how you do all the recommendations in matching and so on – you mentioned that you’ve taught Neo4j. Now, I think that’s something we have in common in the early days of Neo4j. We are all the Neo4j staff – we’re coders, teachers, coffee makers. We did everything and I confess that I enjoyed the teaching, but when you were teaching Neo4j, I guess you were meeting people that were often pretty early by default in the graph journey.

Matthias Sieber: Yeah.

Teaching Neo4j and the Advent of Documentation


Jim Webber: What advice did you give them? And what advice would you give people now in our community who are also kind of at the same point in their journey? I’d be interested to see if that’s changed over the years. I suspect it might have, because graphs got better, but what do you think?

Matthias Sieber: Just to clarify – the teaching that I did on Neo4j and that I still do – it’s very informal, right? So I mentioned coding bootcamp. I had discussions with my colleagues and they really loved Neo4j, but the thing about especially that particular book, Coding Bootcamp, sometimes it is not too much about learning, it is about job placement, right? Which is understandable. The participants of those programs say they want to improve their lives by first and foremost, getting a better job. Secure a higher income of that nature, but once in a while we have more entrepreneurial minded students in there that just want to do their own thing. And something like Neo4j is great for them, because they don’t really have to jump through hoops to learn something that is very abstract and hard to grasp. So when I discovered graph databases, I really had a tough time calling Postgres, and MySQL, and all those types of databases, “relational databases.”

Jim Webber: I hear you, and I’m absolutely gutted that they got the name first, because it feels like graphs are so much more about relationships than they are, right?

Matthias Sieber: Absolutely, they are. So yeah, a bunch of tables and spreadsheets. I still use them in a very small capacity and we can talk about that later. So my teaching – I think the documentation obviously got a lot better over the years. Also the extra content that people put out, training programs, extra content. People like Ryan Boyd and Kevin Van Gundy in the past.

Kevin Van Gundy actually made me feel like a dinosaur when I met him at a training in Los Angeles. I just walked up to him and he introduced me and was like, “Oh, this is Matthias. He’s been in this space longer than I have.” And I was like, “Well, yeah, I’ve been around for a while.” But then those pieces are great. And then, of course, Michael Hunger and William Lyon – their content is great. I think particularly William’s YouTube series probably brought a new cohort of people in a sense to the graph. And that’s great.

I always tell my junior developers that I work with and introduce Neo4j to please use the official documentation, because it is good. They’re a little younger, so they’re actually more drawn to videos and tutorials, but in the technology that moves quite fast between Neo2 and Neo4, there’s quite a bit of changes when it comes to extra utility. And yeah, Cypher still mostly works the same, but you can, of course, make use of APOC and all of that stuff. I’m often teaching by doing or I have a purpose and go from there.

So I have not yet formalized a training program, but I think also the certification definitely helps. The certification program helps and there are a lot of resources available nowadays, even at Discord. So many opportunities out there. And what often helped me is exploring a technology through the documentation, and then here and there might be something in the documentation that I find odd. So I try to clarify that, and now I have my first pull request to that repository just by adding documentation, and slowly but surely you can become an expert in some smaller capacity. And that is helpful as well.

Jim Webber: That’s lovely. In fact, internally at Neo4j today, we had a brown bag lunch about the documentation stuff. So it’s a really nice coincidence. I think the documentation team here is super friendly. They’re really quite good at engaging with the community. I think your experience isn’t unique. It’s lovely, but it’s not unique. I think folks out there, if you are thinking you’ve got an itch to scratch, the documentation is often a really good place to start. If someone lodges in your mind, you think, oh, that needs rephrasing or a bit more clarity or what have you. I think that’s a great place to start. You’re actually contributing even more effectively directly into the Neo4j code base. And it’s very non-intimidating, so that’s lovely.

So let me ask you a more speculative question around the kind of civic minded tech stuff you do. In your world, it seems to me, there are human problems and human problems seem to be quite graphy. Where do you think graphs might end up in this sector? Because it seems like there’s the tyranny of choice really.

Why Graphs Are the Future


Matthias Sieber: Yes, there are many, many problems to tackle certainly. I think graphs in general – they don’t go away. Things like RedditGraph and this week I stumbled over NPM repo that’s called a GUN.js, which is a graph database – I’m using “graph” loosely.

Jim Webber: I’m very pleased to say there are loads of graph databases now, which is wonderful, because it means graph databases are a thing. It’s not just Neo4j yelling about it. So that’s a great outcome, I think.

Matthias Sieber: Exactly. But I also believe that Neo4j as a leader in the graph space has a role in making the world a better place, right? So I really like to see events like Graphs4Good. And then of course the Panama Papers – they were phenomenal in making the rather complicated world of financial injustice, I guess you could call it, make that really digestible if you put it in a graph. And my understanding is that essentially investigative journalists were working on this, but somehow from the folks at Neo4j to really highlight what is going on. And I obviously want more of that – not the injustices, but bringing those things to the surface. And so that’s my hope – that people gather on what’s important.

Jim Webber: Well, I can give you some good news there where the tech that underpins the ICIJ, the Neo4j stuff is still there. And we have a great relationship with those folks, and we absolutely support that kind of investigative journalism. Many of the folks in our community, many of the folks in Neo4j – we share that kind of sentiment that the world can be better. And we think that by making sense of data, we can improve the quality of the world and we can improve it for the overwhelmingly large majority of people on this planet by just making data useful. So I’m glad that you also share that sentiment. I guess it’s a common sentiment amongst all of the people here at NODES today.

Well, Matthias, thank you so much for spending some of your time with us here at NODES, and I hope it’s been a good conference for you. And thanks a lot for your time.

Matthias Sieber: Thank you very much, Jim.


Get started with Neo4j by taking free, self-paced, hands-on online training now at GraphAcademy.

Take the Free Courses