The point is valid, although I believe the author misses the point of design by contract - if you don't explain, how will someone off site, or a few years from now will understand? Moreover, the buzz on the street is TDD which must know what the constraints were, before checking if they weren't broken
the problem is that TDD doesn't magically lead you to good software design if you don't know what the hell you're doing :)
I agree - not all developers can become good designers