AllClient-Side ArchitectureDesign PrinciplesDomain-Driven DesignEnterprise Node + TypeScriptGraphQLNetworking & OpsSoftware DesignSoftware ProfessionalismTest-Driven DevelopmentWeb Development
Why I Recommend a Feature-Driven Approach to Software DesignSoftware Design
Features represent the essential complexity of software design. It's the complexity that can't be avoided. Everything else — the l...
Introduction to Test-Driven Development (TDD) with Classic TDD ExampleTest-Driven Development
The best thing tests give us is "feedback". Feedback as to if our designs are good, if there are bugs, and if we're making progres...
Use DTOs to Enforce a Layer of Indirection | Node.js w/ TypeScriptEnterprise Node + TypeScript
DTOs help you create a more stable RESTful API; they protect your API clients from changes made on the server.
Maintain a Single Layer of Abstraction at a Time | Object-Oriented Design Principles w/ TypeScriptDesign Principles
The more complex your system gets, the more we need to lean on the correct abstractions to keep things maintainable. This principl...