Bookshelf

On this page I list books about Software Development that I have read since the launch of this site. If a book is worth it, I create separate blog post about it where I describe book content shortly and give some review for it.

CoverTitleAuthor(s)Motivation
Book cover: C# 5.0 in a Nutshell: The Definitive ReferenceC# 5.0 in a Nutshell: The Definitive ReferenceJoseph Albahari, Ben AlbahariI learned C# by this book. It is mostly recommended for studying C# together with Andrew Troelsen's "C# 6.0 and the .NET 4.6 Framework".
CLRCLR via C#Jeffrey RichterSee my blog post about this book.
Book cover: Programming Entity FrameworkProgramming Entity FrameworkJulia LermanOne of the best books covering Entity Framwork. However 2nd edition covers EF4 and is focused on legacy ObjectContext thus. For more complete studying of Entity Framework this book could be supplemented by "Programming Entity Framework: DbContext" and "Programming Entity Framework: Code First" books of the same author.
Book cover: Programming WCF ServicesProgramming WCF ServicesJuval Lowy, Michael MontgomerySee my blog post about this book.
Book cover: Dependency Injection in .NETDependency Injection in .NETMark SeemannSee my blog post about this book.
Book cover: The Art of Unit TestingThe Art of Unit TestingRoy OsheroveSee my blog post about this book.
Book cover: Professional Test Driven Development with C#Professional Test Driven Development with C#James Bender, Jeff McWherterThe main benefit of this book is that is shows how to develop applications that could be easily tested by Unit tests and integration tests, even in such non-trivial cases as Web, WPF and WCF applications. Such orientation not only allows gaining all the advantages of unit tests, but also helps to achieve solid architecture with loosely coupled components.
Book cover: Design Patterns: Elements of Reusable Object-Oriented SoftwareDesign Patterns: Elements of Reusable Object-Oriented SoftwareErich Gamma, Richard Helm, Ralph Johnson, John VlissidesOne of Must-Have books for every Software Developer.
Book cover: Refactoring: Improving the Design of Existing CodeRefactoring: Improving the Design of Existing CodeMartin Fowler
Book cover: Patterns of Enterprise Application ArchitecturePatterns of Enterprise Application ArchitectureMartin Fowler
Book cover: Test-Driven Development: By ExampleTest Driven Development: By ExampleKent BeckI've learned (and it's the best startpoint) TDD by this book.
Book cover: The Pragmatic ProgrammerThe Pragmatic ProgrammerAndrew Hunt, David ThomasA perfect book covering many topics a good programmer should be aware of, like clean code, refactoring, automated testing, design and architecture, program contracts, etc.
Book cover: Working Effectively with Legacy CodeWorking Effectively with Legacy CodeMichael Feathers
Book cover: Soft Skills: The software developer's life manualSoft Skills: The software developer's life manualJohn Sonmez
Book cover: Succeeding with Agile: Software Development Using ScrumSucceeding with Agile: Software Development Using ScrumMike CohnSee my blog post about this book.
Book cover: Agile Estimating and PlanningAgile Estimating and PlanningMike CohnSee my blog post about this book.
Book cover: Agile RetrospectivesAgile RetrospectivesEsther Derby, Diana Larsen
Book cover: The Mythical Man-MonthThe Mythical Man-MonthFrederick P. Brooks Jr.Classic book about project management. As far as more than 40 years passed since first edition, some material has outdated. Despite this, there is still a lot of useful information. And finally, author's writing style brings a lot of pleasure.
Book cover: Learning PythonLearning PythonMark LutzI have studied Python basics by this book. Despite its huge size, this book isn't enough to start programming Python because it doesn't cover many areas required for simplest Python scripts. If I had chance, I'd probably select some other book for learning Python.
Book cover: Programming PerlProgramming PerlTom Christiansen, Brian D Foy, Larry Wall, Jon OrwantOne of the most thorough and deepest books about Perl.
Book cover: Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web GraphicsLearning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web GraphicsJennifer Niederst RobbinsI've learned this book to have basic knowledge about HTML and CSS. Although I am not a frontend developer, it's necessary from time to time compose simple web page or report. This book is far enough for such tasks.
Book cover: Pro GitPro GitScott Chacon, Ben Straub