Skip to content

Commit 43e6476

Browse files
committed
change format on tech talks post
1 parent 828d21e commit 43e6476

File tree

3 files changed

+125
-89
lines changed

3 files changed

+125
-89
lines changed
Lines changed: 107 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: How to Explain Your Products to Developers
22
slug: explain-products-developers
33
meta: Talk slides, notes and more resources for a technical talk on developer marketing for tech products, by Matt Makai.
4-
category: post
4+
category: talk
55
date: 2018-05-25
66
modified: 2018-05-25
77
newsletter: False
@@ -18,163 +18,183 @@ technical advisors on May 24, 2018.
1818

1919
----
2020

21-
21+
<div class="row talk"><div class="c6">
2222
<img src="/img/180526-explain-product/01-explain-products.jpg" width="100%" class="shot rnd outl" alt="Title slide for this talk on Explaining Products to Developers.">
23-
Hey folks, my name is [Matt Makai](/about-author.html). I serve the
24-
[Developer Network](https://www.youtube.com/watch?v=TF129ioe8kc) at
25-
[Twilio](https://www.twilio.com/). We've talked a lot today about making the
26-
real world programmable. We ask "what if we could modify the real world using
27-
GitHub and Jira?" When we succeed in creating programmatic access to the
28-
physical world, what then? Is that the end goal?
29-
23+
</div><div class="c6"><p>
24+
Hey folks, my name is <a href="/about-author.html">Matt Makai</a>. I serve the
25+
<a href="https://www.youtube.com/watch?v=TF129ioe8kc">Developer Network</a> at
26+
<a href="https://www.twilio.com/">Twilio</a>. We've talked a lot today about
27+
making the real, physical world programmable. We ask "what if we could modify
28+
the world using GitHub and Jira?" When we succeed in creating programmatic
29+
access to the physical world, what then? Is that the end goal?
30+
</p><p>
3031
No, that's only the beginning. We need developers to use those new
3132
capabilities and code with them.
32-
33+
</p><p>
3334
How do you get developers to adopt what you are creating? That is a broad
3435
question so I am going to zoom in on just one small slice of developer
3536
relations that kicks off the whole adoption process. Unfortunately I
3637
see upwards of 90% of companies completely screw up explaining their
3738
products to developers.
38-
39+
</p><p>
3940
Today we are going to look at how to appropriately explain and demo your
4041
product to developers to maximize developer adoption. This is the first
4142
step towards getting a developer to care enough to try out what you have
4243
built.
44+
</p></div></div>
4345

4446

47+
<div class="row talk"><div class="c6">
4548
<img src="/img/180526-explain-product/02-matt-makai-bio.jpg" width="100%" class="shot rnd outl" alt="Bio information slide for Matt Makai.">
46-
49+
</div><div class="c6"><p>
4750
In addition to serving the Developer Network at Twilio, I am also a
48-
[Python](https://www.python.org/) and [Swift](https://swift.org/) developer
49-
as well as the creator of
50-
[Full Stack Python](https://www.fullstackpython.com/). My background provides
51-
an opportunity to give insight on this topic because I am a software
51+
<a href="https://www.python.org/">Python</a> and
52+
<a href="https://swift.org/">Swift</a> developer as well as the creator of
53+
<a href="https://www.fullstackpython.com/">Swift</a>. My background provides
54+
me an opportunity to give insight on this topic because I am a software
5255
developer, I market to fellow software developers and I write a
5356
community-driven site that is widely read and trusted by software developers.
57+
</p></div></div>
5458

5559

60+
<div class="row talk"><div class="c6">
5661
<img src="/img/180526-explain-product/03-show-it-live.jpg" width="100%" class="shot rnd outl" alt="Fred Wilson quote on showing rather than telling.">
57-
58-
How do you explain your product? [Fred Wilson](https://avc.com/) of
59-
[Union Square Ventures](https://www.usv.com/) said it best in this quote,
60-
which we will roughly summarize as: *show, don't just tell*.
62+
</div><div class="c6"><p>
63+
How do you explain your product? <a href="https://avc.com/">Fred Wilson</a>
64+
of <a href="https://www.usv.com/">Union Square Ventures</a> said it best in
65+
this quote, which we will roughly summarize as:
66+
<em>show, don't just tell</em>.
67+
</p></div></div>
6168

6269

70+
<div class="row talk"><div class="c6">
6371
<img src="/img/180526-explain-product/04-demo.jpg" width="100%" class="shot rnd outl" alt="Demo slide for transitioning into a live-coded demo.">
64-
72+
</div><div class="c6"><p>
6573
With Fred Wilson's quote in mind, it's demo time!
66-
74+
</p><p>
6775
(This is where I do a condensed, approximately two minute version of my
6876
Twilio five minute live-coded demo. For a rough approximation of what I
6977
showed, check out the
70-
[NY Tech Meetup Twilio demo](https://www.youtube.com/watch?v=-VuXIgp9S7o)
78+
<a href="https://www.youtube.com/watch?v=-VuXIgp9S7o">NY Tech Meetup Twilio demo</a>
7179
from 2010.)
80+
</p></div></div>
7281

7382

83+
<div class="row talk"><div class="c6">
7484
<img src="/img/180526-explain-product/05-phone-api.jpg" width="100%" class="shot rnd outl" alt="Twilio 2008-2011 had only the phone calling voice API.">
75-
85+
</div><div class="c6"><p>
7686
That demo represented the Twilio 5 minute demo from 2008 through part of
7787
2011, when the
78-
[phone calling voice API](https://www.twilio.com/docs/voice/api) was the
79-
company's main product.
88+
<a href="https://www.twilio.com/docs/voice/api">phone calling voice API</a>
89+
was the company's main product.
90+
</p></div></div>
8091

8192

93+
<div class="row talk"><div class="c6">
8294
<img src="/img/180526-explain-product/06-story-arc.jpg" width="100%" class="shot rnd outl" alt="Story arc visual.">
83-
95+
</div><div class="c6"><p>
8496
Let's break down the demo into its component pieces so we can learn from
8597
it. The demo narrative fits into a story arc. Yes, a story arc like from a
8698
novel. You may not have thought about explaining and showing your product
8799
in a couple of minutes to be similiar to a novel, but you should follow the
88100
same narrative structure because it is easier for the audience to understand.
89-
101+
<p></p>
90102
The demo we just saw follows the story arc in the beginning when I introduce
91103
myself and Twilio. A clear, concise set of intentional words are used to
92104
explain what Twilio *can do for a developer*. "Twilio makes it easy for
93105
software developers to add phone calling to applications using the
94106
programming languages that you already know." Breaking that down further:
95-
96-
1. *software developers*: a clear call out to who we are talking to
97-
1. *phone calling*: what problem we solve by adding this feature to
98-
applications
99-
1. *programming languages that you already know*: emphasizing that you do
100-
not have to learn some complicated proprietary syntax from the
101-
telecommunications world
102-
107+
</p>
108+
<ol>
109+
<li><strong>software developers</strong>: a clear call out to who we are
110+
talking to</li>
111+
<li><strong>phone calling</strong>: what problem we solve by adding this
112+
feature to applications</li>
113+
<li><strong>programming languages that you already know</strong>: emphasizing
114+
that you do not have to learn some complicated proprietary syntax from the
115+
telecommunications world</li>
116+
</ol>
117+
<p>
103118
Next in the exposition, we explain how it works
104-
[using a diagram](https://s3.amazonaws.com/com.twilio.prod.twilio-docs/images/incoming-voice.width-800.png)
119+
<a href="https://s3.amazonaws.com/com.twilio.prod.twilio-docs/images/incoming-voice.width-800.png">using a diagram</a>
105120
that shows inbound and outbound phone calls and how they interact with
106-
Twilio's service as well as your [web server](/web-servers.html).
107-
121+
Twilio's service as well as your <a href="/web-servers.html">web server</a>.
122+
</p><p>
108123
The inciting incident during the demo happens when I finish the
109124
explanation of how Twilio works and say "rather than just show you a
110125
little diagram, let's build an application together right now".
111-
126+
</p><p>
112127
We move into the demo phase where I buy and configure a phone number then
113128
we all test it by calling the number on our own cell phones. The audience
114129
learns that to configure the phone number to do something useful in this
115130
case only requires two XML elements that can be stored in a static file or
116131
generated by an endpoint in their application.
117-
132+
</p><p>
118133
The climax hits when we see outbound phone calling, everyone's
119134
phones in the room start ringing and we are all on speaker phone together.
120135
Finally, there is a short resolution where I re-explain what Twilio can
121136
do for developers and outro with my name and where you can find me.
122-
137+
</p><p>
123138
The whole two minute demo, or however long we need it to be, has a narrative
124139
with a clear story arc.
140+
</p></div></div>
125141

126142

143+
<div class="row talk"><div class="c6">
127144
<img src="/img/180526-explain-product/07-sms-2011.jpg" width="100%" class="shot rnd outl" alt="Twilio added an SMS API in 2011.">
128-
145+
</div><div class="c6"><p>
129146
In 2011, Twilio added SMS. This changed the 5 minute demo's explanation
130147
to "Twilio makes it easy for developers to send and receive text messages
131148
and make and receive phone calls using the programming languages that they
132149
already know". The overall structure otherwise remained the same because we
133150
used SMS for inbound action and kept phone calling for the outbound action.
134-
151+
</p><p>
135152
Eventually your product line or features within a product line will reach
136153
a point where you need to determine if it changes your explanation and
137154
demo. In some cases there will be modifications that fit within the existing
138155
framework and do not substantially change the narrative.
156+
</p></div></div>
139157

140-
158+
<div class="row talk"><div class="c6">
141159
<img src="/img/180526-explain-product/08-more-products.jpg" width="100%" class="shot rnd outl" alt="Eventually you expand your product lines or features within a product.">
142-
160+
</div><div class="c6"><p>
143161
As you continue to grow you will eventually reach an inflection point where
144162
you have too many products or features to explain, regardless of how
145163
much time you have for your demo. You reach a situation where if you try to
146164
tell the audience everything that your product does, they will zone out
147165
and ignore your laundry list of features.
148-
166+
</p><p>
149167
If you are not intentional in the words you say and specific
150168
in the products and features you choose to show, then your pitch becomes
151169
spread too thin and no developer will care to listen.
152-
170+
</p><p>
153171
Twilio now has dozens of products under the communications umbrella. I talk
154172
about specific products and tailor my explanation based on the audience. You
155173
should too! For example, if I am talking to a group of web developers, I will
156174
still use the classic Twilio 5 minute demo that shows off SMS and phone
157175
calling capability. On the other hand, if I am demoing to iOS and Android
158176
mobile developers then I will show off
159-
[Programmable Chat](https://www.twilio.com/docs/chat) or
160-
[Programmable Video](https://www.twilio.com/docs/video).
161-
177+
<a href="https://www.twilio.com/docs/chat">Programmable Chat</a> or
178+
<a href="https://www.twilio.com/docs/video">Programmable Video</a>.
179+
</p><p>
162180
The explanation is tuned to "Twilio makes it easy for developers to add
163181
communications, such as phone calling, messaging and video, to their
164182
applications using the programming languages that they already know." I
165183
draw a broad theme by saying the word "communications" then give three
166184
specific examples of products that are the most widely used by developers
167185
because they are incredibly useful for implementing common application
168186
features.
187+
</p></div></div>
169188

170189

190+
<div class="row talk"><div class="c6">
171191
<img src="/img/180526-explain-product/09-devangelism.jpg" width="100%" class="shot rnd outl" alt="You as a founder, or as an investor who work with founders must be the chief evangelist for your product.">
172-
173-
Let's reinforce why it is so important for you, as a founder, or as an
192+
</div><div class="c6"><p>
193+
It's time to reinforce why it is so important for you, as a founder, or as an
174194
investor that works with founders, to be the chief evangelist for your
175195
product. You cannot ever outsource this role. You cannot hire someone to
176196
lead an evangelism team and expect them to figure it all out for you.
177-
197+
</p><p>
178198
If you are not excited about the product you are building or are unable
179199
to transfer that excitement to developers with a clear explanation and demo,
180200
then all of the other priorities for your company become useless. If
@@ -183,85 +203,96 @@ will not sell anything, you won't be able to set a great company culture
183203
and you won't need to worry about what snacks are stocked in your office's
184204
kitchen. If developers are the lifeblood of your company then you need to
185205
be the chief evangelist, period.
186-
206+
</p><p>
187207
Here are a few more important points for how to perform this role
188208
effectively.
209+
</p></div></div>
189210

190211

212+
<div class="row talk"><div class="c6">
191213
<img src="/img/180526-explain-product/10-be-specific.jpg" width="100%" class="shot rnd outl" alt="The earlier you are, the more specific you need to be about what problem you solve.">
192-
214+
</div><div class="c6"><p>
193215
When you are early stage, be as specific as possible about what problem
194-
that you are solving. You are **not** "disrupting transportation by blah
195-
blah blah". No developer gives a shit. They want to know what problem you
196-
will solve for them right now.
197-
216+
that you are solving. You are <strong>not</strong> "disrupting
217+
transportation by blah blah blah". No developer gives a shit. They want to
218+
know what problem you will solve for them right now.
219+
</p><p>
198220
Be specific, like the "add phone calling to your applications" line so that
199221
it is absolutely clear what you do.
200-
222+
</p><p>
201223
When your company grows and your brand expands, then you may expand to
202224
include the general industry your company works in, such as "communications".
203225
Do not jump the gun in trying to become too grandiose with your ambitions
204226
because your developer audience cares about what problem you are solving for
205227
them, not who you imagine yourself to be in your future vision.
228+
</p></div></div>
206229

207230

231+
<div class="row talk"><div class="c6">
208232
<img src="/img/180526-explain-product/11-refine-growth.jpg" width="100%" class="shot rnd outl" alt="Refine the message as you grow, or your industry grows.">
209-
233+
</div><div class="c6"><p>
210234
Refine the explanation you use and the demo under two situations.
211-
235+
</p><p>
212236
First, when your products and features expand. Think critically if a new
213237
feature should be part of your explanation or it can be left as an answer
214238
to follow up questions that a developer asks you.
215-
239+
</p><p>
216240
Second, developer ecosystems are constantly changing. If you tried to talk
217241
to me about containers ten years ago and I was not a Solaris sysadmin then
218242
I would not have any clue what you are talking about. Today, it's generally
219243
safe to assume most Bay Area developers have a working knowledge of what
220244
containers are and what they are useful for accomplishing. Use that type of
221245
context in your pitch to reinforce your technical credibility with your
222246
developer audience.
247+
</p></div></div>
223248

224249

250+
<div class="row talk"><div class="c6">
225251
<img src="/img/180526-explain-product/12-rehearsal.jpg" width="100%" class="shot rnd outl" alt="No demo fails because you rehearse constantly.">
226-
252+
</div><div class="c6"><p>
227253
I get asked a lot about live coding because everyone is worried about demo
228254
fails. You should not demo fail, ever. To steal a line from
229-
[Rob Spectre](https://github.com/RobSpectre), former head of the Twilio
230-
Developer Network:
255+
<a href="https://github.com/RobSpectre">Rob Spectre</a>, former head of the
256+
Twilio Developer Network:</p>
231257

232-
> There is only one demo God, and her name is rehearsal."
258+
<blockquote>There is only one demo God, and her name is rehearsal.</blockquote>
233259

260+
<p>
234261
You do not just rehearse and practice the happy path, you also practice
235262
what can go wrong. What happens when you mistype a character in your code?
236263
Find out and get used to it. If and when it happens during your live demo
237264
then you can incorporate that mistake into your narrative as a learning
238265
opportunity for the audience.
239-
266+
</p><p>
240267
Magicians always have "outs" in their acts, essentially plan B, plan C,
241268
plan Z. You should too because something will always go wrong but if you
242269
are ready for it and know how to handle it then you will never demo fail.
270+
</p></div></div>
243271

244272

273+
<div class="row talk"><div class="c6">
245274
<img src="/img/180526-explain-product/13-your-message-to-devs.jpg" width="100%" class="shot rnd outl" alt="Your message to developers.">
246-
275+
</div><div class="c6"><p>
247276
That sums up my strong recommendations for this one small slice of the
248277
field of developer product adoption. To re-iterate, create a narrative
249278
for your explanation and demo that follows the classic story arc. The
250279
earlier you are as a product, the more specific your explanation should
251280
be in what problem you solve. Refine the message as your features and
252281
product lines grow, as well as when the industry around you changes.
253282
Rehearse your demo including what can and will go wrong.
254-
283+
</p><p>
255284
There is a lot more to developer adoption than a good explanation and
256285
demo, but I see greater than 90% of companies never even get to this
257286
point so you will be way ahead of the pack if you heed the advice from
258287
this talk.
288+
</p></div></div>
259289

260290

291+
<div class="row talk"><div class="c6">
261292
<img src="/img/180526-explain-product/14-thank-you.jpg" width="100%" class="shot rnd outl" alt="Thank you slide.">
262-
263-
That's all for today. My name is [Matt Makai](/about-author.html),
264-
I am a software developer at [Twilio](/twilio.html) and the
265-
author of [Full Stack Python](https://www.fullstackpython.com/).
293+
</div><div class="c6"><p>
294+
That's all for today. My name is <a href="/about-author.html">Matt Makai</a>,
295+
I am a software developer at <a href="/twilio.html">Twilio</a> and the
296+
author of <a href="https://www.fullstackpython.com/">Full Stack Python</a>.
266297
Thank you very much.
267-
298+
</p></div></div>

theme/templates/article.html

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,23 @@ <h1 style="font-size: 36px;">{{ article.title }}</h1>
4141
</div>
4242
</div>
4343
<div class="row">
44-
<div class="c9">
45-
{{ article.content }}
46-
<hr>
47-
{% include "email-for-book.html" %}
48-
{% endif %}
49-
</div>
50-
<div class="c3">
51-
{% include "article-sidebar.html" %}
52-
{% include "sponsor/all-sponsor.html" %}
53-
</div>
44+
{% if article.category == "talk" %}
45+
<div class="c12">
46+
{% else %}
47+
<div class="c9">
48+
{% endif %}
49+
{{ article.content }}
50+
<hr>
51+
{% include "email-for-book.html" %}
52+
{% endif %}
53+
</div>
54+
{% if article.category == "talk" %}
55+
{% else %}
56+
<div class="c3">
57+
{% include "article-sidebar.html" %}
58+
{% include "sponsor/all-sponsor.html" %}
59+
</div>
60+
{% endif %}
5461
</div>
5562
{% endblock %}
5663

0 commit comments

Comments
 (0)