> but spend some time understanding the underlying problem space.
This is the most important point, but you're other points are also very true. And less one-sided. :)