I was just reading this article found on Hacker News about the development process at facebook. The line I liked the most was:
most engineers are capable of writing bug-free code. it's just that they don't have an incentive to do so at most companies. when there's a QA department, it's easy to just throw it over to them to find the errors.I think this ties back to another point, that engineers are responsible everything (front-end, back-end, database, design) on what they create. They own that slice of the product. Ownership is the key to getting people to act like responsible adults. When someone dumps a PSD, DB Schema, and a best practices doc on a developer, it’s too easy for the developer to pass the buck to someone else.