Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Breathing Data, Competing on Code


Published on

Slides from t

Published in: Technology
  • Be the first to comment

Breathing Data, Competing on Code

  1. 1. Breathing Data, Competingon Code ^mostly this Venkatesh Rao February 22, 2012
  2. 2. competing on coders
  3. 3. band-aid
  4. 4. people over process
  5. 5. software is eating everything -- Marc Andreessenevery company is now a software company -- David Kirkpatrick
  6. 6. most software is crap
  7. 7. Release! Expand Refactor, lower Feature Set, entropy, pay offincrease entropy technical debt Version n Version n+1
  8. 8. 99%1%
  9. 9. software is eating everything
  10. 10. #OccupySoftware!
  11. 11. Software is eating the world and every industry is beingdissolved, disaggregated, disrupted and de-engineered inan acid rain downpour of Big Data and Free Agencycoming down from CLOUDS that are forming via DATAevaporation from a world that is an ocean of sensors, and Windows PhoneiPhone and Android apps and untamed social streams of ^Facebook life, and when the Internet of Things happensand it is all connected up into a single giant softwareapplication a Chinese virus will mutate into a self-improving AI and the Internet will become SENTIENT andTAKE OVER ALL THE DRONES the whole pile of crap willcollapse under its own weight and KILL US ALL.
  12. 12. technical debt is growing fasterworldwide than it is being paid off
  13. 13. Everyone knows that debugging is twice ashard as writing a program in the first place. -- Brian Kernighan
  14. 14. Action Item #1 listen to this talk by Alan Kay immediately
  15. 15. people over processthis principle is notgenerally wise outside ofsoftware engineering
  16. 16. one size does not fit all
  17. 17. enlightened governance with awise policy of exceptions andcustomization of processes tospecific situations
  18. 18. rational governance with a wisepolicy of exception managementand customization of processesto specific situations principles of forgiveness
  19. 19. great engineers ask for forgiveness,not permission This is a meaningless bromide if you always forgive or never forgive principles of forgiveness are about when you forgive if you get them wrong something far worse than rule-breaking will happen
  20. 20. perfect rule followingWork-to-rule: an industrial action in which employees do no more thanthe minimum required by the rules of their contract, and follow safetyor other regulations to the letter to cause a slowdown rather than toserve their purpose.
  21. 21. sprint tempo burndown chartsdaily standups code commentingtest-driven forking normsdevelopment working code over who decides when it is okay tousability testing documentationstandrds communication norms break which rules and why?version control dflss certificationsretrospectives code reviewuser story semantics meeting ritualsstory points tracking patent applicationsrequirements open source policiespair programming spiral development
  22. 22. governanceculturenarrative | archetypes
  23. 23. what you forgive depends onwhere you are in the story
  24. 24. Gustav Freytag, 1863
  25. 25. Venkatesh Rao, 2011
  26. 26. good judgment emerges from a richsense of narrative situation awareness,not formulaic applications of narrativestructure theory
  27. 27. narrative | archetypes
  28. 28. what you forgive depends onwho you are dealing with
  29. 29. tinker, tailor soldier, sailorrichman, poorman, beggarman, thief after software eats everything hacker, hustler, coder, admin moneyman, dataman, uxman, thief
  30. 30. the best guide to software archetypes canbe found within software culture itself
  31. 31. Contemporary culture is a two-tiered system, like theMorlocks and the Eloi in H.G. Wellss The TimeMachine, except that its been turned upside down. InThe Time Machine the Eloi were an effete upper class,supported by lots of subterranean Morlocks who kept thetechnological wheels turning. But in our world its theother way round. The Morlocks are in the minority, andthey are running the show, because they understandhow everything works.-- Neal Stephenson, In the Beginning was the Command Line
  32. 32. dwarves seek beauty don’t force them to do ugly
  33. 33. a good wizard makes you feelin charge a good wizard-wrangler realizes he is not
  34. 34. ninjas understand your ideasbetter than you do defer to their judgment
  35. 35. samurai prize honor and loyalty never stop fighting for them
  36. 36. elves understand magical realitiesthat are invisible to you do not disturb
  37. 37. the exceptional nature of softwareculture arises from the fact that softwareengineers build their own toolssoftware culture is guild-like
  38. 38. Action Item #2 read this book immediately
  39. 39. // end flattery and pandering// begin evil manipulation
  40. 40. data
  41. 41. When art critics get together they talkabout form and structure andmeaning. When artists get togetherthey talk about where you can buycheap turpentine. -Pablo Picasso
  42. 42. the turpentine effect
  43. 43. form and structure and meaning
  44. 44. Action Item #3 read this book immediately
  45. 45. “ThinSimplification”
  46. 46. the kind of knowledge required in suchendeavors is not deductive knowledgefrom first principles but…mētis…the kindof knowledge that can be acquired onlyby long practice at similar but notidentical tasks -- James Scott, Seeing Like a State
  47. 47. great programmers form asubculture based on mētis respect it
  48. 48. but not too much
  49. 49. self-congratulation is not strategy mētis insularity complacency
  50. 50. ...organizations which design systems... are constrained to produce designswhich are copies of the communicationstructures of these organizations. -- Melvin Conway, 1968
  51. 51. structure follows strategy -- Alfred Chandler, 1962
  52. 52. when software eats everythingand every company is a softwarecompany strategy follows data
  53. 53. managing mētis meansmastering data
  54. 54. breathing data makes better strategybetter strategy makes better structurebetter structure means richer mētisricher mētis means better codebetter code means better companybetter company lets you eat rather than be eaten
  55. 55. #1 #3