The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.
The most important single aspect of software development is to be clear about what you are trying to build.