Stop the Fanaticism!

About Me

  • 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 Ember Guy
  • The User Group Aficionado
  • The JSConf Talk

We are arbitrarily preventing ourselves from writing the best software.

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.

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

Library "Magic"

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

"Opinionated"

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.

A note on Language Fanaticism

  • To the coffeescript haters
  • To the class/inheritance haters
  • To the kids 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

Avoid 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.

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'
  • Freaking ACT ON IT.

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.

Thanks for listening

Kassandra Perch

@nodebotanist

Engineering Evangelist, RetailMeNot

Made with Slides.com