The Best of Software Writing I by Joel Spolsky
[The Best of Software Writing](http://www.amazon.com/exec/obidos/ASIN/1590595009) by Joel Spolsky was the first book that I read during the holiday and it rocks. The book is really just a collection of blog posts that are put together to show what good writing on software is all about. Some examples follow:
Michael Bean wrote about the pitfalls of outsourcing programmers and it’s a wonderful article that I would have loved to have handy some time ago. It did leave me with the idea that outsourcing IT is really an all or nothing approach and then you need to decide about your product development and other stuff too. Even if you see yourself only remotely as an IT shop, don’t outsource your coding artists.
Adam Bosworth’s ISCOC04 Talk post is a wonderful thing to read. He says that for a design and architecture to be successful, it need to be simple. He does cite some examples. He believes that the good thing about Web 2.0 is that it enables new ways for us to get rid of information overload and he believes that: “The currency of reputation and judgement is the answer to the tragedy of the commons, it it will find a way.” He believes machine learning, inference and data mining will become very important. But hey, he’s a main Google guy, so what do you expect ;)
Danah Boyd argues that users don’t use services or software for what they are designed for but rather for something that they think is worthy of their time and you need to keep your app flexible enough to allow for that. You don’t know what users want!
Bruce Eckel’s post is about strong typing vs. strong testing. He does a lot in python at the moment which isn’t strong typing. He does argue that you need testing in any case and that means that you should just have a very strong test environment and use a less strict language for a lot of cases.
Paul Graham writes about Great Hackers and that one is really wonderful to read. He argues that there is a great variety in productivity between coders and you cannot let that productivity be dragged down to the mainstream. You need to understand them and here are some of his ideas about great hackers:
\- they love to code
\- they are only attracted by money because with lots of it you can do what you want. If you can do what you want with good money that’s ok too.
\- they want open source stuff because they can control and fix it themselves
\- they need an office similar to their home, with a couch and doors so they can relax
\- they need something interesting but hey, you can make it interesting and very demanding. It’s your demand that counts.
\- for a share in a company Einstein seems to have worked on building refrigerators, but I didn’t check that.
\- They need big problems
\- they do tend to come in groups and work better in groups and, my own words here, 1+1 tends to make 3 and 1+0.5 = 0.5. So you need big guns together
Another one, entitled How many Microsoft Employees does it take to change a lightbulb by Eric Lippert is wonderful to read! And yes, it is not a joke! It does take A LOT of people to change something small, and that means it _does take_. :)
There are lots of other ones that are a real must read but I will let you buy the book and take it with you on a holiday. I know you will not be able to do without IT the entire time but leave everything else at home. This one will make you think a lot. I for one will subscribe to randsinresponse.com and send a few other ones around. Great stuff! Buy the book!

