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
I don’t know if it’s more comical or tragical to see all those xDD combinations that exist in software development. By “xDD” I mean any one of TDD, BDD, DDD, RDD, FDD, etcetera. Software developers often make fun of this our tendency to suffix everything with “DD”. I have three points to make about this:… Continue reading xDD: An Overview
Its not unnatural to think that the prototypical xDD combinations (TDD, BDD, DDD, and friends) are somehow in competition with each other. If you are unsure of their exact meanings, why wouldn’t you believe that TDD is in opposition to BDD and DDD? I mean, they all mean “Hmmhmm Driven Design/Development”. How many things can… Continue reading Combining TDD/BDD with DDD
Chapter 1 “The Tar Pit” Pg. 4 In software development, no one thing seems to cause the difficulty, but the accumulation of simultaneous and interacting factors brings slower and slower motion. Pg. 5 Developing a professional system is 9 times the cost and time of an amateur development of the same system. Pg. 7-9 Joys… Continue reading Summary of The Mythical Man-month