Stop the Fanaticism!

NordicJS

September 2014

About Me

  • @nodebotanist
  • Engineering Evangelist at RetailMeNot
  • Javascript developer (full-stack, robots)
  • Austinite
  • Opinionated Gif-addict

We have a fanaticism problem.

We're
Alienating
Developers.

Just a few examples.

  • The Flight Talk/The Framework Guy
  • The User Group Aficionado
  • The JSConf Talk

We are arbitrarily preventing ourselves from writing the best software.

Passion != Fanaticism

Fanaticism Symptoms

Twitter Arguments

Dismissive Behavior

Blanket/Universal Statements

"How is [X] like [My Favorite]?"

Their First Question:

Some Other Symptoms of Fanaticism

Nail-hammer syndrome

  • Use this tool for all the things!
  • ...even things maybe this tool wasn't made for.

Library "Magic"

  • Magic can be great!
  • But sometimes you want something different
  • Which leaves you fighting the magic

"Opinionated"

(a.k.a. smug!)

 

The funny thing is, I have opinions, too. And the more opinions a library or framework has, the less likely they'll match up with mine.

Pitfalls of Fanaticism

Steep learning curves

  • We build monolithic frameworks and libraries
  • Time to First Hello World
  • Leaving new devs in the dark!

Complete Dependence

  • We buy in to the steep learning curve
  • Learn how to do everything one way
  • Maintainer disappears in a puff of Go-colored smoke

You just look like a Yutz.

A note on Language Fanaticism

  • To the coffeescript haters
  • To the class/inheritance haters
  • To the folks crying "Java!"

But how do we fix it?

Ask Yourself Questions

How is [x] like [my favorite]?

How is [x] going to make development easier/Better/Faster?

Other questions

  • "Am I fully utilizing this?"
  • "What are my pain points? Is this tool causing them?"
  • "Does this tool work well with my other choices?"

New and shiny
Vs
It's not stable

question Developer Status Quo

Try
New
Things

"But Kas, are you seriously saying I should

Never ever use a Framework?"

Use frameworks. But Be judicious.

"Is this framework helping, or giving me a gilded cage?"

How to live with your choices as a team

Write The API you need first

  • What calls do you want?
  • Do you want promises, coffeescript, whatever?
  • Use this as a measuring tool

Abstraction Layers don't suck

  • That API you wrote? Use it!
  • If you need to change tools, change the connection
  • Use when in doubt about stability.

Build a proof of concept

  • Don't Just "Hello World" it.
  • What are the pain points in your project? Test those!
  • Build it with your team
  • Worst case- you learned something.

Be Passionate, But not fanatic

  • Issue Reports
  • Documentation
  • Blog Posts
  • Conference Talks
  • Pull Requests

One last thought...

Hiring Fanaticism

This problem is easily more pervasive, and more of a problem, than any other kind of fanaticism

56% of women leave tech before the end of their career

 

Marginalized groups continue to face serious issues breaking into, and staying in, tech.

 

Just about every conference I see another person from a marginalized group insulted publicly, with very few real apologies.

THings you can do:

  • Learn About Privilege
  • Go watch CJ Silverio's 'No More Unicorns'
  • Re-watch Caroline's talk, too!
  • Freaking ACT ON IT.

Your work culture should not reflect your personal culture.

Hire
Someone
Different

From

You.

Surprise! None of us know what we're doing.

So Let's learn from each other, instead of proclaiming how right we are.

Because Developer Happiness is Contagious

Thanks for listening

Kassandra Perch

@nodebotanist

kassandra@kassandraperch.com

Engineering Evangelist, RetailMeNot

Made with Slides.com