You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
5
5
date: 2018-05-25
6
6
modified: 2018-05-25
7
7
newsletter: False
@@ -18,163 +18,183 @@ technical advisors on May 24, 2018.
18
18
19
19
----
20
20
21
-
21
+
<divclass="row talk"><divclass="c6">
22
22
<imgsrc="/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><divclass="c6"><p>
24
+
Hey folks, my name is <ahref="/about-author.html">Matt Makai</a>. I serve the
25
+
<ahref="https://www.youtube.com/watch?v=TF129ioe8kc">Developer Network</a> at
26
+
<ahref="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>
30
31
No, that's only the beginning. We need developers to use those new
31
32
capabilities and code with them.
32
-
33
+
</p><p>
33
34
How do you get developers to adopt what you are creating? That is a broad
34
35
question so I am going to zoom in on just one small slice of developer
35
36
relations that kicks off the whole adoption process. Unfortunately I
36
37
see upwards of 90% of companies completely screw up explaining their
37
38
products to developers.
38
-
39
+
</p><p>
39
40
Today we are going to look at how to appropriately explain and demo your
40
41
product to developers to maximize developer adoption. This is the first
41
42
step towards getting a developer to care enough to try out what you have
42
43
built.
44
+
</p></div></div>
43
45
44
46
47
+
<divclass="row talk"><divclass="c6">
45
48
<imgsrc="/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><divclass="c6"><p>
47
50
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
+
<ahref="https://www.python.org/">Python</a> and
52
+
<ahref="https://swift.org/">Swift</a> developer as well as the creator of
53
+
<ahref="https://www.fullstackpython.com/">Swift</a>. My background provides
54
+
me an opportunity to give insight on this topic because I am a software
52
55
developer, I market to fellow software developers and I write a
53
56
community-driven site that is widely read and trusted by software developers.
57
+
</p></div></div>
54
58
55
59
60
+
<divclass="row talk"><divclass="c6">
56
61
<imgsrc="/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><divclass="c6"><p>
63
+
How do you explain your product? <ahref="https://avc.com/">Fred Wilson</a>
64
+
of <ahref="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>
61
68
62
69
70
+
<divclass="row talk"><divclass="c6">
63
71
<imgsrc="/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><divclass="c6"><p>
65
73
With Fred Wilson's quote in mind, it's demo time!
66
-
74
+
</p><p>
67
75
(This is where I do a condensed, approximately two minute version of my
68
76
Twilio five minute live-coded demo. For a rough approximation of what I
Let's break down the demo into its component pieces so we can learn from
85
97
it. The demo narrative fits into a story arc. Yes, a story arc like from a
86
98
novel. You may not have thought about explaining and showing your product
87
99
in a couple of minutes to be similiar to a novel, but you should follow the
88
100
same narrative structure because it is easier for the audience to understand.
89
-
101
+
<p></p>
90
102
The demo we just saw follows the story arc in the beginning when I introduce
91
103
myself and Twilio. A clear, concise set of intentional words are used to
92
104
explain what Twilio *can do for a developer*. "Twilio makes it easy for
93
105
software developers to add phone calling to applications using the
94
106
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>
103
118
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
+
<ahref="https://s3.amazonaws.com/com.twilio.prod.twilio-docs/images/incoming-voice.width-800.png">using a diagram</a>
105
120
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 <ahref="/web-servers.html">web server</a>.
122
+
</p><p>
108
123
The inciting incident during the demo happens when I finish the
109
124
explanation of how Twilio works and say "rather than just show you a
110
125
little diagram, let's build an application together right now".
111
-
126
+
</p><p>
112
127
We move into the demo phase where I buy and configure a phone number then
113
128
we all test it by calling the number on our own cell phones. The audience
114
129
learns that to configure the phone number to do something useful in this
115
130
case only requires two XML elements that can be stored in a static file or
116
131
generated by an endpoint in their application.
117
-
132
+
</p><p>
118
133
The climax hits when we see outbound phone calling, everyone's
119
134
phones in the room start ringing and we are all on speaker phone together.
120
135
Finally, there is a short resolution where I re-explain what Twilio can
121
136
do for developers and outro with my name and where you can find me.
122
-
137
+
</p><p>
123
138
The whole two minute demo, or however long we need it to be, has a narrative
124
139
with a clear story arc.
140
+
</p></div></div>
125
141
126
142
143
+
<divclass="row talk"><divclass="c6">
127
144
<imgsrc="/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><divclass="c6"><p>
129
146
In 2011, Twilio added SMS. This changed the 5 minute demo's explanation
130
147
to "Twilio makes it easy for developers to send and receive text messages
131
148
and make and receive phone calls using the programming languages that they
132
149
already know". The overall structure otherwise remained the same because we
133
150
used SMS for inbound action and kept phone calling for the outbound action.
134
-
151
+
</p><p>
135
152
Eventually your product line or features within a product line will reach
136
153
a point where you need to determine if it changes your explanation and
137
154
demo. In some cases there will be modifications that fit within the existing
138
155
framework and do not substantially change the narrative.
156
+
</p></div></div>
139
157
140
-
158
+
<divclass="row talk"><divclass="c6">
141
159
<imgsrc="/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><divclass="c6"><p>
143
161
As you continue to grow you will eventually reach an inflection point where
144
162
you have too many products or features to explain, regardless of how
145
163
much time you have for your demo. You reach a situation where if you try to
146
164
tell the audience everything that your product does, they will zone out
147
165
and ignore your laundry list of features.
148
-
166
+
</p><p>
149
167
If you are not intentional in the words you say and specific
150
168
in the products and features you choose to show, then your pitch becomes
151
169
spread too thin and no developer will care to listen.
152
-
170
+
</p><p>
153
171
Twilio now has dozens of products under the communications umbrella. I talk
154
172
about specific products and tailor my explanation based on the audience. You
155
173
should too! For example, if I am talking to a group of web developers, I will
156
174
still use the classic Twilio 5 minute demo that shows off SMS and phone
157
175
calling capability. On the other hand, if I am demoing to iOS and Android
158
176
mobile developers then I will show off
159
-
[Programmable Chat](https://www.twilio.com/docs/chat) or
The explanation is tuned to "Twilio makes it easy for developers to add
163
181
communications, such as phone calling, messaging and video, to their
164
182
applications using the programming languages that they already know." I
165
183
draw a broad theme by saying the word "communications" then give three
166
184
specific examples of products that are the most widely used by developers
167
185
because they are incredibly useful for implementing common application
168
186
features.
187
+
</p></div></div>
169
188
170
189
190
+
<divclass="row talk"><divclass="c6">
171
191
<imgsrc="/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><divclass="c6"><p>
193
+
It's time to reinforce why it is so important for you, as a founder, or as an
174
194
investor that works with founders, to be the chief evangelist for your
175
195
product. You cannot ever outsource this role. You cannot hire someone to
176
196
lead an evangelism team and expect them to figure it all out for you.
177
-
197
+
</p><p>
178
198
If you are not excited about the product you are building or are unable
179
199
to transfer that excitement to developers with a clear explanation and demo,
180
200
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
183
203
and you won't need to worry about what snacks are stocked in your office's
184
204
kitchen. If developers are the lifeblood of your company then you need to
185
205
be the chief evangelist, period.
186
-
206
+
</p><p>
187
207
Here are a few more important points for how to perform this role
188
208
effectively.
209
+
</p></div></div>
189
210
190
211
212
+
<divclass="row talk"><divclass="c6">
191
213
<imgsrc="/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><divclass="c6"><p>
193
215
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>
198
220
Be specific, like the "add phone calling to your applications" line so that
199
221
it is absolutely clear what you do.
200
-
222
+
</p><p>
201
223
When your company grows and your brand expands, then you may expand to
202
224
include the general industry your company works in, such as "communications".
203
225
Do not jump the gun in trying to become too grandiose with your ambitions
204
226
because your developer audience cares about what problem you are solving for
205
227
them, not who you imagine yourself to be in your future vision.
228
+
</p></div></div>
206
229
207
230
231
+
<divclass="row talk"><divclass="c6">
208
232
<imgsrc="/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><divclass="c6"><p>
210
234
Refine the explanation you use and the demo under two situations.
211
-
235
+
</p><p>
212
236
First, when your products and features expand. Think critically if a new
213
237
feature should be part of your explanation or it can be left as an answer
214
238
to follow up questions that a developer asks you.
215
-
239
+
</p><p>
216
240
Second, developer ecosystems are constantly changing. If you tried to talk
217
241
to me about containers ten years ago and I was not a Solaris sysadmin then
218
242
I would not have any clue what you are talking about. Today, it's generally
219
243
safe to assume most Bay Area developers have a working knowledge of what
220
244
containers are and what they are useful for accomplishing. Use that type of
221
245
context in your pitch to reinforce your technical credibility with your
222
246
developer audience.
247
+
</p></div></div>
223
248
224
249
250
+
<divclass="row talk"><divclass="c6">
225
251
<imgsrc="/img/180526-explain-product/12-rehearsal.jpg"width="100%"class="shot rnd outl"alt="No demo fails because you rehearse constantly.">
226
-
252
+
</div><divclass="c6"><p>
227
253
I get asked a lot about live coding because everyone is worried about demo
228
254
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
+
<ahref="https://github.com/RobSpectre">Rob Spectre</a>, former head of the
256
+
Twilio Developer Network:</p>
231
257
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>
233
259
260
+
<p>
234
261
You do not just rehearse and practice the happy path, you also practice
235
262
what can go wrong. What happens when you mistype a character in your code?
236
263
Find out and get used to it. If and when it happens during your live demo
237
264
then you can incorporate that mistake into your narrative as a learning
238
265
opportunity for the audience.
239
-
266
+
</p><p>
240
267
Magicians always have "outs" in their acts, essentially plan B, plan C,
241
268
plan Z. You should too because something will always go wrong but if you
242
269
are ready for it and know how to handle it then you will never demo fail.
270
+
</p></div></div>
243
271
244
272
273
+
<divclass="row talk"><divclass="c6">
245
274
<imgsrc="/img/180526-explain-product/13-your-message-to-devs.jpg"width="100%"class="shot rnd outl"alt="Your message to developers.">
246
-
275
+
</div><divclass="c6"><p>
247
276
That sums up my strong recommendations for this one small slice of the
248
277
field of developer product adoption. To re-iterate, create a narrative
249
278
for your explanation and demo that follows the classic story arc. The
250
279
earlier you are as a product, the more specific your explanation should
251
280
be in what problem you solve. Refine the message as your features and
252
281
product lines grow, as well as when the industry around you changes.
253
282
Rehearse your demo including what can and will go wrong.
254
-
283
+
</p><p>
255
284
There is a lot more to developer adoption than a good explanation and
256
285
demo, but I see greater than 90% of companies never even get to this
257
286
point so you will be way ahead of the pack if you heed the advice from
258
287
this talk.
288
+
</p></div></div>
259
289
260
290
291
+
<divclass="row talk"><divclass="c6">
261
292
<imgsrc="/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><divclass="c6"><p>
294
+
That's all for today. My name is <ahref="/about-author.html">Matt Makai</a>,
295
+
I am a software developer at <ahref="/twilio.html">Twilio</a> and the
296
+
author of <ahref="https://www.fullstackpython.com/">Full Stack Python</a>.
0 commit comments