0:08 Miko Pawlikowski
Hello and welcome to Conf42Cast: Why Matter Matters Most. My name is Miko Pawlikowski and today my guest is Corey Hulen, the founder and the CTO at Mattermost. Mattermost is an enterprise messaging workspace for teams to collaborate securely and effectively. Corey, it's a real pleasure to have you today. How are you doing?
0:32 Corey Hulen
I'm doing great. Thanks for having me.
0:34 Miko Pawlikowski
I'm really looking forward to that. So, first things first, you know, the important question is, if you could have any animals at all as a pet, what would it be?
0:43 Corey Hulen
Yeah, that's a great one. I mean, I think it'd probably be a horse. So, it's probably a weak pet, people choose really cool stuff. But, just for my daughters, that's all my daughter's really want. She would love to have a horse. So, I think that'd be a cool pet for them. If we're doing for me personally, probably a dolphin or something like that. But I don't think I'd have the space or the ability to house that. But if we're just talking about cool pets, that'd be cool.
1:09 Miko Pawlikowski
That is awesome. We've never had a dolphin before, pretty smart creatures. And horse makes sense to, but maybe start with a pony. If that's, you know, for a kid. Another important question, what's your favorite planet?
1:23 Corey Hulen
Yeah, my favorite planet? Um, I would say probably Saturn. I mean, I don't know if that's a common answer or not. But for me, the rings around Saturn, stuff like that, being able to actually see it through a telescope or not, you know, a super high-powered telescope. For me like that, I can remember doing that as a kid, and just being enamored with it. So that was really cool.
1:46 Miko Pawlikowski
I'll take that. Saturn it is. Okay, great. So, you know, this are like, our little traditions that we're trying to form here. Everybody goes through that. So don't worry, you're not being singled out. All right. So let's talk a little bit more about, well, Mattermost. Like, the nicest thing about having someone who's both technical and the founder is that I get asked them you know about the origin story. How it all started and what was the crazy idea to go and start a company like that. Can you tell me, you know, your favorite version of the story? Where did Mattermost come from?
2:18 Corey Hulen
We actually have a blog article about this. So I'd encourage people to go read it. There's a lot more detail there. But for us, it really came from, you know, we were formerly a games' company. We were having a lot of frustration around using chatter channel based tools for messaging within our organization. And out of that frustration came this need or desire to want to build something around it and all on Mattermost. My personal side of that story is to do that in an open source way. My previous company, I always like to joke, very, very minor success, we spun out and sold ourselves to Salesforce. But, when you look at that company, when you look at like a pyramid or triangle of technology, only the little tip top piece was this cool Stanford Research AI. The other 99% of it was open source, right? So I always felt like an imposter. I always felt like standing on the backs of open source giants. Here, had some minor success, spun out a company, sold it. But the reality is only that little tip top piece was this cool AI stuff, right? And I know you can margin intellectual property lawyer in here and they could tell me, explain to me, 'Corey, that's the only thing in the company that's worth anything'. But as a technologist, you look at that, like stack or pyramid of technology, and you're just like, 'Yeah, but we're standing on the backs of these open source giants'. For me, like, that's just a chance to give back, it excites me to think about people building on top of Mattermost as a platform, as an open source platform.
3:38 Miko Pawlikowski
Well, that really resonates with me, you know, like this kind of imposter syndrome, where, like you said, standing on the shoulders of the giants of open source. Now I'm kind of going through that, I'm working a lot with Kubernetes. And underneath with Linux, and you know, the container bits of the Kernel. I'm kind of discovering this more and more. And the same thing with like, other really exciting things like eBPF right now, right? It's all kind of work done by the Kernel people that was released open source, and now we all go and get excited and build things on top of that. I think that's really modest of you to say that that was a 'minor success', you know, you did successfully exit the company. And you know, that's on your resume permanently now, so it's great. Yeah, I love the open source. So, how does that work for Mattermost? I'm guessing you're going to have some kind of open source core that you offer. And then obviously, you know, some non open source stuff that you actually pay your bills with, right? Is it open source, as in you guys share with the world? Or do you actually have people contributing back to that? Is it like a live project? Or is it kind of like one way for now?
4:49 Corey Hulen
So, we have a really large open source community. Like I said, there's been more than I don't know, we're up to now more than 1000 contributors to Mattermost itself. Actually, probably more when you count all the plugin repositories and stuff like that. So we have a very vibrant community. It's one of the things we try really hard as a company to sort of, you know, get behind. And the way I like to describe it, as you know, we are a company as well, but we kind of walk hand in hand with the open source community in that respect, and we just try to be very honest, open and transparent with that community. Because we are an open core company. So we do have, we go through an audit, and I forget what the last audit is, but it's something like 99% of what we do as a company is open source. So it's a crazy high number. And it's less than 1% is closed source, and that that closed source stuff is really focused on companies, like enterprise companies, global 2000 companies, that kind of stuff. That's where we put our effort, at least as a company
5:37 Miko Pawlikowski
That makes sense. And also, I always wonder, with just kind of like projects where the security aspect of that is extremely important, right? People are really trusting you with your data, you kind of have like this kind of two ways that can go. Like on one side, it's amazing to have this transparency, that everybody can go and check the code. But at the same time, you do accept code from people from outside of organization who might very well be, you know, double agents. So, you mentioned audit, is that the way forward to kind of ensure that nothing bad makes its way inside of the code base?
6:17 Corey Hulen
Audit is definitely one way. What we do here actually, is code reviews. So any core contributor, we require two core contributor code reviews. Core contributors for us is not necessarily staff or paid people. They're just people who've been in our community or been in our world, and we've worked with, and we've sort of vetted in that sense. And there's also paid staff as well. But for us, that's one of the mechanisms we use for monitoring our quality and stuff like that. Audit is another obviously. So there's a lot of those things that go into any open source project, right? Like, I think there's just that big blow up where, I think it was the University of Michigan, I forget whoever was trying to submit random stuff to Linux kernel, or whatever or bad stuff patches to Linux. Like we don't have that kind of spotlight on us. But it's something I think any and every open source project has to be aware of, and has to have an answer to. And like I said, like, it's one of those things we take very seriously. Not only because we take it seriously just as a company and as a community, but because our customer base expects us to take it very seriously. So it's something we put a lot of effort and time into and stuff like that.
7:19 Miko Pawlikowski
That makes sense. And I'm imagining, you know, every one of those contributors to your project is the best advocate for that, you know, spreading the word and basically giving you free PR. So, that's also an interesting aspect. So, I don't wanna say the "S" word. But, I guess, at some point, we will probably have to. How does it compare to slack? Is that like a direct competitor for you. Slack has this, I don't even know how to describe it, this massive uptake in the recent years. And is that something that you experienced kind of the same way? Do you compete with them directly? Do you have your niche and their niche? How does it work between the two companies?
7:58 Corey Hulen
We describe ourselves as 'the open source slack alternative'. And I think that's very true. Like I think as an open source alternative, as a community, we're really aligned towards that sort of vision of doing stuff. So that's one thing, right? But then you can separate the markets, right? Or where we maybe as a company kind of shine, right? And for us, we kind of shine in two areas, but they're very similar, privacy and things like security or high trust, right? So slack's a great company, nothing bad, you know, great product, nothing bad to say against them. The reality is, our markets don't quite overlap. I mean, they do from time to time, but not very much. Like, I'll give you a great example. Like, for us, lots of times, where we're running is really high security systems, right? Systems that are even air gapped from the internet. That's kind of where we do really well, or systems where privacy is a really big issue, right? Some of our customers are SaaS companies themselves, right? And they don't have anything against slack or against SaaS. They just know how SaaS companies work. And they don't want to have their intellectual property sitting out in somebody else's system, right? So, we kind of break our business down into like three segments. The first is, typically high tech companies who care about their intellectual property, you can almost describe them as like the tinfoil-hat-wearing kind of people. We do a lot of public sector, obviously, things like air gapped networks, all that kind of stuff. And then probably our third biggest bucket is finance. So large banks, large institutions like that. So, a lot of similarities in terms of the product. But I would say in terms of the space, our space is pretty different. The best way to describe it is, it's not common for us to encounter slack in where we go, basically.
9:40 Miko Pawlikowski
So it's all of Mattermost basically self-hosted inside of the client data center, or do you also have a service offering?
9:48 Corey Hulen
So we do both. But you can run our software on prem. We also have a cloud-hosted version, as well. But obviously, like I said, by the nature of what we do, the on prem version is by far, you know, where we're at. At least today.
10:04 Miko Pawlikowski
I do have a confession to make. I didn't actually go and read through your code on GitHub, I was planning on. Can you give us a quick overview, you know, what it's built with? What's cool about how you build it?
10:15 Corey Hulen
Yeah, for sure. So we're Go on the back end. And we're React and React Native on the front end. We're also MySQL or Postgres database based. So we're pretty much you know, a very simple three tier architecture. You can obviously scale up from there quite a bit. But that's kind of the basis of where we're at. And I think the fun thing I always point out or remember is, you know, Mattermost as an open source project has been more than five years, I think we're getting close to six. And so when we made some of these decisions six years ago, like Go wasn't that popular. If you actually rewind six years ago, it was a pretty big bet from our standpoint, it was a scary bet back then, right? We love Go, I'm a Go fanboy. But like, back then, that was a pretty scary bet. Same thing with React, and even more so with React Native. With React at that time as well, if you rewind five, six years, that that was a little bit of a leap of faith. React Native is another one. We actually started with it, stopped, because we didn't like the state of where it was at. And then I think a year later, a year and a half later, we picked it back up and started again. And so when you rewind some of our decisions six years, it was pretty interesting decisions. I think today, they're pretty safe bets, safe choices. But when we started, some of those things were definitely a leap of faith. We intentionally kept it a very simple architecture and a very simple SQL database. Because, for two reasons, like we knew, we were pretty certain like where we would succeed is in that privacy on prem world. What we loved, about Go at least, was this single compiled binary. You don't have to worry about what version of Python you're using, or this or that. Customer can just download one binary and get it up and running. Same thing with the SQL database, MySQL database, or Postgres database. A lot of large customers know how to run that, know how to scale that. Know how to audit those systems and build compliance around the systems. And so we want to just a very simple database, even though if you rewind six years ago, you know, SQL was kind of all the rage. So, there was some really conscious decisions when we went to the architecture based on where we thought, not only as an open source community, but where, as a company, we would end up.
12:18 Miko Pawlikowski
A self-proclaimed Golang fanboy. Yeah, I gotta say, like six years ago, that was not an obvious choice at all. I mean, I only really started paying attention to Go because of Kubernetes and because of, all of a sudden, everything around us was being written in Go and it kind of eventually gave in. And now I am a fan myself, but it was not pretty or perfect from the beginning, especially the modules. So was that really just a single binary? Or like the quick compile times? Or did you find that really like having this simple language where there is, most of the time, one way of doing things and you don't have to argue about formatting with people, because hey, someone already made that decision for you. Did it really help you scale? Like, you know, I was going to touch on the other subjects that you mentioned, like seven different time zones, and looks like a very distributed team. Did that help with this kind of aspect? Or is that more of a 'maybe'.
13:17 Corey Hulen
I would say three kind of things factored into our decision. We knew we wanted to open source pretty early on, right? The original version actually came from the game steam stuff, and it was actually written in Python, and I think Postgres. I can't remember, it's been so long. And maybe Angular, I don't remember actually, but some other front end reactive or JavaScripty thing. And when we set about knowing we want to go to open source, we really thought about like, okay, what would what, at least I did, like, what would I want to contribute to? And what would we as a community want to accept pull requests from? I think there was kind of three things. The single binary was great, because it helped around the business choice. But I think there's two things around Go that really help around building a community, I think the first is probably the most obvious one in Go is it's just a simple language. It's a very powerful language, but it's very simple. And so we used to get this interaction actually a lot in the beginning. Not so much lately, because I think goes really taking off. But like, you know, year 2, 3, 4, or whatever we used to get this interaction of people like, 'Hey, I want this feature!' And our response would be, 'Great. Here's open source, here's the link to the repository, Go contribute to it'. And the immediate response back is like, 'I don't know, Go'. And our immediate response back to that is like, 'You should go check it out. It's very simple. Like, here's how to get started'. And most people like will end up submitting a pull request, they're like, 'Wow, that was really easy'. You know, and I think it's just one of those. It's just because of the simplicity of the language, it makes that barrier to entry really low. So I think that's one key piece. I think the other thing for us is just having a strongly typed language. Like the games company was a Python shop before and I think each tool has like their, you know, their different pluses and minuses for different situations. But I think when you talk about a very large open source code base, having a statically typed language it's one of those things, it's just like, 'Oh, that's nice', iike I said. If you ever had to debug a million lines of Python code, like, yeah, it's fun. So I think that was one of the hard requirements. That was one of those, like, nice to have things. So there was just things like that, that we were really fortunate. And like I said, I think for us Go is that really sort of, even though it's really early was a very safe, sane choice for those reasons.
15:22 Miko Pawlikowski
And sounds like it paid off. And I think you're right, like, contributing something in Go tends to be easier. And again, just because there are fewer things to argue about. It's like, 'Oh, you should use black to lent to code for Python. Oh, no, you shouldn't. But hey, here's my home setup. And I love this'. That's great. And I'm really glad it paid off. Can we touch a little bit on, basically, when I was reading your LinkedIn, you have a vast experience. And you know, maybe we'll have time to go into your 36 patents that I saw on your blog. And they all sound amazing, and pretty complicated. But like, you know, as I was kind of reading this, I realized that, first of all, you're a serial entrepreneur. There's like three different companies that are founder on this. Clearly, that kind of thing works for you and you like to go through the pain. But the kind of aspect of starting that other company, that was Tempo AI, right? Am I getting that right? At the university, really made me think of, you know, like the social network movie, and you know, the the university background. And then this lone genius and going off and starting that. Can you tell me a bit more about how that really was like, you know, without the Hollywood video editing?
16:38 Corey Hulen
Yeah, for sure. My path to that was probably very different. It was through Stanford Research Institute, which is like a non-profit. The way they work is they do venture licensing. So you as like an entrepreneur, or whatever, you can get into their system. And they basically take their venture, their intellectual property, and they allow, like starting people to go look at that technology, form a company around that technology, and spin out. So they've had some really big successes, like Intuitive Surgical nuance, probably the most famous one that everyone's heard of is Siri. So I was like, the joke like, you know, series finale, that same program uses the exact same, you know, actual property, a lot of the exact same, you know, source code is based on a lot of that the same patterns and stuff like that. They spun out and sold themselves to Apple for, you know, a lot more than what we've done and sold ourselves for. But that was that program. And it was a really fun, engaging program, because you get to sit there with these really smart AI researchers, right? This really smart research group, and you get a look at and pour over a lot of their technology and their patents and be like, 'Oh, that's interesting. I think we can apply that to this business case'. So it wasn't like I was the one sitting there doing the research. So I was the one sitting there going, like, 'This is amazing research. I think we can apply it here'. So I got to experience that, which was really fun. But like I said, I wasn't necessarily the one doing the research. I mean, we have some patents from that time or whatever. But like I said, it's based on a lot of other previous research. But it was a really fun experience. And like I said, they enable you as a small startup, and then they allow you to spin out. I always like to joke, our building, the room you're in was actually in Doug Engelbart room. He's really famous. You know, this goes way back in time. But he's really famous for the things called the moad, the mother of all demos. And it's just crazy demo from like the 70s of talking through all this different kind of AI technology and stuff like that. And it's really cool. It was a really fun experience. And it was a great place to incubate a company. And it was great to be there alongside those people.
18:47 Miko Pawlikowski
That's awesome. That sounds even better than what I was picturing. Sounds like a great deal. So, what's your favorite patent?
18:55 Corey Hulen
Oh, that's a good question. I'd have to go look at them. There's some of them were so long ago. And when I was at Microsoft, we did a lot of stuff around multi-dimensional scoring. And specifically for things like scorecards or rhythm of the business things that you need to roll up. So I can't remember the exact patent off the top of my head, but there's definitely one that was one of the ones that I was really proud of. So it's all based on multi-dimensional scoring algorithms and stuff like that. But man, that's been, I don't know, 15+ years now. So it's been a while since I thought about that.
19:28 Miko Pawlikowski
Okay. Just curious if there was one you're particularly proud of, and you know, that you bring up at barbecues and stuff. So why go through the pain multiple times of starting a new company from scratch, where you can just as well carry on with an existing one or, you know, you did a stretch at Microsoft too, working on an existing one. What's your favorite and least favorite, maybe that's a better way of asking the question, way of being the founder in general? Like what's the worst and the best bit?
19:58 Corey Hulen
The best, for me, is when you're early stage, when you're terraforming new product, when you just get to build, build, build, right? That's such a phase of the company that it's so much fun. Getting it out there in the hands of people, listening to the feedback, iterating. And I thrive on that sort of idea of companies, right? I think that's the piece that really excites me, you know, with with any startup. And then I think that kind of ties into maybe the negative side of it too, in the sense that, I was like to describe startups is like, 'We'll give you like, a ton of room to roam', right? Like, you can think of it like a rope is tied to your foot. And you can run off in any direction as fast as you want. But one of the problems with startups is also that rope can easily get tangled around your feet and trip you up. So that freedom or that room to roam can also be very disheartening, if that makes sense, right? It's kind of like staring at a blank whiteboard on the night before the test. And you're like, 'Oh, my gosh, I got so much I got to do. There's so much stuff on fire'. So it's really about like ruthlessly prioritizing and like focusing on the big things, right? Like, for me, that's one of the hardest things to do. My background is engineering, right? So coming as a background of engineering, you really want to make everything perfect and complete. But when you're running a business or starting a company, you don't necessarily have the time to do that, right? So it's about figuring out what is a real mountain and what is a molehill and making sure you're only focusing on the mountains, and that can be really hard to do sometimes. The good is just ultimate freedom. The bad is that ultimate freedom can cause a lot of unknown uncertainty, analysis paralysis, however you want to describe it, but a lot of fear, I guess.
21:40 Miko Pawlikowski
Especially in weird times like this. I'm wondering how that affects being in a fast-growing company. Did the entire pandemic and working from home, was that making it more difficult to onboard new people get feedback from clients? Or was it like a blessing in disguise, because everybody's working from home, so everybody needs this kind of software more?
22:04 Corey Hulen
One thing for us, we were a fully distributed company before COVID. So, we've been fully distributed. Since our inception, we've been a remote company since our inception. A large part of that has to do with our open source community. So we're really good, as a company, even as a small company, in terms of dealing in all timezones. It's just something that's in our DNA, if you can think of it like that. For me personally, it was even somewhat easier. My kids were all homeschooled before. So it wasn't like that big of a deal or wasn't that big of a shift. But I will say, even though we're a fully distributed company, it was disruptive even for us. Probably not nearly as much as other companies. But you know, when you have this mental shift of like, you know, your kids aren't going to school or your husband or wife or whoever sitting when another isn't, and they're popping in the meetings or running across the back of the screen. A very open company of like, 'No, that's great, like, bring your kid over, sit them on your lap, because I'd do that'. But I think it's just realizing or being very cognizant that people, even though we were a distributed company before, people's lives are still up ended. And they're still having to deal with situations they didn't have to deal with, right? Whether it's kids not being in school, whether it's their parents, or a friend and family member or somebody, you know, dealing with COVID, or some sickness or something like that. So, we were a lot more prepared than most, but it even affected us in some way.
23:24 Miko Pawlikowski
Yeah, I can imagine that the distributed nature from the get-go helped, but it can't replace everything. Yeah, challenging time for all of us. From what I was seeing on LinkedIn, you did grow, and you keep growing.
23:41 Corey Hulen
We're still growing, which is great. I think it was one of those things, especially in the early days, everyone, especially these large companies who never did remote, were like, 'Oh, my gosh, like, we need to do this. And we need to do it yesterday'. So we were definitely frost in that early stage at COVID. It was really crazy times, even for us. And I think now a lot of companies have adopted or, you know, even now that things are starting to really settle down, at least in here in America, and you know, looks like people are trying to go back to work and stuff like that. I still think there's a large subset of people who are going to stay remote forever, which I think is awesome. And so I think for us, just in terms of kind of, I think probably like, you know, what you're saying what you're hinting at is like, we built software to help with asynchronous written communication, right? It's what we do. For us, it was one of those things where yeah, like, I think, on the company side, it was way easier than other companies. On the business side, it was definitely, you know, good for us.
24:41 Miko Pawlikowski
Awesome. So how does one get started with Mattermost? I'm guessing going to www.mattermost.com. And then what?
24:50 Corey Hulen
mattermost.com. From there, you can basically jump to two directions. You can go look at our source code. It's up on GitHub. There's a bunch of links there. And then the other way, the way that I I always like to encourage people if they want to get involved in our community, is actually join our community server. So we run a Mattermost server, it's called community.mattermost.com. We encourage everyone from our community to join that server. That is literally how we run our company. So we have, I think we're at like 6000 or 7000 people in that community server. 150-ish of our staff members sit there. And that is literally how we run our company. We try to do everything in public and in public channels. So you as a community member can go in and see what we're working on and see what we're doing. And it's just that would be the way I would encourage for people to get involved. So you want to get involved on the community side, the contribution side, definitely go to community.mattermost.com and join the server. If you just want to download matter most and play around with it, mattermost.com is a great place to start as well.
25:41 Miko Pawlikowski
Oh, speaking of dog food. Wow, that's very cool. That actually makes a lot of sense.
25:46 Corey Hulen
We actually even have a community daily server where our staff sits. It's hooked up to the same database or the same system. So we're getting all the same messages, it's the same system, but we actually have a daily dog food server where all of our staff member sits and we use that daily built every day. It's a lot of fun. So if you want to live dangerously, you can join that one, too. It's called community-daily.mattermost.com.
26:09 Miko Pawlikowski
Okay, and just to make sure you do support gifs, right? The most important feature.
26:17 Corey Hulen
It's funny. In our early days, like gifs, emoji reactions, like those were the things that people were like hounding us. Like, literally, I cannot one run my fortune 500 business, unless you add emoji reactions. Super surprising to us, at least as a company, right? I like them as individually, I get it. But like, you're literally saying you can't run your fortune 500 business without them? So funny things like that, that are always cool.
26:44 Miko Pawlikowski
The funniest thing is that I can totally see this happening. This is basically everybody's reaction, 'Oh, it doesn't support giffy, can't do it'. Before I let you off the hook, I wanted to squeeze a little bit more value for our audience. If you were to pick a single highest return on investment thing, it could be anything really, it could be a book you read or a methodology that you started applying. A single item that did the most for your career in technology, what would it be?
27:20 Corey Hulen
I mean, I think just a hunger for education, a hunger for learning. I think, for me, that's one of those things, being willing to adapt and throw yourself into stuff. I would say that's one of the things. When I think about what's helped make me successful. And what I see in other people that makes them successful is just really throwing themselves into the learning side of stuff, really understanding deep, hard problems. I think everyone gets caught up in like, the glamour of startups and you know, blah, blah, blah. But I think for me, the thing that interests me the things that I love to see is when people get caught up in like deep thinking problems, deep work problems. And I know for me, that's been probably the thing that's helped make me successful. It's just really loving to go deep and solve these kinds of problems. So I don't know if that's a great answer.
28:12 Miko Pawlikowski
Yeah, I like the answer. There's a saying that you can always learn something from everybody you meet, and so far has really been my experience. Even the people you might not get along with very well at the beginning, there's always something you can learn from them. So, I can definitely relate to this hunger for, like you said, education.
28:34 Corey Hulen
A better way to put it is like curiosity or Socratic method. I love sitting there and drilling down and answering questions and understanding. And I love that conversation back and forth between people, where it's just question after question and drilling deep in on understanding. So I think, for me, it really is that it's around curiosity, and it's around being Socratic in terms of how do I attack problems or whatever. So I think those are the things that like, at least drive me.
29:02 Miko Pawlikowski
Definitely. And I can't think of a better way to wrap the episode. So, thank you so much for your time, Corey. Corey Hulen, founder and CTO of Mattermost. Thank you so much. It's really been a blast.
29:15 Corey Hulen
Thank you, appreciate it.
Learn for free, join the best tech learning community for a price of a pumpkin latte.
Event notifications, weekly newsletter
Delayed access to all content
Immediate access to Keynotes & Panels
Access to Circle community platform
Immediate access to all content
Courses, quizes & certificates
Community chats