Philosophical Solutions to Agile Engineering with Topher Bullock


Published on

Can Socrates teach you how to pair program? Do the methodologies of the German Idealism movement help solve complex engineering tasks? Could reading works by dead Frenchman with immaculate facial hair really help you be a better programmer?

Part introduction to the philosophical tradition, part primer on engineering practice, this talk will present big philosophical ideas as common sense solutions to the daily tasks of Agile Engineers.

Published in: Spiritual, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Philosophical Solutions to Agile Engineering with Topher Bullock

  1. 1. Applying Philosophy toEngineeringTopher how two seemingly different things you lovemight complement each other in interesting anduseful ways )
  2. 2. Slavoj Zizek"First As Tragedy, Then As Farce" (2009)." When we are dealing with a trulygreat philosopher the real question tobe raised concerns not what thisphilosopher may still tell us, what hemay still mean to us, but rather theopposite, namely, what we are, whatour contemporary situation might be, inhis eyes, how our epoch would appearto his thought. "
  3. 3. " The Dialectic of the new and the old. "" Analyze today through thelenses of the past."
  4. 4. About- Agile Engineer @ Xtreme Labs- Work on Mobile Web / Hybrid products- UWO/Fanshawe Media Theory & Production grad.
  5. 5. To become the leading provider of mobilesolutions to the worlds most importantcompanies as we help drive a revolution incomputing.Xtreme Labs : Mission
  6. 6. Pair Programming
  7. 7. ``
  8. 8. ``Logic : William of Occam
  9. 9. ¬( Q AND P ) ⇔ ( ¬Q OR ¬P )De Morgans laws!( Q && P ) ⇔ ( !Q || !P)If ConditionQ and ConditonP are notsimultaneously true.It can be inferred that:Either ConditionQ is not true orConditionP is not true.
  10. 10. If the blog post is not both saved andvalid.It can be inferred that:Either the post is invalid or it hasntbeen saved.
  11. 11. Occams Razor" entities must not be multiplied beyondnecessity "- Synthesis of Occams insights on Logic- Often (intentionally) over-simplified
  12. 12. " A difficult-to-believe, but optimized internaldispatch function for triggering events. Triesto keep the usual cases speedy (most internalBackbone events have 3 arguments). "
  13. 13. DONE!
  14. 14. Code Epistemology : Plato
  15. 15. grok ( pron :: /ɡrɒk/ )" to understand profoundly andintuitively "" to intimately and completely sharethe same reality or line of thinkingwith another physical or conceptualentity"
  16. 16. Design PatternsCreationalStructuralBehavioral" a general reusable solution to acommonly occurring problemwithin a given context "
  17. 17. Mediator Pattern" encapsulates how a set of objectsinteract. promotes loose coupling bykeeping objects from referring to eachother explicitly "
  18. 18. World of Forms
  19. 19. V8 : Hidden Classes
  20. 20. V8 : Hidden Classes
  21. 21. Observability" Creators need to be able to seewhat theyre doing "Bret Victor - Inventing on Principle
  22. 22. Debugging Ontology : Hume & Kant
  23. 23. David Hume
  24. 24. When events of one kind are immediatelyfollowed by events of another kind.Where, if there had been no object of the firstkind, we would never have seen an object ofthe second kind.Accounting for Causation
  25. 25. When an event or output is dependant on thesequence or timing of other uncontrollableevents.Race Conditions
  26. 26. Immanuel Kant
  27. 27. proposition whose justification does not relyupon experience; can be validated byexperience, but is not grounded in it.proposition whose justification relies onexperience; validated by, and grounded in,experience.a prioria posteriori
  28. 28. " All bachelors are unmarried "" 7 + 5 = 12"a priori
  29. 29. " All bachelors are unhappy."" Cats exist."a posteriori" Adding arrays gives you a string"" Feature X doesnt work on iPad but worksin IE8"
  30. 30. " Being wrong doesnt feel like anything. "
  31. 31. Confirmation Biasa tendency of people to favorinformation that confirms theirbeliefs or hypotheses
  32. 32. Agile Engineers as Authors
  33. 33. " Once the Author is gone, the claim to decipher a text becomes quiteuseless. "" To give an Author to a text is toimpose upon that text a stop clause, tofurnish it with a final signification "Roland Barthes"The Death of The Author" (1967).