Reading path for Core Developer Skills
This list, taken overall, constitutes a Discipline, a shared set of distinctions that drive decisions and actions overall. At Net Objectives we call this discipline “Pattern-Oriented Development” because we use patterns to drive the overall process, not just to solve individual problems in implementation.
This is only one discipline, however. There is another, which we also believe all developers should know of, understand, and practice. This is the discipline of “Test-Driven Development.” The underlying qualities and principles are the same, but TDD “gets you there” in a different way. Also, there are specific patterns and practices in TDD that enable the process (refactoring, automated testing, mock objects, dependency injection, etc.)