could I learn TDD and good design at the same time? Is it enough to repeat kata? The expert guide would always be desirable, but if it were not there?
Yes, the authors of those books we read didn't have those books.?
I started coding without email and the internet. I wasted a lot of time pursuing the objects model things misunderstanding after what I thought was getting on the OOP bandwagon. Up until early this year, I worked alone and didn't attend many events or conferences so I read books and poked around online but only when I had a problem to solve or something new I needed to learn.?
I came to see a problem with my long lived projects eventually becoming difficult and dangerous to change. Most of my projects had a small group of in-house users so they were willing to put up with a lot but as I began writing production code that shipped to customers with machinery, this became a problem.?
I recognized this as a design problem. It took way too long for me to gain an understanding of objects modeling behaviors and not things. I credit Bob Martin's Agile Principles, Patterns, and Practices in C# book for this.?
That led to me finally reading the Refactoring book which led me first understanding the purpose and value of Automated Testing which led to me wanting to learn TDD.
Over time I started going to events, reading even more, and hiring consultants for personal training... I highly recommend J.B. Rainsberger :-)
Since I hired somebody for the first time this year, I started that person off with introducing them to these resources and allowing time for learning and showing that I value continuous improvement in myself and in them.?
All of this was driven by a problem I needed to solve and looking for answers slowly until I learned how to identify and work with quality mentors.?