"We are all apprentices in a craft where no one ever becomes a master."
The most important single aspect of software development is to be clear about what you are trying to build.