My favorite book of all time about creating software is Getting Real: The smarter, faster, easier way to build a successful web application. Whenever I get asked what my favorite book about software is, I cannot hide my enthusiasm. I usually go on this monologue telling you how you have to read this book and veer off into a land of parables and short anecdotal stories, illustrating how you need this in your life or how it saved mine.
Getting Real is a book by the guys at 37 signals. These are the guys that make basecamp and also the people behind the famous ruby on rails framework. I can't remember exactly how I found the book but I remeber very well when I read it and how it impacted me. At the time I was an intern at a Y-combinator startup and I was experiencing a lot of the scenarios in the book in real life. What I like most about the book is that it reads like you are getting advice from an older brother. They give it to you straight! You are more likely to get advise that sounds like "If you jump into that river you are fucked!!!" than "If I was you, I would not really do that because it could be dangerous". The assertion in their tone just gives the whole book a refreshing feel and the lack of formality makes it laid back and does not feel technical at all. They basically give you the no bullshit approach to starting a software project and finishing it successfully.
It has been six years since I read this book from cover to cover, so while going through the table of contents I was surprised to see some of the topics I have written about on this blog where direct influences from the book. Like I mentioned in my first blog post, there are tons of documentation and blogs about actual code and executable code, but much fewer on how to code and the process of coding successfully and this was the first book that introduced to what I like to call today, The Art of Coding.
P.S This book was later massaged and re-packaged into another book called REWORK (Which became a bestseller), I personally think REWORK is too generic and prefer Getting Real.