Lately I’m finding myself in an big puddle of mud, and feeling that I’m getting outdated really fast, everyone around me are talking POCO’s, IoC, DI, TDD, DDD, BDD etc.
Even though, I know what the acronyms are, I feel more an more uncertain about when to use what, how to apply, etc. I still feel that I can call myself an good developer, having good grasp of what is going on, I have to agree to lot of what Torbjørn writes here: http://blog.kjempekjekt.com/2008/12/28/a-bli-en-net-ninja/
So, for starters, I have been bugging my twitter colleges about where should I start, what books to read, I have so far, come up with this list: (no order yet)
Domain-Driven Design: Tackling Complexity in the Heart of Software (Hardcover)
by Eric Evans (Author)
http://www.amazon.com/dp/0321125215
xUnit Test Patterns: Refactoring Test Code (Addison-Wesley Signature Series) (Hardcover) by Gerard Meszaros (Author)
http://www.amazon.com/dp/0131495054
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series) (Paperback)
http://www.amazon.com/dp/0132350882
Code Complete: A Practical Handbook of Software Construction (Paperback)
http://www.amazon.com/dp/0735619670
Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) (Hardcover)
by Erich Gamma (Author), Richard Helm (Author), Ralph Johnson (Author), John M. Vlissides (Author)
http://www.amazon.com/dp/0201633612
Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams (Paperback)
by Steve Maguire (Author)
http://www.amazon.com/dp/1556156502
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) (Microsoft .NET Development Series) (Hardcover)
by Krzysztof Cwalina (Author), Brad Abrams (Author)http://www.amazon.com/dp/0321545613
Refactoring: Improving the Design of Existing Code (Addison-Wesley Object Technology Series) (Hardcover)
by Martin Fowler (Author), Kent Beck (Author), John Brant (Author), William Opdyke (Author), Don Roberts (Author)
http://www.amazon.com/dp/0201485672
Working Effectively with Legacy Code (Robert C. Martin Series) (Paperback)
by Michael Feathers (Author)
http://www.amazon.com/dp/0131177052
Head First Design Patterns [ILLUSTRATED] (Paperback)
by Elisabeth Freeman (Author), Eric Freeman (Author), Bert Bates (Author), Kathy Sierra (Author)
http://www.amazon.com/dp/0596007124
POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks [ILLUSTRATED] (Paperback)
by Chris Richardson (Author)
http://www.amazon.com/gp/product/1932394583
These two I have read, and I own the PoEAA, but I need to restock the PP book I guess:
The Pragmatic Programmer: From Journeyman to Master (Paperback)
http://www.amazon.com/dp/020161622X
Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series) (Hardcover)
by Martin Fowler (Author)
http://www.amazon.com/dp/0321127420
Hey Asbjørn,
SvarSlettThat's a lot of books, and it will take a lot of time to cover them all, so without knowing exactly what you want to learn, here's a suggestion for how to go about it:
Read these first:
Pragmatic Programmer - Quick, easy and qood read.
Head First Design Patterns - Much easier to read than DP, and a better place to start.
DP - Again a must read. But it isn't as readable, so it will be heavier. HFDP will cover several core patterns, so you could consider postponing this.
Clean Code - Good read on writing quality code.
PoEAA - First 100 pages or so of PoEAA, briefly look at the rest of interesting patterns. No need to look into the details until you need them.
Domain-Driven Design - Great book. You might consider just reading the quick overview, but you ought to give the full book a go as well. Not quite sure what to recommend given the range of things you want to cover.
Refactoring - Refactoring is important. Ensure you get the principles at least. Don't bother learning the specifics of many of the smaller refactorings, Resharper will help you with lots. Consider having a look at Refactoring to Patterns instead.
xUnit Test Patterns - sure.
Not so much:
Framework design guidelines - Have a look at the TOC, and check interesting sections, but don't read cover to cover.
Working effectively with Legacy Code: You should read it, but don't tackle it first unless you need to tackle large existing legacy codebases
Code Complete - Great book, but it's big, and Clean Code covers lot's of the same topics.
Don't know:
Debugging the Development Process