I couldn't agree more.
As a software developer I've always had a vague understanding of how computer hardware works, but after building fpgabee I have much deeper understanding. eg 1: I always knew what a VGA controller did, but had know idea how. Now that I've actually built one (albeit in code) it's pretty clear to me now. eg 2: I never really understood why hardware can't be just clocked to higher and higher frequencies... but now I totally get it.