Richard Rodger: Welcome to the Voxgig Podcast. We talk to people in the developer community about developer relations, public speaking and community events. For more details, visit voxgig.com/podcast. All right, let's get started.
Sometimes in your career as a programmer you get to work with somebody really amazing. For me, that person is a former colleague, Matteo Collina. Matteo is the maintainer of a whole load of open source in the Node.js community. But you may know him from a particularly great project which is Fastify, which is one of the fastest web servers written in node.js.
Matteo has just launched a start-up, Platformatic, and in this podcast we talk about his approach to developer relations: how he has used his legacy in open source to build an audience with the startup he has just created. We talk about a key strategy for building a developer community, which is to have a really good plugin model. I know this sounds like a technical solution to a people problem, but sometimes solving people problems involve having a good technical foundation. Plugins allow you to create a community because it enables ease of contribution.
We then talk about one of the trickiest things to get right when you're building developer relations, which is where to put the developer relations team. Do they report to marketing; do they report to the CTO. Do they have their own little department? We get right into all that stuff.
We also talk about a tricky little subject, which is something that I've had trouble with in the past, which is that all the other developers in your company look at everybody in the developer relations team and see them having great fun at conferences. How do you deal with the professional jealousy that that causes?
And finally, we conclude with a few little tips about how to survive at conferences. In particular, Matteo has this really cool technique, which he calls sailor sleeping, which if you speak at conferences, you're going to find really useful. And so, without further ado, let's get started.
Richard Rodger: Matteo, it is great to have you here on the Voxgig podcast. Welcome. Tell us about Platformatic, your new startup.
Matteo Collina: Hi, Richard. I am so happy to be here with you. I've been watching what you've done with Voxgig for the last few years, and it's kind of amazing. So, I really wanted to join you, to join and share a little bit of what I'm doing. What is Platformatic; this is a good question. I've been working as a consultant for maybe – most of my career, and I am doing the jump of each consultants want to do or dreams to do, moving from being consultant to build a product.
Richard Rodger: Yes. I know.
Matteo Collina: You know; I know you know, and it's -- that's why it resonates and really wanted to be here with you. I took my learnings of quite a few years of consulting work and looked at what were the problems in the market, and started to condense the learnings that myself and my co-founder had, Luca Maraschi, in a new product. It's – I'm pretty excited, because we just shipped our first open source bits. So, I'm very excited about the stuff, so it's a good time to talk.
What do we do? We help companies, and we help developers really, remove all the friction from back-end development. They need to develop new APIs and they want to integrate new components. We want to – them to just focus on the business logic that makes their product special and not waste time in doing repetitive tasks or repetitive chores.
Like, we will go from exposing automating the building of crowd-like API, create [the template?] Time: 00.04.36 and delete style of APIs to later-on some level of platform engineering and automated deployments. And provide a full-blown, a full, complete solution that can be used to speed up the development of APIs and back-end components.
Richard Rodger: So, the way you're going to approach the market is what's – I think it's really cool. You've put a lot of years of effort into open source; you're one of the core Node.js contributors. Fastify API server's kind of cool, very fast. So, in a way, this is not advice to people listening to – here's how you can do this in six months, because you spent eight years investing. But I guess it shows the value of a long-term investment in open source, right?
Matteo Collina: Yes. This is the last step of a long journey in building open-source components. Back in 2016 – this is a long time ago – you were still with nearForm, Richard.
Richard Rodger: Yes, wow.
Matteo Collina: I was with nearForm; you were with nearForm.
Richard Rodger: A long time ago.
Matteo Collina: It was a long time ago. I created Platformatic – sorry, Platformatic – I created Fastify. Fastify is a new – Fastify is an API framework for Node.js; now it's part of the OpenJS foundation, long time ago. And this has now exploded; it has $3 million per month, something like that; I am very happy about.
Richard Rodger: Very nice. Tell us-
Matteo Collina: It did grow magnificently. This is really great, and it has a lot of different companies collaborating and maintaining it and moving it forward and pushing it up. It's phenomenal to see. We did a few releases recently and it was maybe 17 – there were 17 collaborators to a release; it's incredible. Most of – we extend with new people; it's mindblowing that [have a lot?] Time: 00.06.42--
Richard Rodger: Have you guys set up with proper committee to run it and all that sort of stuff?
Matteo Collina: We have a group of maintainers; then we have three kings of the project that can make the decisions and have admin power, veto power and everything. So, it's almost a three-headed constitutional monarchy at this point.
Richard Rodger: You're not being inspired by your Italian heritage, triumvirates and all that sort of stuff, are you?
Matteo Collina: No. We will do for people it eventually. Well, it's on my to-do list to do, to move to a full technical steering committee model. It's already happening, to be honest, so it's just a matter of me writing the byelaws or copying the byelaws from Node.
Richard Rodger: You're the law giver, very good. That's very serious business, isn't it? You have to create laws that sustain an open-source culture.
Matteo Collina: It's very weird. Being part of the OpenJS foundation helps a lot. Whenever – once you start up – once you start your open-source project and it becomes attracting a few collaborators, moving it to a foundation like OpenJS is great. It helps quite a lot on those kind of things; there are templates for all this stuff. You can take a template and you're good. And they're proven by hundreds of thousands of – hundreds. Thousands, no, but hundreds of open-source projects already. So, it's – they work very well. Or at least they were; it's very well. We're still improving our stuff, but they work.
Richard Rodger: What did you learn about develop – you're selling to developers in your new company. And developer relations, which is my new interest, is something that I'm keen to understand how people use it. But how did you experience or handle developer relations – and maybe you didn't even use that term – from the open-source maintainer perspective. Because people get very stressed about it sometimes and it's a-
Matteo Collina: It's very – let's classify it a few bits. There's Fastify and then there is my new company, Platformatic. Those are two separate things. Fastify is an open-source project; it's part of the OpenJS Foundation. Platformatic is a company and also an open-source project, but it's fully governed by the Platformatic Incorporated, our company.
Richard Rodger: So, there's the two standard-
Matteo Collina: There's a very important distinction to be done here. The first one is – once you are doing the – you're setting up your project – so let's talk a little bit about what Platformatic does. Platformatic does – it's the cherry on top of all the work that I've done in the last – all open-source stuff that I've done in the last few years. As I said, we want to remove all the friction and created a more open, united way to do things on top of the Node.js and Fastify ecosystem. So, we package things up in a way and provide solutions to common tasks, to common things.
We just open-sourced our first component, called Platformatic DB. It takes a CQL database and it automatically creates Rest and GraphQL APIs from it, like other tools that are in the market. Unlike other tools, you can completely customize it and script it by using Node.js, so all of this is just based on Node.js and Fastify. Fastify is based on a phenomenal plugin architecture that was totally inspired by Seneca, your framework, so thanks.
Richard Rodger: Yes, because I – my plugin architecture's a bit rusty, so I must – I mean rusty as in broken.
Matteo Collina: I know.
Richard Rodger: It's not supposed to rust.
Matteo Collina: I would say it was very deeply inspired by it.
Richard Rodger: I must have a look then; maybe I can copy. It's inspired by-
Matteo Collina: Yeah, you can lift. You can possibly – there is – it's a separate module even, so you can even –
Richard Rodger: Awesome.
Matteo Collina: It's called Avio; the module is called Avio. You might even lift it off; it just does all the things you need. And it's all based on this plugin system, and therefore, you can extend it, modify it, add more things, add more routes, add more servers, change the GraphQL schema, and all sorts of things that are missing in the system. So, it has endless – it's completely pluggable; that's what – that's the gist of the-
Richard Rodger: Was the existence of a plugin architecture important?
Matteo Collina: Yes, absolutely. Solving that problem was super important and critical for both – for Fastify success and now for Platformatic too. Platformatic would not exist if it wasn't for-
Richard Rodger: The plugin – so the kernel around which the community forms, because people decide to write plugins, I guess?
Matteo Collina: Pretty much. Fastify has more than 250 plugins now, and by building something that is very small – well smallish – and making it completely pluggable so people can actually express their creativity. While they can express their creativity, create new things with it, without increasing too much the maintenance burden on the product.
And we took these lessons in – with Platformatic and went one step further and said, "What if those plugins could be mini-apps or complete systems that you could add into your deployments, in your work? How can we make it – take it one step up and make sure that there are pre-made components that are already written by somebody else, or an automatic generator that you don't even have to write on [the day?] Time: 13.23, which is – a line that I don't have to maintain is a great line.
Richard Rodger: Exactly, and these are reusable.
Matteo Collina: Yes. The generic bits – the way components – the way we are working with Platformatic, everything is a Fastify plugin at its core. You could even decide – we have Platformatic DB; Platformatic DB is reality is a collection of Fastify plugins. And some of those – and you can just use those plugins yourself if you want. You could take – I want to expose these four database tables as my Rest and GraphQL – Rest or GraphQL end points, do that and then build up a completely different application next week.
Richard Rodger: Here's a challenge that I've had, and I'm interested to hear how you are addressing this one. You have a team of developers in Platformatic now, helping you build the system.
Matteo Collina: Yes. We do.
Richard Rodger: Okay. So, if you've started an open-source project, if you've worked on open-source projects that are platforms like Node.js, you learn to take a platform perspective on things. You understand that every decision means a lot; you have to think about backwards compatibility. I've always had a lot of challenges, when I try to onboard developers, to communicate the thought process, platform thinking, thinking about respecting existing users, thinking about future user sensibility. Because a lot of developers just want to solve the problem in front of them.
Matteo Collina: I know.
Richard Rodger: Which is absolutely correct in – normally; that is, don't waste time and money, solve the problem. But I've always struggled to teach platform thinking.
Matteo Collina: I have a superpower. I am hiring people from the open-source community. I am cheating badly here. So, if you just hire people from the open-source community. I've done a few phenomenal hires for people that were already part of the community, maintainers themselves. And that was phenomenal; it works beautifully.
Richard Rodger: And then you already get – you already have people who have experienced those challenges who've had to think about those problems.
Matteo Collina: Pretty much, yes. The other bits, the other big – the other key things that I've done in starting my new team, it's – again, let's – they say do unscalable things when they start a new company. What I did, I opened my address book and I hired all my – and hired a lot of ex-colleagues.
And ex-colleagues are amazing. You worked with them before; somebody else poached them from you, from the company you were working. You probably know them very well. They know how they work; they know how they think, and they know you. And you already have a high bandwidth channel created, so you could literally hash things out very quickly.
Richard Rodger: Yeah. It's good to cheat; that's how you win.
Matteo Collina: Big time. Again, I am – it's – I am literally – I've learned quite a few things on my journey in nearForm, talking about cheating. And it's – one of the most important lessons is how to build a global business. And I have hired people scattered across the globe, so it's – this is-
Richard Rodger: It makes you stronger, right? It makes you stronger .
Matteo Collina: It makes you significantly stronger, not just stronger.
Richard Rodger: And then the other side of this, which I think helps you, is all of the work that you've done speaking at conferences and generating content and all that sort of stuff. Are you going to continue that strategy? Is that a formal strategy for Platformatic?
Matteo Collina: This is the second step. In order to promote to developers, you need to promote it where they are and you need to talk to them where they are. And there are two kinds of developer relations strategy that a company can apply. What Platformatic is looking for is usage and feedback, so that's what we go to conferences and events and speak and promote our stuff.
The other one – and this is also valuable – is for hiring, and talking to developers because you need to hire them. Both those strategies are good developer relations strategies and that should be owned by the developer relations team in your company if you have a bigger company, not just a startup of a few people. Because if you are just a – if your number is under 10, everybody is just doing everything, and you know that very well, Richard.
Richard Rodger: Yes.
Matteo Collina: It's – I won the title of Chief of Boxes recently, so I was the one that needed to pack the boxes, to shipment.
Richard Rodger: It's gotta be done; it's gotta be done.
Matteo Collina: It's gotta be done, and it's – the buck stops here, so if I – if it's me, it's me. It's not many other people. There is another one person that we can talk about, but if I can have the stuff to be sent in locally, that's it.
Richard Rodger: Well, I think as a leader, you – are you familiar with this concept of the leader as servant?
Matteo Collina: Yes. That's it.
Richard Rodger: Your job is to do the shitty jobs, so people can see that you're doing-
Matteo Collina: Yeah, pretty much. As a leader, you do the shitty jobs, more or less. So, a lot of people don't get that by the way, so it's-
Richard Rodger: No, it's – yeah, because you're creating – when you do that you create intrinsic motivation in people in the company. They – you shouldn't have to force people to work. They should want to because – not because they enjoy it. Work is not meant to be fun; work is work – but because it means something.
Matteo Collina: Well, hopefully.
Richard Rodger: Hopefully. Yes, it's always going to be a challenge, and it changes. As you go through Platformatic's journey, at different levels, different numbers of people, it's – you have a lot of fun ahead of you, Matteo, a lot of fun.
Matteo Collina: I can't wait, so I-
Richard Rodger: Now here's a question for you, just getting back to company design. Developer relations, is that done by all of the developers as part of their job; is it done by a special team? Reports-
Matteo Collina: This is-
Richard Rodger: Does it report to engineering; does it report to marketing?
Matteo Collina: It reports to engineering, first thing; it reports to engineering. If it doesn't report to engineering, it's marketing and it's a different thing. Fundamentally, it's – if it reports to marketing, it's wrong. Now the key challenge of – in a large organization of reporting to engineering is budgets and budget allocation.
Developer relations is very much a money intensive thing, and typically, engineering teams, don't have that much money. So, this is the challenge and why somebody wants to put them in marketing. They are better suited in engineering than marketing, but I can see as they are their own independent thing, because mostly it would be better from a budgeting perspective.
Richard Rodger: Okay, so I – it's a discussion in the developer relations community whether it belongs in marketing or engineering. And a lot of people favor marketing because the budget is easier to access. It's much easier to convince the CMO to spend 20K sending a team to a conference than the CTO, in a traditional organization or a larger one.
Matteo Collina: Well, that's – so, this is the fundamental challenge, and I would be saying that if you don't get it, they're probably getting the developer experience completely wrong.
Richard Rodger: Then they're probably VPMNs, not CTO really.
Matteo Collina: Yeah, but still, it doesn't matter. It also depends; it depends on who are you, why you are doing it. If you are – why you are doing developer relations. So, if you are doing developer relations for booking to clients. So, you – as I said, there are two approaches. One is selling to developers, promoting some tools and technologies. The other one is recruiting. Those two things can be intertwined, but typically, when you set up on a goal, you do one or the other. When you have go – when you a piece of content that you are producing you are either pitching for users or for hiring. That is typically either one or the other.
Now in each case, if you're building – if you want to – if your users are developers – of your product are developers, and it's essentially the CTO's job to sell to them. It's not the marking job to sell to those people; it's the CTO job. And at the same time, if you are hiring for developers, your – it's the CTO's job ultimately to hire them. So, from my point of view, it's actually both of those are the CTO jobs, not the CMO, even if the CMOs have more money. And the fact that – and this is fundamentally the tension of – that this creates.
Richard Rodger: Yeah. It's an interesting challenge, because where does – developers don't respond as well to traditional marketing in the first place. So, your organization design when you sell to developers…
Matteo Collina: Is different. Is the – essentially, your CTO is your CMO.
Richard Rodger: Effectively, yeah.
Matteo Collina: Effectively.
Richard Rodger: And you have to be –Werner Vogels, I think, in Amazon, is kind of a good example, in that he's-
Matteo Collina: Well, Amazon-
Richard Rodger: -he's always selling.
Matteo Collina: Does Amazon have a CMO? I don't…
Richard Rodger: I don't know. No, I don't think so. He is the CMO, effectively.
Matteo Collina: He is. Again, I think they have – some companies, some larger companies, the developer relations unit is its own reporting line.
Richard Rodger: Now that's another structure. That's another structure which appeals to me, is that it's an entirely new part of the business.
Matteo Collina: It is. And a few – I've seen quite a few companies having, for example, VPs of developer relations in it. So, let me look it up. I just don't want to misname companies, so I'm just looking up on LinkedIn.
Richard Rodger: On that basis, I have a difficult question for you, which – and this is something-
Matteo Collina: Yeah, like for example, a company that does that is Netlify. Netlify has a VP of developer experience. Because it's a critical function of the company. So-
Richard Rodger: It has to be, yes. It has to be. I have a difficult question for you, Matteo – and I know we've both experienced this – which is jealousy. When you have an organization where you have line of business developers who are building the product, doing the consulting work, whatever. And then you have a separate team or unit that does developer relations.
And the line of business developers look at the developers in developer relations. Those guys go to conferences and they have fun stuff on their Twitter and they're coming home with new T-shirts. T-shirts are cheap but swag is important. And they're getting all the fame and respect. You have a difficult political situation to manage.
Matteo Collina: Don't tell me. You know I know that very well.
Richard Rodger: So, how do you – what do you do? I never solved that problem, by the way.
Matteo Collina: I think I did after you switched to – you switched; you left nearForm. I think I cracked – I solved that for nearForm.
Richard Rodger: Yeah, talk about that.
Matteo Collina: -- at that time. So, the – I think the solution for – I think the – so there are two solutions here, two ways to solve this problem. The first one is first of all transparency, so show how much work there is. The typical working hours when you are travelling or at a conference is 16 hours a day.
Richard Rodger: Yeah. It's hard work.
Matteo Collina: And then that gets bad. It's – most people won't realize how much work there is going to conferences, but that's not fun.
Richard Rodger: No. And then your family misses you.
Matteo Collina: And then the family miss – start missing you big time. So, this is another really much fatigue, and it's – so those are essentially the down – so show the downsides of the – they might project an image on social media of fun and whatever. The reality is a huge load of work. Then the second thing that you can do is create revolving doors for people to try doing that. And then when they try and don't do a good job about it, they realize that this is hard. Let's leave that – leave this to people that wants to do this kind of life and job and-
Richard Rodger: Yeah. You stay at the stand every day for 10 hours at the conference talking to random people. Hard work.
Matteo Collina: Yeah, pretty much. That typically – that – and you don't need to do it for a lot of people, but then you just do it for 10 or 20 or small population of the conference. Then whatever voice of you are doing – you are just having fun – it just completely disappears. You just put people on the – make people man the booth; make people talk to devs all the time. And all the things that they need to remember and all the things, the way we need to pitch things. Doesn't go well; it's not easy.
Richard Rodger: Yeah, and it involves a lot of people work as well, which is very exhausting very tiring.
Matteo Collina: It's super exhausting. I know.
Richard Rodger: Do you remember one time we were at a conference in San Francisco, I think, and I was supposed to meet you?
Matteo Collina: Yes.
Richard Rodger: I just – I fell asleep.
Matteo Collina: Man… don't!
Richard Rodger: You phoned me going, 'Where are you?' I was like, 'Sorry. I was asleep.'
Matteo Collina: Don't worry. I'm unfortunately famous between friends, tech friends, of me falling asleep in – randomly falling asleep at workshops that I'm not presenting, or meetings when travelling, like literally. I want-
Richard Rodger: [Inaudible] Time: 00.29.30.
Matteo Collina: At some point-
Richard Rodger: That's the next level up, Matteo.
Matteo Collina: I literally – my brain stops functioning and I – but somebody was completely – this happened also very recently. And it was just like I – very often I have a technique to keep being awake by not being awake or something. I close my eyes and really focus on the voice of the people speaking. However, just closing off the eyes helps me deeply focus only on that. So, I can jump back into the discussion without – even if it's – I was in a state of rest physically.
Richard Rodger: Yeah, you reduce the bandwidth, the sense of-
Matteo Collina: Yeah, pretty much. So, I reduce the bandwidth to the bare minimum and then I can keep that going, and while having the rest, have – not caring about my body or my – on what I'm seeing and so on, just focusing on the voice. Especially on high talk meetings, this is very useful. They call it the sailor's sleep in Italy or my family and whatever. It's something that I learned from my dad and my family. We've been sailing for a long – for all our lives. So, when you are on a boat and you always want to rest, being aware of your surroundings.
Richard Rodger: Because you always need to react. There might be-
Matteo Collina: Yes. You need to be able to jump on it if something happens. So, even if you are sleeping, you are not off, so you can-
Richard Rodger: Like a cat. Like a cat, wow.
Matteo Collina: Yeah, like a cat, yeah, exactly.
Richard Rodger: Well, that's an interesting skill. I suppose you have to practice it from when you're a child maybe.
Matteo Collina: I don't – to be honest, I don't remember, but yeah. It might just be something you're born with or something that you see others do, and then you know what it is.
Richard Rodger: And you can learn. Interesting. I might try that all the same, the bandwidth reduction. That's a good idea.
Matteo Collina: It's – look, it just – yeah, that helps me a lot, because otherwise, when travelling, it will be impossible for getting things through.
Richard Rodger: Yeah. It is. That's a really good piece of developer relations conference advice to finish on. Matteo, it's been great talking. Good to catch up. Platformatic looks really cool. I might start annoying you with bug reports down the road, if it helps all those-
Matteo Collina: Big time. If you want a demo whenever you want, or if anybody in the room wants – that's listening to this wants a demo, please reach out.
Richard Rodger: Absolutely. And we'll put the URL and all that sort of stuff in the show notes as well. Cool, Matteo, thank you so much.
Matteo Collina: Thank you, Richard.
Richard Rodger: You can find the transcript of this podcast and any links mentioned on our podcast page at Voxgig.com/podcast. Subscribe for weekly editions, where we talk to the people who make the developer community work. For even more, read our newsletter. You can subscribe at Voxgig.com/newsletter, or follow our Twitter @voxgig. Thanks for listening. Catch you next time.