Now that my book is on shelves, I’m out of things to do when I come back from work. Furthermore during this year I bought or I was given quite a few interesting programming book, so I think I’ll start using my spare time to improve my skills.
Here is the list of books I’m going to read, some of which I think are a must read for all .NET developers.
This is THE jQuery book. I already read it last year, and now the second edition is on MEAP on Manning. It will be about jQuery 1.4 and jQuery UI. How can it be about jQuery 1.4 which has not been released yet? The authors are helped by Mr. John jQuery Resin in person. So, if you want to know what’s going to happen with jQuery, this is another must-read book.
Architecture and Methodologies
Lately I’m really getting into methodologies. Unfortunately, for various reasons, I’ve really never been able to apply the full agile principles and practices in a “real” project. But here are some interesting books that might help me find a way to convince my managers and customers to fully embrace Agile.
Written by Roy Osherove, this is the book I’m bringing with me during my trip in Japan (which, thanks to Subtext future publishing feature, is happening right now while you are reading this post). It’s only 300 pages long so it fits well into my backpack. It’s not the usual book about unit testing: what I really liked about it is that it not only explains you the techniques of unit testing, but tells you real world examples of how unit testing can be introduced into your company, and ways to convince your boss to let you do testing.
The best part is the one that shows a survey done by a software company: same features, two different teams. One team writing test, the other not writing.
The team writing tests took 14 days to implement the feature, while the one not writing took only 7 days (obviously, if you write tests, you write double the code). Then the integration phase took 2 days with tests, and 7 days without tests. And then, the testing and fixing took 12 days for the ones that didn’t write test, and only 8 for the one with tests.
The overall time taken was 24 days for the team that wrote tests and 26 days for the team without tests, which is 2 days more. But the astonishing thing is that 73 bugs were found in production for the feature implemented without tests, and only 11 for the team that wrote test.
(This is not an actual quote from the book)
This is just an example of the real world experience that Roy put in his book. Another must-read book for your summer evenings.
Written by UncleBob (aka Robert C. Martin), this is the Bible of Agile development. It talks about all the practices of Agile: TDD, refactoring, pair-programming, incremental builds, SOLID principles and lot more. And the best part of it is that everything has samples in C#, and not in Java as most other books about Agile. Unfortunately this is bigger and heavier then the one by Roy. And probably a bit too complex as vacations time reading. But really, really, really recommended.
Written by friend and community fellow Andrea Saltarello, this is not about Agile or testing in particular, but is about all the aspects related to building a real world application: patterns, architectural thoughts (either software and hardware), development methodologies, testing, tracing, and so on.
I’m still a .NET developer, and I still need to write some code now and then. But I usually learn the libraries once I need them. But these two books are still interesting for forming a background.
Since I wrote a book about ASP.NET MVC you might wonder why I’m reading another book on the same topic. The reason is that this book is written with a pretty interesting plot: it’s based on the real world development of CodeCampServer. And also, there is always something to learn from Jeffrey Palermo and Ben Scheirman.
LINQ is a strange beast, and I still haven’t used it further than the simple usual queries. This book gets deeper into the some more advanced features, and also shows how to write a simple custom LINQ provider
I’m not a bit data-layer guy, and I always focused most of my attention and interest in the UI layer side of applications. When I built my last complete application a few years ago I used NHibernate, but I did it the naive way. This book is the Bible of NHibernate. A must read for everybody that wants a well paced and well organized way of learning this powerful ORM.
Will I be able to read all that books before I embark in another adventure? Only time will tell. But in the meantime, I hope you found my recommendations useful.