|
| 1 | +title: How to Explain Your Products to Developers |
| 2 | +slug: explain-products-developers |
| 3 | +meta: Talk slides, notes and more resources for a technical talk on developer marketing for tech products, by Matt Makai. |
| 4 | +category: post |
| 5 | +date: 2018-05-25 |
| 6 | +modified: 2018-05-25 |
| 7 | +newsletter: False |
| 8 | +headerimage: /img/visuals/talk-header.jpg |
| 9 | +headeralt: Comment bubble with code representing a technical talk-based blog post. |
| 10 | + |
| 11 | + |
| 12 | +This blog post contains the slides along with a loose transcript and |
| 13 | +additional resources from my talk on appropriately marketing products to |
| 14 | +software developers that was given at |
| 15 | +[Silicon Valley Bank](https://www.svb.com/) during |
| 16 | +[Ubiquity.VC](http://www.ubiquity.vc/)'s summit for founders, investors and |
| 17 | +technical advisors on May 24, 2018. |
| 18 | + |
| 19 | +Links to learn more about the concepts presented in this talk can |
| 20 | +be found in the sidebar and at the bottom of this page. |
| 21 | + |
| 22 | +---- |
| 23 | + |
| 24 | + |
| 25 | +<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."> |
| 26 | +Hey folks, my name is [Matt Makai](/about-author.html). I serve the |
| 27 | +[Developer Network](https://www.youtube.com/watch?v=TF129ioe8kc) at |
| 28 | +[Twilio](https://www.twilio.com/). We've talked a lot today about making the |
| 29 | +real world programmable. We ask "what if we could modify the real world using |
| 30 | +GitHub and Jira?" When we succeed in creating programmatic access to the |
| 31 | +physical world, what then? Is that the end goal? |
| 32 | + |
| 33 | +No, that's only the beginning. We need developers to use that new |
| 34 | +capabilities and code with it. How do you get developers to adopt |
| 35 | +what you are creating? That is a large question so I am going to zoom |
| 36 | +in on just one small slice of developer relations that kicks off the |
| 37 | +whole adoption process but that unfortunately I see upwards of 90% of |
| 38 | +companies completely screw up: how to explain your product to |
| 39 | +developers. |
| 40 | + |
| 41 | +Today we are going to look at how to appropriately explain and demo your |
| 42 | +product to developers to maximize developer adoption. In other words, the |
| 43 | +first step towards getting a developer to care enough to try out what |
| 44 | +you have built. |
| 45 | + |
| 46 | + |
| 47 | +<img src="/img/180526-explain-product/02-matt-makai-bio.jpg" width="100%" class="shot rnd outl" alt="Bio information slide for Matt Makai."> |
| 48 | + |
| 49 | +As I said at the beginning, I'm Matt Makai and I serve the Developer |
| 50 | +Network at Twilio. I am also a [Python](https://www.python.org/) and |
| 51 | +[Swift](https://swift.org/) developer as well as the creator of |
| 52 | +Full Stack Python. My background provides an opportunity to give insight |
| 53 | +on this topic because I am a software developer, I market to software |
| 54 | +developers and I write a community-driven site that is widely read and |
| 55 | +trusted by software developers. |
| 56 | + |
| 57 | + |
| 58 | +<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."> |
| 59 | + |
| 60 | +How do you explain your product? [Fred Wilson](https://avc.com/) of |
| 61 | +[Union Square Ventures](https://www.usv.com/) said it best in this quote, |
| 62 | +which we will roughly summarize as: show, don't just tell. |
| 63 | + |
| 64 | + |
| 65 | +<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."> |
| 66 | + |
| 67 | +With Fred Wilson's quote in mind, it's demo time! |
| 68 | + |
| 69 | +(This is where I do a condensed, approximately two minute version of my |
| 70 | +Twilio five minute live-coded demo. For a rough approximation of what I |
| 71 | +showed, check out the |
| 72 | +[NY Tech Meetup Twilio demo](https://www.youtube.com/watch?v=-VuXIgp9S7o) |
| 73 | +from 2010.) |
| 74 | + |
| 75 | + |
| 76 | +<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."> |
| 77 | + |
| 78 | +That demo represented the Twilio 5 minute demo from 2008 through part of |
| 79 | +2011, when the |
| 80 | +[phone calling voice API](https://www.twilio.com/docs/voice/api) was the |
| 81 | +company's main product. |
| 82 | + |
| 83 | + |
| 84 | +<img src="/img/180526-explain-product/06-story-arc.jpg" width="100%" class="shot rnd outl" alt="Story arc visual."> |
| 85 | + |
| 86 | +Let's break down the demo into its component pieces so we can learn from |
| 87 | +it. The demo narrative fits into a story arc. Yes, a story arc like from a |
| 88 | +novel. You may not have thought about explaining and showing your product |
| 89 | +in a couple of minutes to be like a novel, but you should follow the same |
| 90 | +narrative structure because it is easier for the audience to understand. |
| 91 | + |
| 92 | +The demo follows the story arc in the beginning when I introduce myself |
| 93 | +and Twilio. A clear, concise set of intentional words are used to explain |
| 94 | +what Twilio *can do for a developer*. "Twilio makes it easy for software |
| 95 | +developers to add phone calling to your applications using the programming |
| 96 | +languages that you already know." Breaking that down further: |
| 97 | + |
| 98 | +1. *software developers*: a clear call out to who we are talking to |
| 99 | +1. *phone calling*: what problem we solve, add this feature to applications |
| 100 | +1. *programming languages that you already know*: emphasizing that you do |
| 101 | + not have to learn some complicated proprietary syntax from the |
| 102 | + telecommunications world |
| 103 | + |
| 104 | +Next in the exposition, we explain how it works |
| 105 | +[using a diagram](https://s3.amazonaws.com/com.twilio.prod.twilio-docs/images/incoming-voice.width-800.png) |
| 106 | +that shows inbound and outbound phone calls and how they interact with |
| 107 | +Twilio's service as well as your [web server](/web-servers.html). |
| 108 | + |
| 109 | +The inciting incident during the demo is happens when I finish the |
| 110 | +explanation of how Twilio works and say "rather than just show you a |
| 111 | +little diagram, let's build an application together right now". |
| 112 | + |
| 113 | +We move into the demo phase where I buy, configure and we all test a |
| 114 | +phone number by calling it. The audience learns that to configure the |
| 115 | +phone number to do something useful only requires two XML elements that |
| 116 | +can be stored in a static file or generated by an endpoint in their |
| 117 | +application. |
| 118 | + |
| 119 | +The climax hits when we see outbound phone calling, everyone's |
| 120 | +phones in the room start ringing and we are all on speaker phone together. |
| 121 | +Finally, there is a short resolution where I re-explain what Twilio can |
| 122 | +do for developers and outro with my name and where you can find me. |
| 123 | + |
| 124 | +The whole two minute demo, or however long we need it to be, has a narrative |
| 125 | +with a clear story arc. |
| 126 | + |
| 127 | + |
| 128 | +<img src="/img/180526-explain-product/07-sms-2011.jpg" width="100%" class="shot rnd outl" alt="Twilio added an SMS API in 2011."> |
| 129 | + |
| 130 | +In 2011, Twilio added SMS. This changed the 5 minute demo's explanation |
| 131 | +to "Twilio makes it easy for developers to send and receive text messages |
| 132 | +and make and receive phone calls using the programming languages that they |
| 133 | +already know". The overall structure otherwise remained the same because we |
| 134 | +used SMS for inbound action and kept phone calling for the outbound action. |
| 135 | + |
| 136 | +Eventually your product line or features within a product line will reach |
| 137 | +a point where you need to determine if it changes your explanation and |
| 138 | +demo. In some cases there will be modifications that fit within the existing |
| 139 | +framework and do not substantially change the narrative. |
| 140 | + |
| 141 | + |
| 142 | +<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."> |
| 143 | + |
| 144 | +However, as you continue to grow you will reach an inflection point where |
| 145 | +you simply have too many products or features to explain, regardless of how |
| 146 | +much time you have for your demo. You reach a point where you try to tell |
| 147 | +the audience that you do everything, but what they hear is that you actually |
| 148 | +do nothing well. |
| 149 | + |
| 150 | +If you are not intentional in the words you say and specific |
| 151 | +in the products and features you choose to show, then your pitch becomes |
| 152 | +spread too thin and no developer will care to listen. |
| 153 | + |
| 154 | +Twilio now has dozens of products under the communications umbrella. I talk |
| 155 | +about specific products and tailor my explanation based on the audience. You |
| 156 | +should too! For example, if I am talking to a group of web developers, I will |
| 157 | +still use the classic Twilio 5 minute demo that shows off SMS and phone |
| 158 | +calling capability. On the other hand, if I am demoing to iOS and Android |
| 159 | +mobile developers then I will show off |
| 160 | +[Programmable Chat](https://www.twilio.com/docs/chat) or |
| 161 | +[Programmable Video](https://www.twilio.com/docs/video). |
| 162 | + |
| 163 | +The explanation is tuned to "Twilio makes it easy for developers to add |
| 164 | +communications, such as phone calling, messaging and video, to their |
| 165 | +applications using the programming languages that they already know." I |
| 166 | +draw a broad theme by saying the word "communications" then give three |
| 167 | +specific examples of products that are the most widely used by developers |
| 168 | +because they are incredibly useful for implementing common application |
| 169 | +features. |
| 170 | + |
| 171 | + |
| 172 | +<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."> |
| 173 | + |
| 174 | +Time to reinforce why it is so important for you, as a founder, or as an |
| 175 | +investor that works with founders, to be the chief evangelist for your |
| 176 | +product. You cannot ever outsource this role. You cannot hire someone to |
| 177 | +lead an evangelism team and expect them to figure it all out for you. |
| 178 | + |
| 179 | +If you are not excited about the product you are building or are unable |
| 180 | +to transfer that excitement to developers with a clear explanation and demo, |
| 181 | +then all of the other priorities for your company become useless. If |
| 182 | +developers are your customers and they do not adopt your product then you |
| 183 | +will not sell anything, you won't be able to set a great company culture |
| 184 | +and you won't need to worry about what snacks are stocked in your office's |
| 185 | +kitchen. If developers are the lifeblood of your company then you need to |
| 186 | +be the chief evangelist, period. |
| 187 | + |
| 188 | +Here are a few more important points for how to perform this role |
| 189 | +effectively. |
| 190 | + |
| 191 | + |
| 192 | +<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."> |
| 193 | + |
| 194 | +When you are early stage, be as specific as possible about what problem |
| 195 | +that you are solving. You are **not** "disrupting transportation by blah |
| 196 | +blah blah". No developer gives a shit. They want to know what problem you |
| 197 | +will solve for them right now. |
| 198 | + |
| 199 | +Be specific, like the "add phone calling to your applications" line so that |
| 200 | +it is absolutely clear what you do. |
| 201 | + |
| 202 | +When your company grows and your brand expands, then you may expand to |
| 203 | +include the general industry your company works in, such as "communications". |
| 204 | +Do not jump the gun in trying to become too grandiose with your ambitions |
| 205 | +because your developer audience cares about what problem you are solving for |
| 206 | +them, not who you imagine yourself to be in your future vision. |
| 207 | + |
| 208 | + |
| 209 | +<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."> |
| 210 | + |
| 211 | +Refine the explanation you use and the demo under two situations. |
| 212 | + |
| 213 | +First, when your products and features expand. Think critically if a new |
| 214 | +feature should be part of your explanation or it can be left as an answer |
| 215 | +to follow up questions that a developer asks you. |
| 216 | + |
| 217 | +Second, developer ecosystems are constantly changing. If you tried to talk |
| 218 | +to me about containers ten years ago and I was not a Solaris sysadmin then |
| 219 | +I would not have any clue what you are talking about. Today, it's generally |
| 220 | +safe to assume most Bay Area developers have a working knowledge of what |
| 221 | +containers are and what they are useful for accomplishing. Use that type of |
| 222 | +context in your pitch to reinforce your technical credibility with your |
| 223 | +developer audience. |
| 224 | + |
| 225 | + |
| 226 | +<img src="/img/180526-explain-product/12-rehearsal.jpg" width="100%" class="shot rnd outl" alt="No demo fails because you rehearse constantly."> |
| 227 | + |
| 228 | +I get asked a lot about live coding because everyone is worried about demo |
| 229 | +fails. You should not demo fail, ever. To steal a line from |
| 230 | +[Rob Spectre](https://github.com/RobSpectre), former head of the Twilio |
| 231 | +Developer Network: |
| 232 | + |
| 233 | +"There is only one demo God, and her name is rehearsal." |
| 234 | + |
| 235 | +You do not just rehearse and practice the happy path, you also practice |
| 236 | +what can go wrong. What happens when you mistype a character in your code? |
| 237 | +Find out and get used to it. If and when it happens during your live demo |
| 238 | +then you can incorporate that mistake into your narrative as a learning |
| 239 | +opportunity for the audience. |
| 240 | + |
| 241 | +Magicians always have "outs" in their acts, essentially plan B, plan C, |
| 242 | +plan Z. You should too because something will always go wrong but if you |
| 243 | +are ready for it and know how to handle it then you will never demo fail. |
| 244 | + |
| 245 | + |
| 246 | +<img src="/img/180526-explain-product/13-your-message-to-devs.jpg" width="100%" class="shot rnd outl" alt="Your message to developers."> |
| 247 | + |
| 248 | +That sums up my strong recommendations for this one small slice of the |
| 249 | +field of developer product adoption. To re-iterate, create a narrative |
| 250 | +for your explanation and demo that follows the classic story arc. The |
| 251 | +earlier you are as a product, the more specific your explanation should |
| 252 | +be in what problem you solve. Refine the message as your features and |
| 253 | +product lines grow, as well as when the industry around you changes. |
| 254 | +Rehearse your demo including what can and will go wrong. |
| 255 | + |
| 256 | +There is a lot more to developer adoption than a good explanation and |
| 257 | +demo, but I see greater than 90% of companies never even get to this |
| 258 | +point so you will be way ahead of the pack if you heed the advice from |
| 259 | +this talk. |
| 260 | + |
| 261 | + |
| 262 | +<img src="/img/180526-explain-product/14-thank-you.jpg" width="100%" class="shot rnd outl" alt="Thank you slide."> |
| 263 | + |
| 264 | +That's all for today. My name is [Matt Makai](/about-author.html), |
| 265 | +I am a software developer at [Twilio](/twilio.html) and the |
| 266 | +author of [Full Stack Python](https://www.fullstackpython.com/). |
| 267 | +Thank you very much. |
| 268 | + |
0 commit comments