A list of references from my talk, Habits of a Responsible Programmer at Øredev. First out is the blog post that inspired the talk
Habits
Some books about habits and how our brain works in good and not so good ways.
- Thinking Fast and Slow by Daniel Kahnemann
- The Power of Habit by Charles Duhigg
- Blink by Malcolm Gladwell
Typing
Steve Yegges blog post that made me realize that it is time to learn to touch type along with some tools that can make it fun to learn.
- Programming's Dirtiest Little Secret by Steve Yegge
- aTypeTrainer
- Type Racer
Clear Code
It is worth learning Smalltalk, just to understand the book, Smalltalk Best Practice Patterns.
- Smalltalk Best Practice Patterns by Kent Beck
- Clean Code by Bob Martin
Programming Techniques
SICP is a classic and it deserves to be read but Concepts, Techniques, and Models of Computer Programming is just as good if not better.
- Concepts, Techniques, and Models of Computer Programming by Peter van Roy and Seif Haridi
- Structure and Interpretation of Computer Programs by Harold Abelson and Jay Sussman
- The Little Schemer by Daniel P. Friedman and Matthias Felleisen
- The Seasoned Schemer by Daniel P. Friedman and Matthias Felleisen
- Javascript Conditionals by me
Read Code
Source code to a number of projects with beautiful code.
- CloudFoundry - beautiful Ruby code, OS Platform as a Service.
- Levelup - Node wrapper for the LevelDB key-value store.
Explicit
A good short article by Marin Fowler on the tradeoffs involved with writing explicit or implicit code.
- To Be Explicit (pdf) by Martin Fowler
Refactoring
The book by Fowler is a timeless reference book and it is required reading for anyone serious about programming. Kerievsky's book gives more in depth examples and finally Reg's blog post discusses reasons for not refactoring just to please your own ego.
- Refactoring: Improving the Design of Existing Code by Martin Fowler
- Refactoring to Patterns by Joshua Kerievsky
- The Narcissism of Small Code Differences by Reginald Braithwaite
Simple vs. Easy
Great talk!
- Simple Made Easy by Rich Hickey
Testing
I like Sandi Metz way of explaining why testing is important.
- Magic Tricks of Testing by Sandi Metz
- Practical Object Oriented Desgin in Ruby by Sandi Metz
- The Craftsman Articles by Bob Martin (click on the Craftsman link).
- The Scientific Method
Documentation
Documentation matters, but keep it simple.
Git
The original gitcasts.com is no longer available, but the videos are uploaded to You Tube.
- Articles on Git from my blog.
- Git Casts on You Tube
Scripting
- Unix Power Tools by Tim O'Reilly et al.
- Bash Cookbook by Carl Albing et al.
- Build Awesome Command-Line Applications in Ruby by David Copeland
Generating Code
Tools for generation code. Here documents are the simplest possible way, but if you want to generate multiple files it is better to use Thor or Yo.
- Here documents (Bash)
- Thor (Ruby)
- Yo (Javascript)
Environments
The ultimate book on continuous delivery, a must read for anyone interested in automation. And, that should be everyone!
- Continuous Delivery by Jez Humble and David Farley
Projects
Wonderful book about different people stereotypes.
- Adrenaline Junkies and Template Zombies by Tom Demarco et al
Estimation
Two articles on estimation by Martin Fowler and Dan North.
- Blink Estimation by Dan North
- The Purpose of Estimation by Martin Fowler
- No Deadlines by me
Life, the Universe, and Everything
Books about happiness, the mind, and other things.
- Flow by Mihaly Csikszentmihalyi
- Your Brain at Work by David Rock
- 7 Habits of Highly Effective People by Stephen Covey
- The Silva Mind Control Method by José Silva
- Authentic Happiness by Martin Seligman
- Opening the Door of your Heart by Ajahn Brahm
No comments:
Post a Comment