Experience is the ultimate weapon. I am a big fan of learning from one’s own mistakes. I have countless stories of stupid decisions, and although documenting them in a book would be amusing to some, it would serve little purpose. Truly learning from one’s mistakes requires making them, and the ramifications of those mistakes ensure that you don’t forget.
In my experience, developers have no qualms about pushing code live to satisfy urgent business needs without regard to the fact that it may capsize an entire production environment at the most inopportune time. This happens repeatedly. My assumption is that a developer feels that refusing to meet a demand from the business side is more likely to result in termination than the huge finger-pointing that will ensue post-launch, making it evidently clear… the line that separates a developer from an administrator.