I saw Uncle Bob give his sermon on professionalism in software development yesterday. It was well founded by over 50 years of practicing the craft. He made some great points about software being a young field (200% growth every 5 years, which means half of us have very little exp).
The main points he makes are that the way to be professional are to write clean code. This is in-line with something I heard before about entropy. Entropy is the tendency for things to fall apart, become a mess, move toward chaos. It takes energy to counteract entropy. To counteract software entropy, it takes practice, skill, and discipline.
Uncle Bob alluded to using automated testing to protect software from ourselves so that we may work toward countering software entropy.
In New York city, the way to keep neighborhoods from going to hell was to ensure that not one broken window went unfixed. They figured out that one broken window quickly lead to more. My guess is that people figure "heck, there's a broken window and obviously the owner doesn't care about broken windows. So...lets break some more!"
In software, if some code is broken or messy, then I guess we figure "Oh boy, someone left an awful mess in there. Well, we must not care much about messes so I'll just make some more messes." Eventually you got one big hot smelly mess! Now who is going to clean that up?
No, perhaps we need to clean up all our playthings before moving on to the next. Somehow I try to instill this is my son who is too young to really get why. He will thank me one day I'm sure! Now if only we adults could learn that lesson ourselves...we really be making some clean code then!