Stop the Fanaticism!
- Engineering Evangelist at RetailMeNot
- Opinionated Gif-addict
We have a fanaticism problem.
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
"How is [X] like [My Favorite]?"
Their First Question:
Some Other Symptoms of Fanaticism
- Use this tool for all the things!
- ...even things maybe this tool wasn't made for.
- Magic can be great!
- But sometimes you want something different
- Which leaves you fighting the magic
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!
- 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?
- "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
It's not stable
question Developer Status Quo
"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
- Blog Posts
- Conference Talks
- Pull Requests
One last thought...
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.
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
Engineering Evangelist, RetailMeNot
Stop The Fanatcism