Q: Can you talk to me about your most interesting Neo4j project?
Matthias Sieber: I have been a big fan of Neo4j for quite a while. I got my first job in software development in the year 2000. I first started learning about Neo4j when I was a teacher at a boot camp, together with a student who wanted to do a music discovery and recommendations service. We were looking databases that could fill this need and that’s how I discovered Neo4j.
My most recent Neo4j project was at a company in Los Angeles, and we were building a business-to-business marketplace. We were supposed to launch with about five million different products and the important part here is that product data was bound to manufacturers so that way we could ensure that the quality of the data is there.
Since it is a marketplace, the distributors would match their inventory list with our data which is stored in Neo4j. That way they were able to set prices and lead times and whatnot and some additional information that is not covered by manufacture-entered data.
Q: What made you choose Neo4j specifically?
Matthias: That actually happened during my interview for the position as a software engineer at that company. I knew that we wanted to use hapi.js, which is a Node.js framework which originated out of Walmart Labs. I also knew that we wanted to use Angular.js on the front end which I was also familiar with and then Postgres.
Having tinkered with Neo4j, but not having anything in production at that point, I asked – since the business was explained to me as an Amazon marketplace for business-to-business – if they also wanted integrate the “users who bought this item also bought these items” (the feature which makes Amazon a lot of money).
They were very interested in that, but they pointed out that they were not experienced in machine learning and neither was I. But knowing enough about Neo4j, I knew that a feature like that is easily implemented in a graph database and that is how we ended up using Neo4j.
Q: If you could go back and take all the knowledge that you know about Neo4j, what would you do differently?
Matthias: That’s actually very challenging because almost every time I think about data, I think about data in a connected way so the graph immediately pops up. When I talk about ideas to peers (even to non-technical personnel), I whiteboard the ideas, and I draw circles and arrows, and you have a graph.
More often than not, that idea will actually make it into the graph database. In cases where relational databases (which is a terrible name for relational databases, it really should be named tables), I would actually want to use a graph database instead of writing mulitple JOINs.
Q: What were some of your most surprising results you’ve ever seen from using Neo4j?
Matthias: Surprising is really how easy it is for Neo4j developers to use it.
We had a junior developer at the company I was most recently employed at, and we were hiring him for an Angular.js position. At his interview, he showed just regular computer science fundamentals, and I wanted to see how interested he was in the whole tech stack.
When there was an opportunity for him to also explore the backend side of things and also the data layer, he got started on Neo4j and started sending pull requests. In the same week, he learned about Cypher.
We had him attend a GraphAcademy, and so once you got to know how you model data and overcome the fact that really it is very easy to model data and to query data, at that moment you can be productive. That’s very great.
I haven’t experience the ease of use anywhere else really. Maybe HTML.
Q: Anything else you want to add or say?
Matthias: I want to point out and I talked about it before, that I really like how the Neo4j team interacts with the community and how the community can interact with you.
Just today I sent you a tweet that I was in the area and asked if I could stop by. And you guys were like “Yeah, sure, let’s talk.” It’s just awesome. I think that speaks for you as a company and culture, and I hope to see you are successful for a very, very long time.
Want to share about your Neo4j project in a future 5-Minute Interview? Drop us a line at firstname.lastname@example.org
Still using Postgres because it’s the only database you’re familiar with? Download this ebook – The Definitive Guide to Graph Databases for the RDBMS Developer – and discover how to use graphs to tackle your biggest connected data challenges.