Refactoring: Improving the Design of Existing Code
Although I bought refactoring book by Martin Fowler years ago it is still valid. I call it one of the timeless books about coding and I consider it as a mandatory reading specially for novice programmers who are entering the field. Of course it is also useful handbook for those already in business. This refactoring book covers and organizes most of changes we are doing to source code every day and it greatly helps us to understand the nature of those changes at crafting level.
Microsoft .NET: Architecting Applications for the Enterprise
Enterprise applications need good architecture to survive ever-changing demands of customers. At same time these systems must be stable, convenient and easy to use which leads us to need of good architecting skills. Some customers need desktop applications while others need web-based and mobile applications. Making good architectural decisions is not easy and this is where brilliant book Microsoft .NET: Architecting Applications for the Enterprise by Dino Esposito and Andrea Saltarello comes in. (more…)
Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns is golden classics of software design books written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (aka Gang of Four – GoF). When this book was published first it was revolutionary because it contained still undocumented knowledge from software development field that needed some systematic work and organization on it. Today we see these patterns in many programs and developers on different platforms are more and more aware of these first defined design patterns. If you are software developer then this is must-have book for you.
Peopleware: Productive Projects and Teams
Peopleware by Tom DeMarco and Timothy Lister is golden classic book that can be considered as mandatory reading for software project managers, team leads, higher level management and board members of software companies. If you make decisions about people then you cannot miss this book. If you are already good on managing developers then this book can make you even better – you will learn new stuff about successful development teams for sure. Why peopleware? Peopleware gives you very good hints about how to build up working environment for project teams where people can really do their work. Book also…
Free e-book: Moving to Visual Studio 2010
Those who are still using older versions of Visual Studio may find the free e-book “Moving to Microsoft Visual Studio 2010” useful when deciding if it is time to move to Visual Studio 2010 or not. The book is written by Ken Haines, Pascal Paré and Patrice Pelland who all work in Microsoft Consumer and Online Division.
Patterns of Enterprise Application Architecture
Lately I finished reading the famous patterns book by Martin Fowler - Patterns of Enterprise Application Architecture. This book introduces and describes design patterns you will usually see when building enterprise applications. There are also examples for patterns and although they are simple and primitive they give you the idea how to implement or use specific patterns. If you are working on enterprise applications every day you will find this book very useful and I’m sure you will use it as manual.
Clean Code: A Handbook of Agile Software Craftsmanship
Writing code that is easy read and test is not something that is easy to achieve. Unfortunately there are still way too much programming students who write awful spaghetti after graduating. But there is one really good book that helps you raise your code to new level – your code will be also communication tool for you and your fellow programmers.
Why Software Sucks…and What You Can Do About It
How do our users see the products we are writing for them and how happy they are with our work? Are they able to get their work done without fighting with cool features and crashes or are they just switching off resistance part of their brain to survive our software? Yeah, the overall picture of software usability landscape is not very nice. Okay, it is not even nice. But, fortunately, Why Software Sucks...and What You Can Do About It by David S. Platt explains everything.
Agile Database Techniques: Effective Strategies for the Agile Software Developer
Agile development expects mind shift and developers are not the only ones who must be agile. Every chain is as strong as it’s weakest link and same goes also for development teams. Agile Database Techniques: Effective Strategies for the Agile Software Developer by Scott W. Ambler is book that calls also data professionals to be part of agile development.
The Mythical Man-Month
Yesterday I finished reading the classic project management book The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks. Well… this book made me think a lot about nature of software projects, how primitive is our understanding about them and why managing such projects is usually hard fighting with a lot of different issues. The book has also interesting content from the past that is really interesting reading. To understand where you are you should know where you come from.
Agile Principles, Patterns, and Practices in C#
Agile Principles, Patterns, and Practices in C# by Robert C. Martin and Micah Martin describes how to write software using C#. Book covers also most important design patterns and object-oriented development principles. There are very good, close to reality examples for every topic and that makes this book pretty easy to read and understand.
Blogging Heroes: Interviews with 30 of the World’s Top Bloggers
Analysis Patterns: Reusable Object Models
The Data Model Resource Book – Universal Data Models
The Pragmatic Programmer: From Journeyman to Master
The Pragmatic Programmer: From Journeyman to Master is good reading for all developers and good addition to Ship it! A Practical Guide to Successful Software Projects. The Pragmatic Programmer is about developers everyday work and provides solutions and ideas about how to solve problems we may face more than once.
Search Engine Optimization: An Hour a Day
One of my SEO school books is Search Engine Optimization: An Hour a Day by Jennifer Grappone (The Right Brain) and Gradiva Couzin (The Left Brain). I knew already how and what to do before but this book gave very good plan to follow to get SEO process under strict control. Authors of this book have also web site Your SEO Plan where you can download all process organizing tables in Excel format.
This winter I read book Death March by Edward Yourdon. Death March is about death march projects and how to survive them. There are also chapters describing decisions that you should never make when managing death march project. And there are great tips that help you avoid bad mistakes in death march projects. The book describes also developers life in such projects and gives them some good advises how to stay alive.
Ship it! A Practical Guide to Successful Software Projects
I finished yesterday another great book: Ship it! A Practical Guide to Successful Software Projectsfrom pragmatic series. This book is not theory book that leaves you with many questions and no idea how to move along. Instead, you get an good idea about how to develop software and manage software projects successfully.
Extreme Programming Explained
Extreme Programming Explained is overview and guide to extreme programming (XP). The author of this book – Kent Beck – is well known XP evangelist with great experiences on the field. XP is not very simple thing to start with when one has worked some years on “classic” way. Kent shows us the way to XP and gives great explanations and suggestion about how to get started with XP.
Getting Results From Software Development Teams
Software Estimation – Demystifying the Black Art
Software Estimation - Demystifying the Black Art is another masterpiece by Steve McConnell. I introduced in last june book Code Complete 2 by same author - it is suggested reading for developers. Software Estimation, as title sais, tells about how to estimate software projects. Estimating is not easy thing to do if you want to achieve good estimates.