Emil Eifrem is the Co-founder and CEO of Neo4j, a category-defining graph database platform powering applications for artificial intelligence, fraud detection, real-time recommendations, and master data. In this episode, Emil identifies key questions entrepreneurs must ask in the emerging era of public cloud software.
Michael Schwartz: Welcome back, Underdogs. This week, we’re lucky to have with us Emil Eifrem, one of the co-founders and the CEO of Neo4j.
Everything about Neo4j’s journey was difficult. Let me just list some of the challenges.
It’s hard to start a business.
It’s hard to write a graph database.
It’s hard to invent a totally new market segment.
It’s hard to build a new business model in your totally new market segment.
It’s hard to raise capital if you are based in Sweden.
It’s hard to build an open source community from scratch.
It’s hard to build a business around open source.
The list goes on, and pretty much every challenge in the book was faced by Neo4j.
Not surprisingly, Emil has learned a few things along the way, so for this reason, it was a lot of fun chatting with him. He has some fantastic insights.
I think I only scratched the surface, so enough of my blabbering, here it goes.
What is a Graph Database?
Emil, thank you for joining us today.
Emil Eifrem: Thanks, Mike. Great to be here.
Michael Schwartz: So, primarily this is a business podcast. But just to provide some context, what is a graph database and what is it good at?
Emil Eifrem: That is a great question. One that I’ve spent most of my career actually answering and broadcasting.
At the highest level, we’re a database, so we store data. That’s pretty simple. But unlike the databases that most people are familiar with relational databases, which shape that data in rows and columns – our building blocks, or abstractions, are nodes and then relationships between those nodes. So, through that, you can build up a graph.
When I say graph, you should think social graph, which is a synonym with network. It’s a way of modeling data that is highly connected.
It turns out that a lot of data, in the modern day and age, is very connected. And if you have that kind of data, we can typically query it and be a thousand times faster, even a million times faster than a traditional relational database.
Origin of Neo4j
Michael Schwartz: You and your co-founders identified the need for a graph database around 2000, and you spent a couple of years trying to tackle the super hard problem.
At what point did you decide it was the right time to start the company behind this database?
Emil Efreim: That’s a good question. When we first solved the problem, or at least started solving the problem, it was, like you mentioned, early 2000, and that was just a fully internal use.
We were working at an Enterprise content management company at the time, and we had a lot of data that was very connected, so we solved it for our own use. But when we looked at the industry, at the time there was really no discussions around alternative databases.
The industry was just coming off this big hangover, if you will, from the object databases in the mid-to-late ‘90s, which kind of flamed out very quickly.
At that point, everyone’s kind of talking – yeah, the Ruby innovations in data, it’s just going to build on top of the relational database.
We disagreed with that perspective but felt like it was impossible to change the entire discourse in this industry.
So then, fast forward a bunch of years towards the end of the 2000s, so 2007, 2008, 2009. At that point, big data was starting to get a hold. NoSQL started happening, and that’s when we said all right, let’s spin out this into a separate company.
That was in late ‘07 I believe. We started a first round of seed funding in 2009 at the back of NoSQL happening.
Founding Community Size
Michael Schwartz: Was there a community at that time for Neo4j?
Emil Efreim: No, we were always like a single-vendor, vendor-lead open source, so we created the software internally. We open sourced it when we were at the company.
It was not one of those projects where we first open sourced, maybe we worked at a separate company, and we Apache licensed that, and we maybe put it then in the Apache Software Foundation – that’s a very traditional open source path. Then, once you reach escape velocity on the community, you wrap a company around it.
We did it the other way around.
When Did Community Start to Contribute Value?
Michael Schwartz: How long did it take before the community got to critical mass, where it was contributing in a way that was valuable?
Emil Efreim: Yeah. I’m going to guess that’s never as binary of an assessment as you would like.
We always had a very, I think, continuous growth of our community. Probably, I would say, a couple years after we got founded in ‘09 and ’10, is when I started seeing people giving a lot of talks about Neo4j, and writing blog posts about Neo4j that I’d never even heard of.
They were multiple hops away from me in the network, in the graph. Where they had heard someone who had talked to someone who talked to one of us, and that is probably a couple years after we got started.
Who Are the Customers?
Michael Schwartz: Who are the customers for Neo4j today?
Emil Efreim: So, today, we are used completely horizontally in all verticals, I would say at this point that use software and data, in terms of being deployment it’s primarily the big Enterprises.
So, 20 of the 25 biggest banks in the world use Neo4j. Four of the five biggest Telcos, seven of the top 10 retailers, 76% of the Fortune 50 are using Neo4j today in production. We are used very, very heavily inside of the Enterprise.
Michael Schwartz: In the horizontal market, it can be hard to figure out who to sell to – do you segment the market in any way?
Emil Efreim: Yes, in multiple ways. I mean, with the broadest brush, if you will, we’ll look at it in terms of company size, so that’s in what we call the Enterprise as a billion and above in revenue. So that’s our most important segment from a monetization perspective.
And then we have the mid-market, which is, let’s say, maybe a hundred million to a billion in revenue, and then we have the small below that.
When it comes to monetization, the revenue is the most important one for us at this point. But we do offer, we have a product for the small and the mid-market too.
It’s a completely, generic database, so it’s not like it’s a sole problem specifically to the Enterprise. In terms of an offering for them, we have like a startup program, so that you can use our enterprise edition for free, and things like that.
Is Segmentation Purely Revenue Based?
Michael Schwartz: Do you just base that purely on revenues, say “oh, you’re this amount of revenues, therefore you get this price?”
Emil Efreim: Yeah, I mean, it’s never as easy as that.
At some point, you want to, I think broadly speaking in open source, you want to segment out the people who have more time than money from the people who have more money than time.
And for the segment of people that have more money than time, you want to sell them your commercial offering.
For the segment of people who have more time than money, even if you try to sell them, like they can always work their way around it. I think that’s true generically speaking in software, but in particular in open source.
How Has Value Proposition Changed Over Time?
Michael Schwartz: How would you say that the value proposition has evolved over time?
Emil Efreim: Well, I think the core fundamental one is still the same.
The original premise behind the database is very simple – the world is becoming increasingly connected because data ultimately models the real world, data is becoming increasingly connected. And we are the database that can manage and connect the data really, really well.
That was true ten years ago, it is true today, I believe it’s going to be true ten years from now.
When it comes to specifics of course, the product’s evolved significantly.
When we first got started, we were basically embedded Java library. You embedded the database inside your own application, so that the product surface was basically a Java API or JVM API.
Today, of course, it behaves like any normal database. It’s a server you connect to if there’s a query language. Very much feels like SQL but is optimized for connect to data operations. So, that’s a very, very different type of product surface.
And when it comes to things on the periphery that maybe aren’t as fundamental but are really important, we have all kinds of value-add features – in particular for the Enterprise, where we make it really easy to integrate for the entire Enterprise ecosystem of tooling in technology.
Think Kerberos, or LDAP integration, think security, think encryption at rest.
Those kinds of things that end up being really important in big enterprises, in heavily regulated and compliance-oriented industries.
Michael Schwartz: Are the channel or distribution partners important for you developing the business?
Emil Efreim: We have a direct go-to-market strategy primarily.
So we have an Enterprise sales force. The price points for the enterprise are such that we can actually afford going direct to those customers, and that’s the fundamental of how we go to market.
Then we have channel partners, in particular the GSIs, the Global Systems Integrators, the Ernst & Young’s, the Accenture’s, and so on and so forth of the world. And they help us both with delivery, but also with getting us into customers.
And then thirdly, of course, we have the big cloud platforms. And in particular, when it comes to the SMB side of the market, a lot of them do deploy on the public clouds, and making sure that you’re easily available on any of the public cloud platforms is really important.
How To Differentiate From Cloud Providers?
Michael Schwartz: I’m sure you’ve noticed that Amazon launched the service with the same API as MongoDB, and also a Redis-like service, let’s say. Are you concerned about perhaps the cloud providers moving up the stack and offering something like Neo4j?
Emil Efreim: If you’re at a startup today, particular maybe in the infrastructure space – but probably any startup to be honest – if you are not concerned about Amazon, you’re not doing your job right.
I think every single management team off-site has some kind of an Amazon strategy topic these days.
So, of course, I spend a lot of time thinking about that. And I think that, just broadly speaking, we’re entering this public cloud era software. Where I think that any infrastructure company needs to look at themselves and say, hey, are we just a feature checkbox in Amazon’s feature list? Or is there something really like a sustainable competitive differentiator in what we do?
We’ve looked at that, and I’ve concluded that, yes, we believe that there’s room for an independent graph database company. I don’t think that everyone will consume graph databases just through these public cloud platforms.
I think in particular, when it comes to Enterprises, when I talk to Enterprise CIOs today, and I tell them that, sure, at some point you can buy a graph database service from Amazon, or Azure, GCP, or maybe Alibaba Cloud. But with Neo4j you can run as a service on any of the top public cloud platforms, you run in your own data centers, you run in your hybrid cloud environments, you run on your developers’ laptops.
That is something that Amazon, or Microsoft, or choose your favorite public cloud platform vendor – that’s something that they will never do, or at least would never do as well.
Balance Between Cloud and Innovation?
Michael Schwartz: Maybe to drill down on that a little bit. It seems like
the Amazons and other cloud providers in the world really need innovation from smaller companies. Where do you think we are, maybe as a society, in finding that balance?
Emil Efreim: That’s a great question. Well, obviously, this is something that broadly speaking, the software industry’s thinking through right now.
I mean, obviously, Amazon did quite a few interesting moves last year and earlier this year, 2018 and 2019, when it comes to its relationship with open source vendors.
So they took a number of high-profile open source products, which also had companies wrapped around them, and took that source code and ended up offering it up as an Amazon service, without contributing anything back to the upstream project.
And there’s a lot of discussion around that. I actually don’t think that it is anything ethically or morally wrong in that. A lot of people end up taking that perspective on it. I do think that at some point, that is not how you build the best product.
I believe that just investing time in operating this project – which is ultimately what these cloud providers do when they take an existing open source project and run it as a service – they invest time in operating it, and they become really good at that.
But they don’t invest time in moving that product forward. I don’t think that’s a sustainable place to be.
Then of course, in parallel, we have other cloud platforms. GCP in particular, Google’s Cloud Platform, which chose a different strategy and more partner-oriented strategy. Where they say, hey, we’re going to be the “best-of-breed” cloud.
Where they are going to integrate deeply with Neo4j – and we just announced a big strategic partnership with GCP a couple months ago – where they offer up a really deep product integration to a few key-select open source vendors, us being one of them. And go to the market saying, hey, dear customers, we’re going to be the best cloud platform for running these best-of-breed integrated workloads.
I personally think that is a really powerful value proposition.
Value Of Open Source
Michael Schwartz: Can you talk a little bit about how you think the open source development methodology has been beneficial to the business, and has that been material?
Emil Efreim: Yeah, I don’t think it was material at all when we got started.
So, just as a way of background, I have a long history in open source, dating back to the early mid-90s, when I exclusively used Linux. I worked in a bunch of open source projects in the early days of the internet, including some online gaming and things like that.
So when we started Neo4j, it was very natural for me to be open source, in particular when you have a technology that is adopted through developers, because the value of open source for developers, at least a perceived value, is so high that we can argue whether that’s real or not – but I do think it’s important when you have a developer go-to-market strategy.
So, it was always very clear to me that, at least, I would strongly consider being open source. But I never looked at open source as a means of production.
I never believed that, hey, I’m just going to open source my software, and then there’s going to be crowds of hackers from all over the world starting to build my product for me.
We build a database software, there’s probably about a thousand people in the world who can actually meaningfully contribute to a database kernel. And I believe that if I do my job right, I can hire all of them. So, I never looked at open source as a way of building my product for me, I looked at open source as a distribution model. This was my way of getting my software into the hands of developers everywhere.
We’ve also chosen the category creation approach, where we were the first team that put the word “graph” and “database” next to each other and said, “hey – this is a graph database concept.” And educate, you know – “dear world, here is what a graph database is, and when you should use it. Oh, by the way, Neo4j is a graph database.”
That is our approach, and that’s generally speaking, a very expensive way to go to market, because you have to educate so many people. Not just about the value of your product, which is the value of the entire concept – of the entire category – and I thought I don’t have a hundred million dollar marketing budget here. If I go open source, if I build a fantastic product that people love, then through word-of-mouth, I’ll be able to get the word out, if you will, about the category.
So, there is always that much more of the distribution play than a means of production for me.
Having said that, while we don’t have a lot of contributions, and by deciding on the core kernel, we do have a lot of contributions in the periphery.
So, pick any programming language, however esoteric, there’s going to be a driver for Neo4j. Pick any framework out there, there’s very likely to be some kind of an adapter to Neo4j. We’ve had a lot of contributions in the periphery of the product, just not at the core part of it.
Does Open Source Compete With the Product?
Michael Schwartz: When you use open source, it is a distribution model, it creates a sort of challenge for you because in a way you have to compete with your own free product. How did you sort of adjust to that?
Emil Efreim: That’s a great question. I think, fundamentally, that comes down to some of your earlier questions, which is around customer segmentation and kind of my perspective on identifying the people who have more money than time, and from the people who have more time than money.
And I think that in some senses, if you do things in the clumsy way, you can create a strong competitor to yourself. But I think that if you just think things through carefully, and you do a kind of proper product management on your editions.
Typically you have a free edition, we have a Neo4j community, and you have a commercial edition. We have Neo4j Enterprise, and if you just think through what are the use cases, what are the situations in which you are okay with us as a company, that people use it for free, and you are very clear on that, then you can typically design a feature set that match to that use case. Put that in your Community Edition.
Then, you need to be very clear and crisp inside of the company, so that you don’t try to come into those situations and try to sell them your Enterprise Edition. Because, generally speaking, maybe sometimes with fantastic salesmanship, you are going to be able to win a deal in that use case, but generally speaking, you won’t.
And that is by deciding you’ve chosen a strategy that gives that away for free, and if you want to look at it, purely from this other perspective, you give it away for free so that you get free marketing.
You get that free distribution, and you need to be okay with that, and be very clear internally.
Challenges Of Product Development
Michael Schwartz: One of the challenges I think of starting a technology business is that entrepreneurs tend to be somewhat overly optimistic about how long it takes to write good software and good products.
Can you talk a little bit about your experience in building the core products and additional products as you matured as a company?
Emil Efreim: Yeah. As you point out, that’s true generally of software and probably even more so in databases.
A VC once told me – he’s the investor in several database companies – and he said that, “hey, these database wars, if you will, or competing in the database market, is like watching boxing in slow motion.”
“I’m going to hit you with a high availability feature!”
And then 18 months later “I’m going to counter with cross-datacenter replication!”
And it does sometimes feel a little bit like that.
Having said that, I think the upside specifically of a database is that once you get embedded into these customers, like you’re there forever.
We regularly replace databases that have been inside of these Fortune 500 companies for 20, 30, 40, sometimes 40 years. And we know that, unless we mess up, we’re going to be there decades from now.
If you combine that with a recurring revenue business model, which wasn’t really “invented”, if you will, for software – 30, 40 years ago, everyone went to market with a perpetual model. So, if you combine that amazing stickiness, I think database is the mother of all sticky product categories, with recurring revenue, with that subscription model, that’s a really potent combination.
How To Balance Investor Short-Term Goals
Michael Schwartz: It sounds like you’ve had a really long-term vision for the company. How do you balance that with sort of the contract with venture capitalist to monetize them within, let’s say, a decade?
Emil Efreim: That’s always a tricky part.
I think what’s worked for me, I don’t know if I have any like amazing words of wisdom here, but what’s worked for me is just very similar to our discussion around monetization of open source: Just be very clear and upfront, both internally and externally, and just say “hey, here’s how I look at this.”
For me, personally, I’m not in love with startups like I’m in love with this startup.
When we first got started, it wasn’t even clear that we’re going to start a company around it. It was clear that we’re going to go open source in some way, shape, and form. But for the longest time we interchanged it, licensing it under an Apache license and submitting it to the ASF incubator, the Apache incubator, and maybe become a top little Apache project, and fund it just as a consultant.
We would be out and we would consult this and that, and evenings and weekends, we would actually hack on the database, we’d move the database forward. That was our original idea. And after a while, we realized, hey, no, we want to actually wrap a company around this because we believe that’s a smarter way of actually fund development of the actual product.
On the inside, I always looked at this as a multi-decade journey for me myself, personally. So, I thought that, hey, if 20, 30 years from now, I’m still the CEO of this company, that’s going to be amazing. And being very upfront and clear with that, with investors, was just very valuable and helpful for me.
Michael Schwartz: Can you talk a little bit about some of the challenges around building the team, or what your philosophy is in terms of who to bring on to the teams in terms of location and what types of people you look for?
Emil Efreim: What we decided very early on, on the engineering side, was that we’re going to hire the best and the brightest wherever they are.
We get started in Malmo, Sweden and moved our headquarters after a few years to the Valley, and I moved to the Valley, and that’s still our headquarters. But our engineering team was always located in Europe.
We got started in Malmo, Sweden, and we said, hey, we’re going to hire the best and the brightest wherever they are, but we’re going to try to keep within the same time zone, in a plus/minus, you know, a few hours.
Today, we have engineers spread across Europe, we have two hubs – in Malmo and in London, and we do try to be biased towards hiring there, but we don’t exclude ourselves to hiring in those locations. If we find a Ph.D. in graph databases in Munich, we’re going to hire them there.
Michael Schwartz: Just switching gears a little bit back to marketing. So, you’ve built sounds like a fairly traditional Enterprise sales, marketing sales type of organization. Do you have any thoughts about what you’ve learned over the years?
And from early on until today, I’m sure you’ve learned a ton – but do you have any quick advice on how you did it, and what you could have done better had you known starting out what you knew today?
Emil Efreim: There’s always a bunch of small learning along the way, which maybe aren’t that small when you look at them. I think for me the biggest learning has been my favorite way to look at open source these days is through the lens of self-service.
I think self-service, this notion that I think is gaining a lot more prominence of popularity now due to the rise of SaaS. So, all of a sudden, we can have these freemium SaaS offerings, even in the most traditional Enterprise software, be it towards marketing technology stack, or be it towards HR, or sales, or CRM, or whatever.
We can all of a sudden have this freemium model, where we can onboard customers at scale,
without any marginal cost on the vendor side, without having to engage the sales rep, without having to engage customer success, and so on and so forth.
And I really looked at open source in the same way. It is really getting self-serve up and running, primarily towards developers and primarily on-prem.
I think that ends up something really valuable to me because it really crystallizes the fact that before you start monetizing open source, you should get that self-serve motion done right. And that self-serve motion is primarily product features, and product developer experience, or user experience combined with documentation. And if you get those two pieces right, you get escape velocity on your community.
That’s where the community starts really taking off, and if you afterwards want to choose to monetize that community, that ends up working really well.
But if you try to do it the other way around, where you go open source, and then you start monetize with kind of classic Enterprise, marketing and sales motion, I think that ends up creating just a traditional Enterprise software company, with none of the benefits of being open source.
Advice For Entrepreneurs
Michael Schwartz: You’ve been a really successful technical founder, and what I’m wondering is the last question – if you have any advice for entrepreneurs, not necessarily the companies but the people who are starting new open source companies today?
Emil Efreim: My one piece of advice when I talk to technical founders, in particular on the open source side, I guess that’s the lens through which we look at the world on this podcast – I feel like a lot of people make very fundamental early decisions that later on have very significant business impact.
Think what open source license you want to do, which features you put into the Community Edition versus the Enterprise Edition, things like that.
They make those decisions in a not very thoughtful way. People are typically extremely thoughtful about how they build their software and what features to include, and they spend 99.9% of their cycles on that, and then they spend very little time thinking about, hey, I’m just going to take clustering, and I’m going to put that in the free edition. And I’m going to choose, let’s say the GPL, because it’s the most popular open source license.
And those decisions are actually extremely fundamental, and can really affect the company’s start, once you get to scale.
So, I think my advice would be: Take a little bit of a step back and realize that those are not technical decisions, they are business decisions. And you need to look at them through a business strategy lens, not through a licensing or open source religion, or a technical lens.
Michael Schwartz: Emil, super interesting! Thank you so much for your time.
Emil Efreim: Awesome! Thanks, Mike.
Michael Schwartz: Thanks again to Emil and the Neo4j team for scheduling the time.
As usual, transcription and episode audio can be found on opensourceunderdogs.com.
Music from Broke For Free and Chris Zabriskie.
Our amazing audio editor is Ines Cetenji.
Production assistance and transcription by Natalie Lowe.
Operational Support from William Lowe.
Follow us on Twitter, our handle is @fosspodcast.
We have many episodes scheduled for the next few months: in the QR, Gitlab, to Totara Learning, Kong, Alfresco, Pivotal, Chef, Amaranth, but we’re still missing a few. So, please, tweet to us if you have any more ideas about who we should reach out to.
Episode 24 checking out – thanks for listening!