I write software, and I read a good deal — fiction and non-fiction, technical and non-technical, on-line and on paper. Reading a good book is like planting seeds in your brain. If you usually read the same kind of thing, it’s kind of like in-breeding, with kind of the same results. Venture out a bit.

While I do have some blogs listed here, I generally read them through Google Reader. Google’s Reader lets you share items, and the feed for that is in the side bar, under “I’ve been reading…”. I also keep my library on BillMonk, and its inverse, my Amazon wishlist.

The infamous Steve Yegge has a Ten great books list (practical), and a Ten Challenges list (fantastic, and difficult). Steve (like many others) is a ways ahead of me on the path, and his Challenges list looks like the way I’m heading.

On-line, Software

These are some useful places to read things on-line that I’ve found, in no particular order.

…and some specific writings:

…and some bloggers:

Off-line, Software

Yes, these are Amazon links. No, they’re not affiliate links.

The Pragmatic Programmer The Pragmatic Programmer is most important, I think, as a reminder that we can do better. We write software for other people, and can write it for ourselves, to help us do our jobs. Stop and think, “is there a better way to do this?”
This one could be called “The Pragmatic Programmer, Team Edition”. Practices of an Agile Developer
Refactoring Refactoring helped me think more clearly about OO design. It’s focus is somewhere between “Code Complete” and “Design Patterns”.
Slack
I still haven’t read the second edition, but this was the first technical book that raised me up a level. Code Complete
Hackers and Painters Among other things, Paul Graham was the first one to get me thinking about how programming languages can vary in power, and how small teams can do better than big teams. Most, if not all, of this book is available at paulgraham.com.

Off-line, Beyond Software

Nothing about programming or software here, but any programmer would benefit in some way by reading any one of these. Have you read any of them? Let me know, I’d love to hear your thoughts on it…

Gödel, Escher, Bach: An Eternal Golden Braid, by Douglas R. Hofstadter Achilles and the Tortoise explain formal systems, recursion, self-reference, strange loops, fugues, complexity. One of my computer science professors said, “People think I’m bragging when I say I’ve read GEB four times. I tell them, ‘no, it just took me four times to understand it.’”
There are so many quotes here that apply to building software. Keeping a clear mind, feeling stuck, understanding.
Envisioning Information, by Edward Tufte If I’ve learned one thing from Edward Tufte, it’s “Clear design is a sign of clear thinking; cluttered design is a sign of cluttered thinking.”
Since this is the only book about design I’ve read (so far), and it’s shown me how much an appreciation of design can help us understand our jobs. It’s all about design.
What happens when blind faith collides with contradicting experience?

0 Responses to “Recommended Reading”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s




Say Hello

danbernier [at] gmail [dot] com
Twitter @danbernier
Hartford.rb
LinkedIn

WordCram

Generate word clouds in Processing with WordCram!

Tweeting:

Categories


Follow

Get every new post delivered to your Inbox.