"There is no perfection. Just keep constantly pushing your own limits."
This is a thought that occured to me only minutes ago as I was beginning to read "Clean Code: A Handbook of Agile Software Craftsmanship". This seems to be an amazing book. Well, just the fact that it talks about quality seems to put it on the right track of being interesting to read. I assume that any book that talks about quality (think "Zen and the Art of Motorcycle Maintenance") is a good book.
Just reading through to Introduction made me stop and think so many times. I guess the beauty of the whole Agile movement is that there *is* value and there *is* quality. It is not *all* about price and lower cost. Lower cost is a great idea but lower cost *must be within boundaries of quality*. It is not "lower cost", period. It is "lower cost for the same quality/delivery". And that is where many fail.
One of the things that I am happy about, and that led me to the insight with which I started the post, is that we should always "keep our hands dirty". I often hear that people interview "architects" who don't code. (!!! wtf) I recently changed position from a Solutions Architect to a contract Software Developer because I was missing some "action". I wanted to do some real work because my role was being dragged towards Enterprise Architect role, being more political, away from coding and any real-world issues that software development solves. "Clean Code" book puts my feeling into words when I read
Learning to write clean code is hard work. It requires more than just the knowledge of
principles and patterns. You must sweat over it.
This not only tells me I made a right decision but also that my senses are still doing OK. Working in environments that are not ideal is putting us to tests. It is an *opportunity*, not an obstacle, to practice what we preach. It is the way to demonstrate the best practices and continually learn how to do the best under different circumstances. Working in an ideal environment is probably not as much rewarding. Don't know, haven't worked in one yet. :)
And this also led me to conclude that there is no *best* or *perfect*. We are all little universes and there are many dimensions in which things can be evaluated/measured. The thing that works in practice is to continuously increase our boundaries and struggle to push our own limits. That is the path to quality. There is no end. It is a journey and journey is the only thing that matters.