I was honored to be given the opportunity to give a keynote address at O’Reilly’s 2018 Velocity Conference in NYC. Below is a web version of the talk — not a transcript, but a summary of the main ideas (with fewer jokes). I hope you enjoy.
Update: The full talk is online!
Before I jump into the meat of the talk, I was told that all keynotes must begin with big, bold, provocative statements. I though to myself “I like big, bold, provocative statements — that sounds fun!”
So here’s mine:
Let that sink in while we dive into the talk — we’ll get back to the provocation in a little bit. The title of this talk is “Why Marketing Matters,” which I wrote to answer a question I get some flavor of quite regularly. I guess this is what happens when you preach the value and necessity of marketing to software companies all the time — people will eventually ask “So … why does marketing matter?”
After thinking for a while trying to find a good way to answer this, something occurred to me. Asking “Why does marketing matter?” is sort of like asking “Why do people matter?”
Or put another way, it’s sort of like asking “Why does adoption matter?”
Why does it matter if anyone uses your software, or believes in your solution? Why does it matter if it never gets beyond a few people checking it out on your GitHub profile? It’s important to note that for some people it definitely doesn’t matter: there is always room for side projects. One of the best things about knowing how to write code is that you can scratch your own itches any time — please do not stop doing this.
However fun and cool hobby coding is, however, that’s not what I’m here to talk about. I’m here to address the people who are trying to build a software business, a software community, or both. For those folks, adoption is everything!
Since adoption is the key thing for people using software to solve other people’s problems, I wanted to dig into the prevailing attitudes amongst self-identifying Open Source developers and advocates. So while I was working on the content for this talk, I did what any sane person with a question does — I asked Twitter.
Between the $100 I spent promoting the tweet (my apologies if you saw this in your TL too many times) and the magic words “Please RT,” nearly 1,200 people answered this question:
How important is marketing to the adoption of software?
To be honest, the results were very surprising. When I turned them into a graph, they look like this:
I squashed the positive and negative categories down into one column each, which revealed that 88% of respondents said marketing was important or very important to the success of a project.
This did not meet my expectations, since I’m basically conditioned to think that technical people don’t appreciate or understand the basics of marketing and how important it is to the success of software communities or businesses. When I took a step back, however, I started to think about the results a little bit differently.
Instead of being bummed out that I mis-predicted the results, I started to feel a sense of hope — here’s why. If this many people feel that marketing is crucial to adoption, and not many of us are actually doing it, that means we have tremendous room to improve, and the hard part (convincing people that it’s worthwhile) is already done! The only thing left to it, as they say, is to do it!
The results also looked similar to a graph (completely made up and not based on data) that I often draw for people when they approach me asking my advice for how they can improve their software business or community toward the end of improving adoption.
“It’s this much writing code,” I usually say, holding up my hand and displaying a tiny gap of air between my thumb and pointer finger — “and THIS MUCH MARKETING,” spreading my arms out as wide as they can go.
So if it’s true that marketing is essential for adoption, my hypothesis can be stated simply:
More and better marketing leads to more and better adoption.
Stated differently, taking the time up front to build audience and interest will pay off handsomely when it comes time to actually sell your software or grow your community.
If this hypothesis is correct, I think we’re in pretty good shape! As an engineer, I always like having a clear cut task in front of me, and I think this is one of those situations. Since we all want more adoption, we “just” need to improve at marketing.
That’s what I want to do: help everyone improve at marketing, right now.
But after thinking about how we need to improve at marketing, I realized something important: to get better at it, we need to be able to appreciate it — as in really respect and trust the work that the people in charge of marketing do. We must really believe in it — it’s not something you can just do passively, not something you can sign up for and never follow through on. Improving at marketing must be an active, dominant process.
Taking even another step back, it occurred to me that if I want to get people to appreciate marketing toward the end of getting better at it, I really need them to understand it.
So let’s start right now. I want to help you understand marketing: what is it? What are the people who say they are doing marketing actually doing?
This is going to sound weird, but I think that the heart of understanding marketing is right there in the word.
If you take the word literally, “Market-ing” your software is really all about getting it ready for market. Doing all of the things besides coding and operating your project. Doing all of the things that improve the experience for the people who you want to use your project.
The other mandatory element in keynotes besides a big, bold, provocative statement, is a parable. So here’s mine, in support of why marketing is so important.
Close your eyes and imagine that instead of being involved in software, you’re a farmer. Since it’s likely that not everyone reading this knows how farming works, I’m going to break it down for you.
THIS is exactly how you can become a successful farmer:
Get some land
Prepare the land
Get some seeds
Plant your crops
Water your crops
Watch your crops grow
Sit on your ass and wait around for people to come and buy your crops
That’s how farms work! I’m not sure if you knew that!
Obviously, it’s not, and I’m just trying to make a point. This would never work in farming, and in reality, it doesn’t work in software either.
To make this a little bit more concrete, I spent a few minutes with my business partner Brian coming up with this list of activities. These are some of the things that we could all be better at doing, at thinking about earlier on in the process of building communities or companies. If we never did any of these things, and all we did was write code, no one would ever use our software.
And keep in mind — this is a hell of a lot of work! It’s usually the responsibility of one or two individuals at companies (who are typically compensated very poorly relative to their ‘technical’ colleagues), or volunteers for Open Source projects that do this for free. In other words: in undervaluing the activities that go into Marketing, a crucial component of software adoption is severely undervalued and misunderstood.
Now we know that marketing software toward the end of getting it adopted comprises a ton of activities that are often opaque to the people building the software. And so having established a very loose definition of marketing toward the end of understanding it, I want to chat a bit about why I don’t think it’s properly appreciated by this very audience.
When I sat down and thought about why the typical developer may not appreciate marketing as deeply as they could, I thought about my own time as a professional programmer. During this reflection, three aspects of my relationship with marketing popped out at me, which in my experience apply to a large number of developers.
First is interest. On a scale from not very interested to very interested, my experience is that many developers remain, to put it politely, EXTREMELY !@#ING UNINTERESTED.
This might be because they perceive marketing as being “squishy” or “soft” while programming is “concrete” or I guess … hard? The reality is that stepping outside of your comfort zone and really understanding the discipline behind understanding your users and what they care about is hard!
Beyond interest though, I think there are deeper issues preventing developers from truly appreciating marketing.
Because of the perception of developers that they don’t care about marketing, or because of the realities of the market, or whatever the cause, it is also my experience that developers are not given the opportunity to participate in marketing.
Sometimes they are given the task of writing a blog post or giving a talk in public, but in terms of the real nitty gritty of marketing, they aren’t given the say that they should often have, as stakeholders, to express how their deep understanding of the domain can inform marketing and product direction.
And so it essentially boils down to this: the perception that developers don’t care about marketing is embraced by leadership who don’t give developers the opportunity to participate, and this leads to a complete lack of encouragement. Developers are encouraged to pursue all kinds of interests, but I have very rarely seen real deep encouragement on the behalf of company leadership intended to get developers more and actively involved and interested in the crucial foundational aspects of marketing that they should be.
And I think this is wrong!
So here it is: I am encouraging you! You hath been encouraged!
Whether you’re an open source developer who wants to get their software adopted, or a budding entrepreneur who wants to sell your product, or an engineer at a startup who wants to understand why you spend your time the way you do: I hereby encourage you — go out and learn! Improve!
Don’t worry: I’ll tell you how.
The single most important thing that you can do to be better at marketing and therefore get more people to use your software is to simply shift this timeline. In terms of the life of a project, here is where most projects start to consider the foundational elements of marketing I’ve been alluding to. As you can probably guess, I think that’s a little too late. Or maybe a lot too late.
If you want to nail marketing because you want to give your project the best chance of adoption, do this: think about it from the beginning. Before you even write a line of code, you should be conducting interviews with people who you think might use it. Before you raise money and hire several engineers you should be confident about your market and the message you’re selling.
If you don’t start when I suggest, you need to be prepared to understand that everything happening during this gradient rectangle I’ve so expertly drawn may just be a waste of time. If you don’t know who your audience is and what message you’re trying to convey, you’re not calibrating properly. If you’re not participating in at least a handful of that long list of marketing activities, you’re just coding in a vacuum.
And coding in a vacuum doesn’t make successful projects or companies: it just makes one-off side projects. Which is fine when that’s what you’re after — but if you’re after adoption, the answer is easy.
If it’s worth building, it’s worth marketing. Or to put it a little more bluntly:
If you build it — they won’t come. Unless you tell them about it.
So do the hard but correct thing.
Define your audience: who are you trying to reach? Design your message: what are you trying to communicate? Refine your product: make your product match these expectations.
And then rinse and repeat until it starts to work.
Because you didn’t do all of this hard work just to let your fruit rot on the vine.