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".
Book cover: C# In DepthC# in DepthJon Skeet
Book cover: Concurrency in C# CookbookConcurrency in C# CookbookStephen Cleary
Book cover: Async in CSharp 5.0Async in CSharp 5.0Alex Davies
CLRCLR via C#Jeffrey RichterSee my blog post about this book.
Book cover: Professional ASP.NET MVC 5Professional ASP.NET MVC 5Jon Galloway, Brad Wilson, K. Scott Allen, David Matson
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: Docker In ActionDocker In ActionJeff Nickoloff
Book cover: MongoDB: The Definitive GuideMongoDB: The Definitive GuideKristina Chodorow
Book cover: Designing Data-Intensive ApplicationsDesigning Data-Intensive ApplicationsMartin Kleppmann
Book cover: REST in PracticeREST in PracticeJim Webber, Savas Parastatidis, Ian Robinson
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: Framework Design GuidelinesFramework Design GuidelinesKrzysztof Cwalina, Brad Abrams
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: Extreme Programming ExplainedExtreme Programming ExplainedKent Beck
Book cover: Working Effectively with Legacy CodeWorking Effectively with Legacy CodeMichael Feathers
Book cover: Building MicroservicesBuilding MicroservicesSam Newman
Book cover: Soft Skills: The software developer's life manualSoft Skills: The software developer's life manualJohn Sonmez
Book cover: The Passionate ProgrammerThe Passionate ProgrammerChad Fowler
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: Scrum MasteryScrum MasteryGeoff Watts
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: Peopleware: Productive Projects and TeamsPeopleware: Productive Projects and TeamsTom DeMarco, Tim Lister
Book cover: Elastic LeadershipElastic Leadership: Growing self-organizing teamsRoy Osherove
Book cover: Herding CatsHerding CatsJ. Hank Rainwater
Book cover: The Five Dysfunctions of a TeamThe Five Dysfunctions of a TeamPatrick Lencioni
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: A Smarter Way to Learn HTML & CSSA Smarter Way to Learn HTML & CSSMark Myers
Book cover: JavaScript: The Definitive GuideJavaScript: The Definitive GuideDavid Flanagan
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: Pro GitPro GitScott Chacon, Ben Straub