My best teacher - a guy none of you know!
As I'm sitting here typing code, I can't tell you how frequently when implement something an a little voice in my head says “Thanks Dave!”. Although I have programmed alone for many years, I did take a “real” job when I first moved to Vermont for a wonderfully cool ISV called Synergy Software for about 6 or 8 months. I worked very closedly with the first “REAL” programmer I had ever worked with in my life. A guy named Dave Dapkiewicz. Dave is a really cool guy and SO smart - I could never get over it and I haven't even talked with him in years but I'm always saying “thanks Dave” still!
Dave is an architect more than anything. We would work all day. then he would go home devour books all night and much to the chagrin of his business partner (who had to make sure we stayed within our deadlines!) would drag me into his office in front of his whiteboard and rearchitect the whole solution. Every new idea was brilliant. It was so much fun to just THINK about design and amazing to see the ideas coming out of his head -- just making it better and better. We would hash through ideas - what if this what if that. He was designing patterns, thinking about a better class factory, hammering out performance testing. It was FUN (except when someone would come to see how I was progressing with the U.I. which I would have to re-work each time Dave rolled out a who new set of classes that I had to rip out and replace). He completely changed the way I programmed and because of what I learned from him on this VB6 project - I was as prepared as any VB6 developer could be for .NET because I was already using many of the correct OO and coding techniques.
I have STILL have not managed to lure Dave to one of our user group meetings, but have had a number of his new disciples there.