Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Better Living Through Open Source
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Coraline Ada Ehmke
June 13, 2013
Programming
170
2
Share
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
170
Your First Legacy Codebase
bantik
1
450
Alchemy and the Art of Software Development
bantik
0
380
Artisans and Apprentices
bantik
1
520
Lightweight BI with Ruby, Rails, and MongoDB
bantik
6
2.7k
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
380
Other Decks in Programming
See All in Programming
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
310
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
870
Java 21/25 Virtual Threads 소개
debop
0
340
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.3k
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
iOS機能開発のAI環境と起きた変化
ryunakayama
0
170
AIエージェントで業務改善してみた
taku271
0
500
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
5
2.5k
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
310
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
990
Featured
See All Featured
Designing for Performance
lara
611
70k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
510
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
The Invisible Side of Design
smashingmag
302
51k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
330
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
220
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
760
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
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