These are random notes from Neal Ford’s keynote talk at TheServerSide Java Symposium.
The “furniture police” he mentions are the management folks that unintentionally take productive people and squeeze them into environments such as cubicle farms that make productivity difficult. It’s also a metaphor for every distracting thing in the workplace.
The reference comes the book Peopleware: Productive Projects and Teams by DeMarco and Lister.
One of our major assets as programmers is our ability to stay focused and concentrate for long periods of time.
Another book reference: Pragmatic Thinking & Learning by Andy Hunt.
Brain functions and hemisphere roles are significant. Our right brain is a major source of insights, and is non-verbal. Hard to pass communication directly from the right brain.
An effective technique is to “silence the chatter” from the left brain with with repetitive tasks that are not too difficult, such as mowing the lawn, playing tetris, showering.
He NEVER gets any deep insights while watching TV. I concur.
Insights are fleeting.
He brought up mind maps, showed a free Eclipse plugin, and mentioned a tool called Personal Brain.
Book references: The Humane Interface by Jef Raskin. “locus of attention” as a key to UI design.
FLOW — The Psychology of Optimal Experience by Miahly Csikszentmihalyi — “in the zone”
Good analogy for being interrupted when “in the flow” is being waked when sleeping. A five-minute interruption really takes 30 minutes.
Mentioned a TweakUI power tool for Windows that will silence balloon tips that are constantly popping up.
Screen dimmers black out the rest of the screen, leaving you focused on one area: “jedi concentrate” and “doodim”
“Don’t shave a yak.”
Advocates “war rooms” rather than cubicles. Best is offices with doors.
email = efail. Instant messaging bends flow but doesn’t tend to break it. Preferred.
Todo list for you and your company:
For company:
- Create brain-friendly workspaces, offices, war rooms
- Try pair programming, at least on the hard parts
- Create collaborative spaces
Software development is more about communication than technology
For you:
- Software development is not purely left brain, engage entire brain
- Quiet chattering left brain
Find ways to leverage background processing (like showering or cooking)
Create an exocortex - Find and preserve “flow” within your environment
- Wrest control of our environments away from the furniture police — gently
- build insanely great software