Breathing Data, Competing on Code

  • 565 views
Uploaded on

Slides from t

Slides from t

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
565
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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.

Transcript

  • 1. Breathing Data, Competingon Code ^mostly this Venkatesh Rao ribbonfarm.com vgr@ribbonfarm.com February 22, 2012
  • 2. competing on coders
  • 3. band-aid
  • 4. people over process
  • 5. software is eating everything -- Marc Andreessenevery company is now a software company -- David Kirkpatrick
  • 6. most software is crap
  • 7. Release! Expand Refactor, lower Feature Set, entropy, pay offincrease entropy technical debt Version n Version n+1
  • 8. 99%1%
  • 9. software is eating everything
  • 10. #OccupySoftware!
  • 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. technical debt is growing fasterworldwide than it is being paid off
  • 13. Everyone knows that debugging is twice ashard as writing a program in the first place. -- Brian Kernighan
  • 14. Action Item #1 listen to this talk by Alan Kay immediately http://tele-task.de/archive/lecture/overview/5819/
  • 15. people over processthis principle is notgenerally wise outside ofsoftware engineering
  • 16. one size does not fit all
  • 17. enlightened governance with awise policy of exceptions andcustomization of processes tospecific situations
  • 18. rational governance with a wisepolicy of exception managementand customization of processesto specific situations principles of forgiveness
  • 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. 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.http://en.wikipedia.org/wiki/Work-to-rule
  • 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. governanceculturenarrative | archetypes
  • 23. what you forgive depends onwhere you are in the story
  • 24. Gustav Freytag, 1863
  • 25. Venkatesh Rao, 2011
  • 26. good judgment emerges from a richsense of narrative situation awareness,not formulaic applications of narrativestructure theory
  • 27. narrative | archetypes
  • 28. what you forgive depends onwho you are dealing with
  • 29. tinker, tailor soldier, sailorrichman, poorman, beggarman, thief after software eats everything hacker, hustler, coder, admin moneyman, dataman, uxman, thief
  • 30. the best guide to software archetypes canbe found within software culture itself
  • 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. dwarves seek beauty don’t force them to do ugly
  • 33. a good wizard makes you feelin charge a good wizard-wrangler realizes he is not
  • 34. ninjas understand your ideasbetter than you do defer to their judgment
  • 35. samurai prize honor and loyalty never stop fighting for them
  • 36. elves understand magical realitiesthat are invisible to you do not disturb
  • 37. the exceptional nature of softwareculture arises from the fact that softwareengineers build their own toolssoftware culture is guild-like
  • 38. Action Item #2 read this book immediately http://tempobook.com
  • 39. // end flattery and pandering// begin evil manipulation
  • 40. data
  • 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. the turpentine effect
  • 43. form and structure and meaning
  • 44. Action Item #3 read this book immediately
  • 45. “ThinSimplification”
  • 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. great programmers form asubculture based on mētis respect it
  • 48. but not too much
  • 49. self-congratulation is not strategy mētis insularity complacency
  • 50. ...organizations which design systems... are constrained to produce designswhich are copies of the communicationstructures of these organizations. -- Melvin Conway, 1968
  • 51. structure follows strategy -- Alfred Chandler, 1962
  • 52. when software eats everythingand every company is a softwarecompany strategy follows data
  • 53. managing mētis meansmastering data
  • 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. #1 http://tele-task.de/archive/lecture/overview/5819/#2 #3