Slide 1

Slide 1 text

DEVELOPER WORKFLOW EFFICIENCY Making the most out of your tools @chendo github.com/chendo

Slide 2

Slide 2 text

WHAT IS EFFICIENCY?

Slide 3

Slide 3 text

TYPES OF EFFORT • Physical • Key presses • Mouse movement/clicking • Cognitive • Decision making • Information recall • Processing sensory input • Multi-tasking • Waiting

Slide 4

Slide 4 text

IMPROVING YOUR WORKFLOW Decrease both types of effort when possible.

Slide 5

Slide 5 text

COGNITIVE EFFORT IS BAD Too much cognitive load can break your train of thought. Trade it for physical effort when possible.

Slide 6

Slide 6 text

A DEVELOPER’S TOOLS • The computer • The keyboard • Text editor • Workflows • The OS

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

KEY REPEAT

Slide 10

Slide 10 text

KEY REPEAT • Scrolling via arrow keys is faster • Improves text selection and caret movement speeds • Easy change for a fair bit of improvement

Slide 11

Slide 11 text

EVEN FASTER KEY REPEAT

Slide 12

Slide 12 text

REBIND CAPS LOCK • You should never be using Caps Lock • Bind it to something useful like Control

Slide 13

Slide 13 text

JUMPING TO FILES IN A BACKTRACE • Typical workflows: • Fuzzy-match filename, jump to line • Copy filename with line number, subl/mvim • Both require way too much effort

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

SEMANTIC HISTORY DEMO

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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)

Slide 20

Slide 20 text

DEMO

Slide 21

Slide 21 text

QUESTIONS?

Slide 22

Slide 22 text

LINKS • iTerm2 - http://www.iterm2.com • KeyRemap4Macbook - https://pqrs.org/macosx/ keyremap4macbook/ • Shortcat - http://shortcatapp.com/ • BetterTouchTool - http://blog.boastr.net