Misadventures of a self-taught developer