Skip to content

Instantly share code, notes, and snippets.

@queertypes
Created April 15, 2014 17:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save queertypes/10750143 to your computer and use it in GitHub Desktop.
Save queertypes/10750143 to your computer and use it in GitHub Desktop.
Positive Advocacy for Functional Programming
Pre-reqs: an open mind
# Core message
We're here because we're passionate about functional programming: Clojure, Haskell, Erlang, Scala, F#, Idris, and others. We've seen the benefits, we know why it works, and we want to spread what we've learned. I'm proposing to speak about how to advocate for functional programming while respecting the human element. By the end of this talk, I aim to share with you:
1. Why the human aspect is important to consider
2. Advocacy anti-patterns: awareness and improving communication
3. How to share what you love with positivity in mind
This talk targets advocacy on the group/individual level more than uptake in enterprise settings. However, much of the content remains applicable in that context.
# Structure
* Introduction (3 minutes)
* * Who I am
* * Why healthy advocacy matters
* On Being Human (5 minutes)
* * Cognitive biases
* * Need for security
* * Risk versus benefit judgments
* * Inclination towards familiarity
* Advocacy Anti-Patterns with Alternatives (10 minutes)
* * Dismiss value of existing approaches/tools (don't do Java, because Java...)
* * Dismiss listener's excitement (Why on earth would you ever love node.js?!)
* * Dismiss misconceptions (Haskell is useless because it is pure --> but you're wrong)
* * Overselling (Haskell with solve ALL your problems, and it's easy)
* * Fail to provide context (A Monad is just a monoid in the category of endofunctors)
* * Place yourself above your listener (with 2 years of type theory, I *know* better than you what's correct)
* * Address the logic w/o addressing the human (benchmarks and studies show that Idris makes you 10x more productive...)
* Human-aware advocacy: Sharing with LOVES: (8 minutes)
* * Learning-focused: where does this idea come from? where can it take me?
* * Openness: what does my listener care about? what
* * Valuable: what value am I proposing? how does it help?
* * Engaging: what am I enabling by sharing this? why does it matter?
* * Story-driven: what happens next? what does the end look like? what's exciting?
* Concluding remarks (2 minutes)
* * We're not perfect; we're human, too
* * We get defensive; positive advocacy isn't easy
* * Honesty: share what you know as well as what you don't
* * Fill in the gaps together for a more functional world
* Q & A [rest]
# References
* Daniel Kahneman. Thinking, Fast and Slow. 2013.
* Andy Hunt. Pragmatic Thinking. 2008.
# Other
So this isn't my voice alone, I intend to gather the experience of others with regards to advocating functional programming.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment