Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Better Living Through Open Source
Search
Coraline Ada Ehmke
June 13, 2013
Programming
200
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Better Living Through Open Source
How can we improve as developers while living our values?
Coraline Ada Ehmke
June 13, 2013
More Decks by Coraline Ada Ehmke
See All by Coraline Ada Ehmke
Scaling the Artisan
bantik
0
200
Your First Legacy Codebase
bantik
1
480
Alchemy and the Art of Software Development
bantik
0
390
Artisans and Apprentices
bantik
1
590
Lightweight BI with Ruby, Rails, and MongoDB
bantik
6
2.8k
Smash the Monolith: Refactoring Rails Apps with Services and APIs
bantik
8
1.2k
Lightweight Business Intelligence in Ruby
bantik
3
1.2k
Beautiful APIs with Faceted
bantik
3
390
Other Decks in Programming
See All in Programming
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
180
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
2
200
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
130
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
230
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
ActionController meets Protocol Buffers
sorah
1
780
Event is what happens
moro
2
3.4k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
400
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
320
AmebaブログはKMPから卒業します
kmars0605
0
310
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
870
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
210k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
500
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
So, you think you're a good person
axbom
PRO
2
2.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Chasing Engaging Ingredients in Design
codingconduct
0
390
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
A Tale of Four Properties
chriscoyier
163
24k
Transcript
Better Living Through Open Source Corey Ehmke June 2013
Who am I?
A developer with a long memory. (And a longer history.)
An active Open Source contributor.
A lead developer at Apartments.com.
A lifelong learner.
One day I asked myself...
What matters most to me as a developer? “ ”
#1 Getting better at what I do.
Building cool and useful stuff. #2
Finding learning & teaching moments. #3
Practicing good citizenship. #4
Then I asked myself...
“That’s great, but how do you actually practice these values?”
Hmm. Good question, self. Let’s see.
#1
#1 Getting better at what I do.
Studies have shown* that getting better at what you do
involves three kinds of “stuff”.
Studies have shown* that getting better at what you do
involves three kinds of “stuff”. * I totally made this up actually.
The Three Kinds of Stuff
The Three Kinds of Stuff Stuff I've Done
Stuff I Do Every Day The Three Kinds of Stuff
Stuff I've Done
Stuff I Do Every Day The Three Kinds of Stuff
Stuff I've Done Stuff I Want to Do
Stuff you’ve done is the problem-solving vocabulary you have to
work with.
Stuff you do every day reinforces that vocabulary.
Stuff you’re interested in motivates you to expand your vocabulary.
So getting better at what you do requires both practice
and making time for things that interest you.
Interlude #1: Advice from an English Major
I used to read a lot of crap.
I used to read a lot of crap.
I used to read a lot of crap.
I used to read a lot of crap.
In school I practiced reading more crap.
In school I practiced reading more crap.
In school I practiced reading more crap.
In school I practiced reading more crap.
Then I discovered books that hurt my brain. (In a
good way.)
Then I discovered books that hurt my brain. (In a
good way.)
Then I discovered books that hurt my brain. (In a
good way.)
Then I discovered books that hurt my brain. (In a
good way.)
Reading these books expanded my mental vocabulary.
Reading code can have the same effect...
...but only if it’s really good code.
Open Source gives you access to the best code ever
written.
None
Welcome to the library.
Welcome to the library.
#2
#2 Building cool and useful stuff.
If you’re lucky, your work involves creating and delivering useful
stuff.
Most of it will be good. Some of it will
be great. (And some of it will come back to haunt you.)
Business software has a finite number of users & stakeholders.
Fewer stakeholders means that fewer voices shape the solution.
Edge cases and client-specific code will eventually outweigh core functionality.
In short, closed-source code loses focus over time.
In open source software, users == stakeholders.
Open source code gains focus and utility over time. (Until
it stops being useful, at which point something quickly comes along to replace it.)
Open sourcing your cool and useful stuff makes it cooler
and even more useful.
#3
#3 Finding learning & teaching moments.
Seer: My First Gem
Simple, declarative DSL for graphing in RoR.
Elegant design, clean code, plenty of tests, & even a
sample project.
At the time, my best work to date.
None
None
My beautiful code was... not perfect.
My test suite sucked.
But the design was good and communicated intent.
The open source community took what I designed and ran
with it.
Humbling and encouraging.
None
`
#4
#4 Practicing good citizenship.
I faced a challenge.
I found a solution.
Other people may have the same challenge.
I should share the solution.
Open source software is the new commons.
If it weren’t for open source, most of us would
not have the jobs we do.
None
Don’t be that guy.
Contributing Effectively
Be a fixer. DO
Be a scribe. DO
DO Take bite-sized pieces.
DO Get the maintainers familiar with your name.
DON’T Change too much at once.
DON’T Overcommit or over commit.
DON’T Be a jerk.
DON’T Be anonymous.
Getting Started
None
None
None
Questions?
Corey Ehmke bantik.github.com @Bantik