Quote:
Originally Posted by Andrew Schreiber
Correcting a teacher on a lecture doesn't say anything as to the quality of the teacher. Frankly I prefer it when educators make mistakes, it demonstrates common traps and problems everyone has. Not only does it have a positive moral effect on me when I screw up too but it shows how best to recover or identify mistakes. A brief aside about mistakes. I screw up... no, I screw up a LOT. I take a very iterative approach to nearly every problem (this post has already been rewritten 3 times by this point). From failure I learn; Success... not so much. JVN always preaches that design is an iterative process but I think it goes beyond that, life is an iterative process. Never be afraid to screw up and have to rebuild because otherwise you won't accomplish anything of any value.
|
Just to expand on this a little... a coworker was telling me the other day that your average programmer will introduce 1 bug for every 13 lines of code he writes. An excellent programmer can stretch that to 1 bug per 20 lines of code. When I thought on this to a recently completed assignment (~300 lines of code, with ~2500 lines of unit tests and ~30 integration level tests), I realized how right he was. Thus far, no bugs in this area of code have been discovered in our software builds because of all the testing I did before delivering the code... but that testing caused many rounds of iteration and bug fixes - a vital skill best learned early in your programming career.
Screwing up is part of the game. Iterating, testing, and analyzing your failures separates the great from the average.