InfluxData’s Paul Dix Thought Open-Source and Profitability Might Be at Odds—Here’s How He Proved Himself Wrong
The Cofounder and CTO on the early struggles of building his business, taking risks, placing bold bets, and staying close to your customers along the way.
Paul Dix has a background in machine learning and artificial intelligence, in addition to information retrieval and databases. He has helped build software for startups and large companies such as Microsoft, Google, and McAfee. Paul is now Cofounder and CTO of InfluxData, a company that empowers developers and organizations to build real-time IoT, analytics, and cloud applications with time-stamped data.
I spoke with Paul to learn about InfluxData, the importance of keeping a pulse on the market, and how hard work landed the team big-name customers like Cisco, IBM, and PayPal.
Can you share a bit about the inspiration to create InfluxData, and where the company is today?
We actually started as a company called Errplane. The product that we were building was basically a SaaS application for doing real-time metrics, application exception tracking, and server monitoring—very much in the same vein as Datadog, New Relic, Stackdriver, or Server Density.
Then, in the fall of 2013, we kind of had a turning point. At this stage, Errplane had a few dozen customers that weren't even paying our bills for infrastructure. I realized that this wasn't going to take off.
I thought that what we had built on the infrastructure side of things was actually quite interesting. When I talked to the few people who were paying us at the time, what I found was they were essentially using our service like a time series API.
When did you know that you were ready to start charging for InfluxDB?
It's interesting because fundraising and our need to survive kind of acted as a forcing function here. We announced InfluxDB to the world in November 2013. It was based largely on the underlying technology that we had built for Errplane, but it was a new project.
At that point, we'd been working on Errplane for 15 months. That was like trying to push a rock uphill. It was just not working. Originally, our idea was that we would open-source this technology, and we would use the popularity of the open-source to drive people to adopt our SaaS products, Errplane. By January 2014, we said "Okay. This is obviously the thing we should be doing. We're going to shut down the SaaS products. We're just going to focus on the open-source thing.”
Then there were a couple of things that happened. In the fall of 2015, we were doing this whole rewrite of the database. By March 2016, we had a new storage engine in release, and it was showing real promise. It was much better than anything we were seeing out there in the world. We were super psyched about that. We saw this and said, "Well, we need to figure out some way to make money off this thing."
This was a very difficult decision we had to make. I thought about it a lot. In February 2016, we had 10,000 servers out there that were reporting that they're running InfluxDB, so we knew people were getting value out of it. We saw people writing blog posts and giving talks. We got the sense that there was a community getting value.
We made the announcement in March 2016 that, for future versions of InfluxDB, the open-source version would not have high availability or scale-out clustering. Realistically, I said, "Well, if we don't figure out a way to make money off of this thing, we're not going to be writing any code. There's going to be no business. There's going to be no open-source, no nothing." This seems like a clear delineation between what's free and open and what's commercial. We could feasibly make a business out of it.
I wrote this blog post and put it up. It got to the front page of Hacker News, and we got totally shredded in the comments. A real concern for us was that we would totally kill our community as a result of doing it. Interestingly, after we sent that announcement, we immediately got people emailing us saying, "How much does it cost? When will it be available?"
We launched a Cloud version in April and then we launched 1.0 of both open-source InfluxDB and the enterprise version in September 2016. From there, it just kind of took off. In 2017 and 2018, the business we built was mostly based on enterprise products.
I think it's really hard for founders to step back and say, "I need to make a big change, and I'm going to be the one to go drive that change." It feels like you've sort of seen that multiple times on your journey.
Yeah. It's funny because people always talk about finding product-market fit as if it's this binary thing. It's like once you find product-market fit, it's all golden and you're good. The thing is you can have product-market fit for a certain sized market. Then, you get to the point where your growth rate is not going to continue to climb. If we want the next stage, we have to find product-market fit for that next level.
That's basically what's happened for us. We realized if we're going to take this thing all the way, we're going to have to make some other bold bets.
In terms of making those bets and big changes, I really think only a founder can do that. This is just my experience. Some people within the company may feel like they don’t have the agency, or the leverage, to make those kinds of determinations. Certainly, there have been times in the company where I haven't felt like I've had that kind of leverage, but again, it's one of those things where survival becomes a great forcing function.
How did you manage to maintain such a pulse on the market to understand where you needed to move to?
Part of it is listening to customers. For us, I kind of have to differentiate between users and customers. Our user base is way, way larger than our customer base. The thing is, our user base is really easy for me to stay on top of because they interact through public forms of communication.
For the customer base, there are a few customers that I just know because they’ve been customers for a very long time. For larger customers or prospects, I get pulled in by the sales team to talk to them. If there are technical problems, I make sure to review all of that information. If it's something that I deem important, I ask to have a conversation with them to find out what they're doing, what their needs are, and where the gaps are between what we can do and what they want to do.
The problem is, if you get a large enough user base or a large enough customer base, you have a bunch of people asking you for a bunch of different things. The tricky part as a Product person is to figure out which things you want to focus on.
Sometimes, it'll seem like, "Oh, more people are asking about this set of things. This is what you should do." The truth is that this set of features might not have nearly as much leverage for the business as this other set of things that only a few people are asking about.
What advice would you have for people who don't necessarily have that habit to develop customer relations?
Oh, I would say, "Develop it fast." I think in the beginning you should get as much information flow as you possibly can. If people are actively contacting you, take every conversation you can and talk to those people.
Ultimately, it's really about practice. It's kind of like public speaking. The first time you do public speaking, you're super nervous, and you're absolutely terrible. Then, you do it again and again, and again, and again, and after a few 100 times, it kind of becomes natural. Customer interactions are the same way. You just need to put yourself out there. You need to email them, and then get on calls with them.
What advice do you have for people who are in year one, year two, and are thinking, "Man, this is so hard"? How do you keep doing this?
Find yourself some little wins along the way. Find small things that you can attach to that give you that positive dopamine rush to be like, okay, this is good.
For example, with early Influx, it'd be enough if one person mentioned it on Twitter. Of course, that can work against you because, then, if somebody says something negative, it hurts you, deeply.
Do you have any mentors?
I definitely have people that I respect and ask for their advice. Evan, our CEO, certainly is one. That's the reason I asked him to join us. I met him in September 2015 and asked him for help in preparing board books for us. We just got along really well. I respect his experience in the industry. He's not a developer, but I respect his experience building companies and doing these kinds of things.
There are other people I've worked with along the way who are just interesting people, like other engineers. I try to pick and choose people based on the skill set that I'm trying to cultivate. There are some people who I say, "They're my mentor for engineering, or you're my mentor for architecture." It's totally different than somebody who would be my mentor for sales.
My sales mentor, initially, was the first sales hire that we made. I hired him. He was our VP of Sales, and he was great. He was the one that took us from zero to $8.1 million in ARR. He taught me a bunch of stuff along the way.
Basically, I just attach to people who I think know something in a certain area that I feel like I need to learn, and try to get them to give me as much information as they're willing.