It means that you still fight with the tool - which is a waste of energy. Accept the tools are not perfect, get your benefits out of them (either financial or intellectual - for example by making something better) and use the remaining energy in something more constructing for your self.
Quote from Tao of Programming: 'There once was a master programmer who wrote unstructured programs. A novice programmer, seeking to imitate him, also began to write unstructured programs. When the novice asked the master to evaluate his progress, the master criticized him for writing unstructured programs, saying, ``What is appropriate for the master is not appropriate for the novice. You must understand the Tao before transcending structure.'
How innocent the article is written :)
People are expecting to be able to build a cheap just hang in there type of flying thing, which would magically transform itself into a stealth one with minimal tweaking here and there.
Of course not. And it's not about abstractions, middle-ware, etc. Everything is a tool. If you need to abstract, you abstract. If you have experience, you realize that the client is not aware of what he will want in the future. That he will want triple sorts, grouping by, etc.
I recommend to the writer of the article to memorize the Tao of Programming. Only Tao is perfect. Yeah, you can claim your tool is perfect, that is magic, it's not, ask the guy that has to maintain the thing.