Dirk Venken wrote:
That's not due to the product, but to the person who works with it and often lacking the right knowledge and skills
.
It can also be due to products not being intuitive, which forces developers to do unintuitive things. Or a product written for unskilled developers, which often punishes those who have more advanced skills.