I'm not Michael Howard . My software development background consisted of struggling through my two C++ classes in my undergraduate MIS program. Sure, I managed to convince my professors that I knew what a virtual function was and how it all worked, but