Simon Willison - Productivity

Simon Willison's Talk on Productivity

YouTube video of talk

Notes

  • Commits should contain:
    • Implementation (a single change)
    • Documentation
    • Unit tests
    • Link to an issue thread
  • Always write over-verbose issue threads
    • To help you track decisions made
    • To document false starts and possible approaches
    • To document the reason for the change
    • To store stackoverflow links or other useful external info
    • Code snippets
    • Screenshots (animated where appropriate)
    • Link to updated docs and demo upon close
  • Issue trackers are temporal - unlike documentation, it cannot get out of date and does not need to be maintained
  • "Issue driven development"
  • Means you don't have to keep track of anything
  • "Treat the project like it will be maintained by someone else"
  • Helps you get back to what you were doing much quicker
  • Issue trackers are equivalent to lab notebooks
  • If you do something, you have to tell people what you did
  • Avoid side projects with user accounts
    • If it has user accounts, it's not a side-project, it's an unpaid job