This post is part of The Software Architecture Chronicles, a series of posts about Software Architecture. In them, I write about what I’ve learned on Software Architecture, how I think of it, and how I use that knowledge. The contents of this post might make more sense if you read the previous posts in this series. Robert C.… Continue reading Clean Architecture: Standing on the shoulders of giants
Uncle Bob's Clean Architecture keeps your application flexible, testable, and highlights its use cases. But there is a cost: No idiomatic framework usage! Welcome to the fifth installment of little architecture series! So far we have covered layers, hexagons, onions, and features. Today, we’ll look at a close friend of all four – Uncle Bob’s Clean Architecture, initially introduced here.… Continue reading Clean Architecture Is Screaming
Being a good developer doesn't necessarily make you a good Tech Lead. This book explores the delicate balance between the technical and non-technical worlds and, with over 35 accounts from Tech Leads, we can better understand some of the challenges faced and lessons learned from tech leadership across our industry. When I started this book project,… Continue reading [Book] Talking with Tech Leads by Patrick Kua (Lessons Learned)
Becoming a Tech Lead is a tough transition for any developer, because only part of the skills and experience you had as a developer prepares you for the expectations of a new role. Instead of simply designing and writing code, a Tech Lead is suddenly responsible for an entire development team - and this means… Continue reading 5 Tips for Being an Effective Tech Lead
Often the hardest part of programming is knowing where to start. With test-driven development the right place to begin is with a test, but when faced with a blank page, it can be daunting. Is it best to start with the detail of what you are building, and let the architecture form organically using an… Continue reading TDD – From the Inside Out or the Outside In?
In the light of delivering outcomes, we should consider the respective merits of horizontal and vertical approaches. The more common (and not necessarily incorrect) approach is to slice a problem horizontally and build layers to a stack based on objectives with clear left and right parameters. This not meant to imply that there is a… Continue reading Vertical vs Horizontal Approaches
From http://blog.crisp.se/2013/07/12/henrikkniberg/the-solution-to-technical-debt By Henrik Kniberg (related article: Good and Bad Technical Debt – and how TDD helps) (Translations: Russian) Are you in a software development team, trying to be agile? Next time the team gets together, ask: How do we feel about the quality of our code? Everyone rates it on a scale of 1-5, where 5… Continue reading The Solution to Technical Debt