September 11, 2013 (Dan’s Table)

When do you prefer to test?

  • TDD
  • Testing used to be an entry level position
  • Testing has become a senior level activity
  • Testing increases the understanding of the code
  • Every bug in the code will eventually be found.  You want a tester or a test to find it rather than a customer.
  • Tiny little testable steps
  • Focu work on a small unit
  • Always move forward
  • Deliver features vs Deliver Quality
  • You get what you measure.

Learning to talk while programming

  • How do you learn to communicate
  • Pair programming is experiental.  People get frustrated if it doesn’t pay off immediately.  (much like riding a bike)
  • Can you pair with somebody you don’t like?
  • “Code buddy”
  • Must self-select your code buddy
  • Conflicts can cause big trouble
  • Mature developers have habits and skills which they have learned over time
  • Stereotype of programmers: late nights/pizza
  • working alone lets you conceal your weakness
  • Egoless programming
  • when you pair, problems that confuse both people are immediately visible as serious problems
  • One participant can tune out

What makes a graph feel “live”?

  • What does “live” mean in context?
  • Drill in (nagios)
  • Google street view
  • Responsive UI vs live data
  • Travel sites which take a while to search
  • Convention in TV and movies: displays always have text which is updating (2001 screens, Terminator)
  • As things get slower they get harder to think about
  • Attention span
  • latency
  • Graphs that update
  • Weather maps
  • Interface vs data

Executable instructions

  • Instead of documentation about how to do something, how about a script which is executable and readable?
  • Need a language that is executable and robust for human to human communication
  • Chef
  • Avoid a “Wizard” – leads to no understanding of how things are done
  • Smalltalk let you have “Run” as part of editing

New iPhone

  • New UI
  • Buttons were not present but came back in in later betas of iOS7
  • Flat UI: Windows 8 phone
  • Skeumorphism
  • Change for change’s sake vs improvement

Presentation of one’s self (Facebook vs LinkedIn)

  • Different venues, different expectations
  • work/life balance
  • How does Twitter fit in?
  • Credibility/trust must be earned
  • Context
  • Not everybody has a FB acct

Resources for learning about agile software dev

  • XP pocket guide
  • Thin books aren’t intimidating
  • Find books that you like, look for “people who bought this also bought” on Amazon
  • Books leave out failures, sound like every project is successful
  • c2.com wiki
  • “less wrong” web site

What makes programming problems fun?

  • like solving a puzzle
  • Sudoku solvers can be more fun problems than sudoku puzzles
  • Fun to not work within an existing codebase
  • “That’s what I do for work”
  • Demonstrate mastery
  • setting own goals
  • refactoring?

Best invite to LC

  • Bring a great idea for people to explore
  • Friendly people, coffee
  • exercise for my brain
  • light switch (or lens) for your thought process
  • thinking about metacognition