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.
These are some useful places to read things on-line that I’ve found, in no particular order.
- Wikipedia: Computer Science, Programming, Software Engineering, and Math
- The original Wiki
- Paul Graham got me thinking about programming languages
- The Pragmatic Programmers taught me to write software to help me on the job
- Scott Rosenberg’s Code Reads brought to me some of the classics of our field
- E. W. Dijkstra Archive
- Ola Bini on Java, Lisp, Ruby and AI
…and some specific writings:
- A Little Ruby, A Lot of Objects, by Brian Marick
- What Is Software Design?, by Jack W. Reeves
- Dijkstra’s The Humble Programmer
…and some bloggers:
- Raganwald is probably my favorite. We’re both autodidacts who attended Java schools.
- Notes on Haskell is a great source for the functional programming perspective. I imagine our jobs will look a lot more functional in a few years, and I’m enjoying getting a head-start.
- Joel on Software
- Steve Yegge’s Drunken Blog Rants, and his newer blog.
- Martin Fowler’s bliki is one part Hitchhiker’s Guide, one part journal.
- Lidor Wyssocky
- JT, an enterprise architect I’ve personally worked with
- The infamous James McGovern, who I’ve also worked with
Yes, these are Amazon links. No, they’re not affiliate links.
|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”.|
|Refactoring helped me think more clearly about OO design. It’s focus is somewhere between “Code Complete” and “Design Patterns”.|
|I still haven’t read the second edition, but this was the first technical book that raised me up a level.|
|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…