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

Developer Workflow Efficiency

chendo
August 29, 2013

Developer Workflow Efficiency

Revamped version of the talk a year ago presented at Melbourne RoRo on 29th August, 2013. Designed to be a lightning talk, but ended up going on for 15 minutes. A bunch of content was verbal, so it may not be useful unless you were there.

chendo

August 29, 2013
Tweet

More Decks by chendo

Other Decks in Programming

Transcript

  1. TYPES OF EFFORT • Physical • Key presses • Mouse

    movement/clicking • Cognitive • Decision making • Information recall • Processing sensory input • Multi-tasking • Waiting
  2. COGNITIVE EFFORT IS BAD Too much cognitive load can break

    your train of thought. Trade it for physical effort when possible.
  3. A DEVELOPER’S TOOLS • The computer • The keyboard •

    Text editor • Workflows • The OS
  4. THE COMPUTER • Absolute core tool of all developers •

    Hard to work without a working machine • Consider upgrading it yearly • Slow computer means more waiting, which is cognitive effort++ • Get an SSD! • Get at least 8GB of RAM
  5. THE KEYBOARD • Core input method • High bandwidth, high

    precision • Proficiency is crucial • Learn to touch type – Hunt and pecking creates cognitive effort and it’s slow • Typing speed is the main limiting factor to operate your computer – faster typing means faster feedback • Consider learning a keyboard layout designed for keyboards like Colemak or Dvorak
  6. KEY REPEAT • Scrolling via arrow keys is faster •

    Improves text selection and caret movement speeds • Easy change for a fair bit of improvement
  7. REBIND CAPS LOCK • You should never be using Caps

    Lock • Bind it to something useful like Control
  8. JUMPING TO FILES IN A BACKTRACE • Typical workflows: •

    Fuzzy-match filename, jump to line • Copy filename with line number, subl/mvim <paste> • Both require way too much effort
  9. JUMPING TO FILES IN A BACKTRACE • iTerm2 has a

    feature called Semantic History • Lets you Cmd+Click filenames and backtraces to open them in your editor
  10. SWITCHING BETWEEN APPS • Cmd/Alt+Tab is cognitively heavy • Visual

    processing, number of Tab presses inconsistent, etc • Consider binding them to easily accessible keyboard shortcuts • Or use Alfred
  11. OS X GENERAL TIPS • You can drag and drop

    a file/folder into any OS X open/save dialog to have it jump to that file • The document icon in the title bar is draggable • Right-clicking the document title bar shows you a path tree
  12. SHORTCAT • Lets you quickly search and click on most

    UI elements in OS X with just the keyboard • Designed to make OS X more keyboard-friendly • Decreases cognitive effort by removing the need to remember keyboard shortcuts (apart from the one to activate it)
  13. LINKS • iTerm2 - http://www.iterm2.com • KeyRemap4Macbook - https://pqrs.org/macosx/ keyremap4macbook/

    • Shortcat - http://shortcatapp.com/ • BetterTouchTool - http://blog.boastr.net