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

The Care and Feeding of Software

The Care and Feeding of Software

A keynote I gave for Telefonica's Developer Conference "Devcon1"..

The general idea was good software design and concepts.

Brendan McAdams

November 27, 2012
Tweet

More Decks by Brendan McAdams

Other Decks in Technology

Transcript

  1. Open Source Scales 0 25,000 50,000 75,000 100,000 125,000 150,000

    May ‘10 Jul ‘10 Sep ‘10 Nov ‘10 Jan ‘11 Mar ‘11 May ‘11 Jul ‘11 Sep ‘11 Nov ‘11 Jan ‘12 Mar ‘12 Wednesday, November 28, 12
  2. "In short, software is eating the world." - Marc Andreesen

    Wall Street Journal, Aug. 2011 http://on.wsj.com/XLwnmo Wednesday, November 28, 12
  3. Software is Eating the World • Amazon.com (and .uk, .es,

    etc) started as a bookstore • Today, they sell just about everything - bicycles, appliances, computers, TVs, etc. • In some cities in America, they even do home grocery delivery • No longer as much of a physical goods company - becoming fixated and surrounded by software • Pioneering the eBook revolution with Kindle • EC2 is running a huge percentage of the public internet Wednesday, November 28, 12
  4. Software is Eating the World • Netflix started as a

    company to deliver DVDs to the home... Wednesday, November 28, 12
  5. Software is Eating the World • Netflix started as a

    company to deliver DVDs to the home... • But as they’ve grown, business has shifted to an online streaming service • They are now rolling out rapidly in many countries including Ireland, the UK, Canada and the Nordics • No need for physical inventory or postal distribution ... just servers and digital copies Wednesday, November 28, 12
  6. But What Does All This Software Do? • Software always

    eats data – be it text files, user form input, emails, etc • All things that eat, must eventually excrete... Wednesday, November 28, 12
  7. Ingestion = Excretion = Cows, er... well, you get the

    point. Wednesday, November 28, 12
  8. So What Does Software Eat? • Software always eats data

    – be it text files, user form input, emails, etc • But what does software excrete? • More Data, of course... • This data gets bigger and bigger • The solutions become narrower for storing & processing this data • Data Fertilizes Software, in an endless cycle... Wednesday, November 28, 12
  9. Feed & Cultivate Your Software • If we think of

    Software & Data this way, cultivation, care & feeding become crucial • The way we cultivate good software and data? • Good Practices • Good Skills • Hard Work Wednesday, November 28, 12
  10. Don’t Tilt At Windmills... • It is easy to get

    distracted in today’s environment • Keep it simple • Use tools you (and your team) can understand • Use tools and techniques that can scale • Try not to reinvent the wheel Wednesday, November 28, 12
  11. ... And Definitely Don’t Bite Off More Than You Can

    Chew • Break work into smaller pieces • You can’t fit a whole pig into your mouth... • ... slice it into small parts that you can consume. Wednesday, November 28, 12
  12. Would You Go To a Doctor Who Doesn’t Learn New

    Things? Wednesday, November 28, 12
  13. • 15 years as a developer taught me this: “Tests

    seem like a really good idea... I’m tired of fixing my broken crap in production” for (i <- 1 to ∞) println(“Tests. Matter.”) Eating Your Own Dog Food Wednesday, November 28, 12