Professional Documents
Culture Documents
of software development
Jonathan Dahl
http://tumblon.com (work)
http://zencoder.tv (product)
http://railspikes.com (blog)
Or: what does Athens have to
do with Silicon Valley?
Jonathan Dahl
http://tumblon.com (work)
http://zencoder.tv (product)
http://railspikes.com (blog)
Athens Silicon Valley
Ethics.
G
PG
PG-13
R
Ethics.
What makes a good programmer?
What makes a good programmer?
What makes a good programmer?
Anatomy of an action
Act - Effect
Actor
Deontology (Kant)
Act - Effect
Actor
Utilitarianism (Mill)
Act - Effect
Actor
Virtue (Aristotle)
Act - Effect
Actor
Immanuel Kant
Königsberg
deontology
duty
Principles
Categorical Imperative
test:
adapter: mysql
encoding: utf8
database: app_test
username: root
password:
production:
adapter: mysql
encoding: utf8
database: app_production
username: user
password: password
standard:
adapter: mysql
encoding: utf8
local:
username: root
password:
development:
<<: *standard
<<: *local
database: app_development
test:
<<: *standard
<<: *local
database: app_test
production:
<<: *standard
database: app_production
username: user
password: password
<% local_password = "" -%>
<% local_user = "root" -%>
<% [{:name => "development", :user => local_user, :password => local_password},
{:name => "test", :user => local_user, :password => local_password},
{:name => "production", :user => "user", :password => "password"}
].each do |environment| -%>
<%= environment[:name] %>
adapter: mysql
encoding: utf8
database: app_<%= environment[:name] %>
username: <%= environment[:user] %>
password: <%= environment[:password] %>
<% end -%>
John Stuart Mill
John Stuart Mill
Opposed slavery
Favored women’s suffrage
Free markets
(...with proper regulation)
Animal rights
Environmentalism
John Stuart Mill
Opposed slavery
Favored women’s suffrage
Free markets
(...with proper regulation)
Animal rights
Environmentalism
Eudemonia (happiness)
eu: good
daimon: spirit
:ethics == : “a life well lived” == :happiness == :virtue
:ethics == : “a life well lived” == :happiness == :virtue
Courage
Temperance
Pride
Generosity
Good temper
Truthfulness
Wit
Friendliness
Modesty
Righteous
Indignation
Excess (too much) Virtue (just right) Defect (too little)
Rashness Courage Cowardice
Temperance
Pride
Generosity
Good temper
Truthfulness
Wit
Friendliness
Modesty
Righteous
Indignation
Excess (too much) Virtue (just right) Defect (too little)
Rashness Courage Cowardice
Indulgence Temperance Insensibility
Vanity Pride Lack of ambition
Prodigality Generosity Illiberality
Irascability Good temper Lack of spirit
Boastfulness Truthfulness False Modesty
Buffoonery Wit Boorishness
Obsequiousness Friendliness Cantankerousness
Shyness Modesty Shamelessness
Righteous
Envy Spitefulness
Indignation
practical wisdom
bootstrapping
modeling
Habits vs. Rules
Judgment vs. Ends
Habits vs. Rules
Judgment vs. Ends
Empower
programmers
Self-effacing
Pleasant to write
Happy and virtuous
virtues, not rules
virtues, not rules
moderation, not excess
virtues, not rules
moderation, not excess
judgment, not process
virtues, not rules
moderation, not excess
judgment, not process
whole of life
virtues, not rules
moderation, not excess
judgment, not process
whole of life
happiness
Thanks!
Slides at:
http://railspikes.com