Top Banner
version 0.1.0 Developer Experience: Marketing Matters PyTexas 2014 - College Station October 2014 JESSE NOLLER , SR. MANAGER & PRINCIPAL ENGINEER :: DEVELOPER EXPERIENCE RACKSPACE BUY NOW OR YOU ARE NOT GOOD
59

PyTexas 2014

Jun 27, 2015

Download

Engineering

Jesse Noller

PyTexas 2014 Keynote - Developer Experience: Marketing Matter
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PyTexas   2014

version 0.1.0

Developer Experience: Marketing MattersPyTexas 2014 - College Station October 2014

JESSE NOLLER , SR . MANAGER & PRINCIPAL ENGINEER : : DEVELOPER EXPERIENCE — RACKSPACE

BUY NOW OR YOU ARE NOT GOOD

Page 2: PyTexas   2014

version 0.1.0

Developer Experience: Marketing Matters

PyTexas 2014 - College StationSeptember 2014Jesse Noller, Developer Experience — Rackspace

@jessenoller — http://jessenoller.com — [email protected]://developer.rackspace.com

Page 3: PyTexas   2014

“Marketing is the process of communicating the value of a product or service to

customers, for the purpose of selling that product or service.”

Page 4: PyTexas   2014
Page 5: PyTexas   2014

“The process of communicating the value of a product or service to users, for the purpose of selling or engaging a wider community in

the use of that product or service.”

Page 6: PyTexas   2014

… but Jesse, we’re developers…… we’re not selling anything…

Page 7: PyTexas   2014

“engaging a community in the use & contribution to a creation”

Page 8: PyTexas   2014

worse is better

Page 9: PyTexas   2014

so what do you do?

Page 10: PyTexas   2014

Developer Experience (DX)

Page 11: PyTexas   2014

– Pamela Fox

“Developer Experience is the sum of all interactions and events, both positive and

negative, between a developer and a library, tool, or API.

http://www.pamelafox.org/

Page 12: PyTexas   2014

– Kenneth Reitz (made Requests and some stuff)

“** for Humans”

http://www.kennethreitz.org/

Page 13: PyTexas   2014

Why do I care?

• I am a developer: consumer

• I am a developer that does OSS: producer

• I am a weapons dealer: seller

• I am human: short attention span

• I don’t want things that suck, because other people don’t like things that suck and I want to get things done.

Page 14: PyTexas   2014

Why do you care?

• You are a developer: consumer

• You are a developer that does OSS: producer

• You are a weapons dealer: seller

• You are human: short attention span

• You don’t want things that suck, because it slows you down and confuses you and you want to get things done.

Page 15: PyTexas   2014

Bad developer experience (DX) means that people won’t use, contribute, buy, promote or

advocate for you.

Worse, they’ll flame you on twitter.

… Wicked annoying.

Page 16: PyTexas   2014

Bad developer experience means that as soon as you or I smell something that might be

slightly better, we’re gone

Page 17: PyTexas   2014

Good developer experience means that people are happy to use something, they feel

successful and empowered. They become your advocates.

Page 18: PyTexas   2014
Page 19: PyTexas   2014

You hit them in the feels.

Page 20: PyTexas   2014

So what does good DX look like?

Page 21: PyTexas   2014

Do I want to use it?

Does it have the features I need?

Are other people using it?

How do I sign up?

How do I get started?

How do I use it?

How do I get help?

How do I contribute?

Page 22: PyTexas   2014

Do I want to use it?

Page 23: PyTexas   2014

What does it do?

Huh?

What?

Page 24: PyTexas   2014

What does it do?

Page 25: PyTexas   2014

Does it have the features I need?

Page 26: PyTexas   2014

Does it have the features I need?

Page 27: PyTexas   2014

Are other people (or companies) using it?

Page 28: PyTexas   2014

Are other people (or companies) using it?

Page 29: PyTexas   2014

How do I sign up?

Page 30: PyTexas   2014

Not awesome

Page 31: PyTexas   2014

Much Better

Page 32: PyTexas   2014

Best…?

Trickery! (Of the best kind)

Page 33: PyTexas   2014

How do I get started?

Page 34: PyTexas   2014

All the platforms!

Page 35: PyTexas   2014

All the languages!

Page 36: PyTexas   2014

All the languages!

Page 37: PyTexas   2014

MVA: Minimal Viable App

Page 38: PyTexas   2014

How do I use it?

Page 39: PyTexas   2014

Documentation

Page 40: PyTexas   2014

Comprehensive

• Every method, parameter, return value, defaults, implementation notes, errors, side effects, depreciation notes must be covered

• Especially true for the API Reference and Guide(s)

• Input & Output correctness trumps example curl usage when documenting and API.

• You need API guides and Narrative guides.or i will find you.

Page 41: PyTexas   2014

Empathetic

• List known bugs

• If in doubt document it!

• Includes runnable code

• Helpful error messages

• If there are bugs: document them!

Page 42: PyTexas   2014
Page 43: PyTexas   2014

Interactive

• Comments enabled

• Feedback form

• Easy to file a bug

• Easy to engage the product owner

Page 44: PyTexas   2014
Page 45: PyTexas   2014

Easy to find

• SEO optimized

• Ctrl + F efficient

• Web friendly - digital delivery is now the norm

• The dead-tree-book-but-online concept is out of date

• With digital delivery comes constant iteration

Page 46: PyTexas   2014

Do I enjoy using it?

Page 47: PyTexas   2014

Do I enjoy using it?

Page 48: PyTexas   2014

Look at requests et al: put the hard things / uncommon cases “inside” or abstracted away.

Keep the user exposed functions clean, simple and few.

Expose more when users ask but only when it doesn’t violate the simplicity

Keep the API clean

Page 49: PyTexas   2014

Under no circumstances should you not use REST, or standard data interchange format.

e.g. JSON, XML, anything but NIH

Do I enjoy using it?

Page 50: PyTexas   2014

ERROR 129: AN ERROR

DEBUGGING

Page 51: PyTexas   2014

How do I get help?

Page 52: PyTexas   2014

Forums, if they don’t suck*

* Discourse doesn’t suck (http://www.discourse.org/)

Page 53: PyTexas   2014

Async!

• Email / Mailing lists

• Prepare for the bike shed

• Forums (see prev.)

• Bug trackers

• Twitter

• also semi realtime depending on bathroom schedules

Page 54: PyTexas   2014

How do I contribute?

Page 55: PyTexas   2014

Simple to contribute to

• It must be publicly accessible

• Anyone should be empowered to “make a pull request”

• No one should have to learn custom “enterprise” tool chains or your weirdo workflow

• The faster someone can contribute, the more engaged & invested they will be

Page 56: PyTexas   2014

Assume Positive Intent

Page 57: PyTexas   2014

“Developer Experience (DX) involves a developer’s behaviors, attitudes, and

emotions about using a thingie.”

Make them feel like a boss.

Page 58: PyTexas   2014

More to read:

• http://developer-evangelism.com/

• Pamela! - http://www.developer-support-handbook.org/

• Kenneth! - http://www.kennethreitz.org/talks/

• Idan! - http://gazit.me/

Page 59: PyTexas   2014

version 0.1.0

AMA: Ask me anythingPyTexas 2014 - College StationSeptember 2014Jesse Noller, Developer Experience — Rackspace

@jessenoller — http://jessenoller.com — [email protected]://developer.rackspace.com