Breathing Data, Competing on Code


Published on

Slides from t

Published in: Technology
  • Be the first to comment

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

No notes for slide
  • Scale: how America competed on precision and interchangeability in manufacturing in the late 1800s. Created a new kind of industrial worker and a new kind of ingenious designer-entrepreneur. Colt, Singer, Eli Whitney are some of the famous names from that era. It reached a peak with Taylor in 1919. It created a class hierarchy: between interchangeable and non-interchangeable workers. Craftsmen turned into Design Engineers and Technicians.
  • Homeless person looking for CTO phenomenon. There are interchangeable and non-interchangeable programmers.
  • Put a pin in this thought that everybody provides lip service to.
  • Similar quotes: quash one bug, two new ones are created. Reading code is harder than writing code.
  • In manufacturing, if a process isn’t being hacked and improvised constantly, it will actually not work at all. Same holds in s/w but 10x more.
  • It comes down to culture being about 10x more importance than governance, and I am only going to talk about a small part of culture today: narrative and archetypes.
  • Every age has its archetypes of work. This one is apparently
  • Artists are process improvement mavens, not process bureaucrats. Which means they often don’t care about their subject. If an artist finds no subject, he will paint his cup of brushes or turpentine bottle.
  • Torvalds: Git, Knuth: TeX, Ritchie/Thompson: Unix/C, Joel Spolsky,
  • What are we building FOR? How should it be structured in relation to what it deals with? What does the stuff it processes MEAN? Many s/w development philosophies assume that software is being built for the stated purpose in whatever management scheme you use. NO, software engineering is like a forest that can yield solutions to your goals as one of the outcomes, but there is a good chance it will be a minor outcome. This is like a machine tool where every machined part results in the machine retooling itself to be better.
  • If you are managing a development effort to produce a spreadsheet say, and you assume that the jungle of code and programmers is there just to serve that one purpose, you are going to destroy things. It will produce that spreadsheet, but don’t make it do so too efficiently. It also does other things you may not be aware of. Explore new programming models, produce new patterns and tools.
  • 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