Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Liberal Arts Programmer

David Laribee
November 18, 2015

The Liberal Arts Programmer

“The People Problem” presents new and foreign challenges. There’s nothing quite like working with others on real products to transform egocentric practice into empathic pragmatism. My search for a new bag of tricks led me back to my earlier studies in the humanities. Suddenly my liberal arts education -- formerly regarded as tangential even if interesting -- felt applicable to more than cocktail party conversation.

In this talk we take a look at disciplines outside the purview of software development with an eye for how borrowed ideas can yield not only inspiration and analogy, but real innovations and breakthroughs. I’ll share examples from fine art, psychology, history and literature: examples that influence my approach and the work of others.

David Laribee

November 18, 2015
Tweet

More Decks by David Laribee

Other Decks in Technology

Transcript

  1. @laribee #libartsprog © 2015 Nerd/Noir, LLC. (REFERENCE THIS TALK AND

    @BUILDSTUFFLT) HI. I’M DAVE. (TWEET AT ME!) Dave Laribee Full Stack Coach XP’ + Design Thinking Startups to Fortune 50 Former VersionOne ALT.NET O.G.
  2. @laribee #libartsprog © 2015 Nerd/Noir, LLC. There are 8 million

    stories in the naked city… these are a few ours.
  3. @laribee #fullstacktdd © 2015 Nerd/Noir, LLC. per·i·pa·tet·ic ˌperēpəˈtedik/ adjective 1.

    Traveling from place to place, especially working or based in various places for relatively short periods. 2. Aristotelian.
  4. @laribee #libartsprog © 2015 Nerd/Noir, LLC. “Writers who never get

    blocked, tired, or drunk.” l)VNBOT"SF6OEFSSBUFEz$PMWJO (FPGG
  5. @laribee #fullstacktdd © 2015 Nerd/Noir, LLC. “Lateral thinking is solving

    problems through an indirect and creative approach, using reasoning that is not immediately obvious and involving ideas that may not be obtainable by using only traditional step-by-step logic.” -BUFSBM5IJOLJOH
  6. @laribee #fullstacktdd © 2015 Nerd/Noir, LLC. Doing more and more

    with less and less until eventually you can do everything with nothing. EPHEMERALIZATION IUUQTFOXJLJQFEJBPSHXJLJ&QIFNFSBMJ[BUJPO
  7. @laribee #fullstacktdd © 2015 Nerd/Noir, LLC. Not Rocket Science. This

    isn’t rocket science. The basic idea is very simple. You separate the UI from the business rules by passing simple data structures between the two. You don’t let your controllers know anything about the business rules. Instead, the controllers unpack the HttpRequest object into a simple vanilla data structure, and then pass that data structure to an interactor object that implements the use case by invoking business objects. The interactor then gathers the response data into another vanilla data structure and passes it back to the UI. The views do not know about the business objects. They just look in that data structure and present the response. There are, of course, more details than that; and they are well described in the references above. But at the bottom, that’s all there is to it. 6ODMF#PC.BSUJOl$MFBO"SDIJUFDUVSFz
  8. Code : Product :: Developer : User A codebase is

    a user experience. Users of codebases are called developers.
  9. Gestalt noun, /ɡəˈSHtält,-ˈSHtôlt/” 1. a configuration, pattern, or organized field

    having specific properties that cannot be derived from the summation of its component parts; a unified whole. 2. an instance of example of such a unified whole. IUUQTFOXJLJQFEJBPSHXJLJ(FTUBMU@QTZDIPMPHZ