I totally agree about the window management aspect. I switched from Windows to OS X as my primary development machine a year ago and still find it frustrating when I'm working with many windows.
I've tried using Expose and multi desktop setups but they just add complexity to my flow. Expose looks pretty but I avoid it because it randomly lays out the thumbs in some way that has nothing to do with how I've actually arranged them. Command + tab is application based, so I can't switch between windows easily. Command + tilde does that but it works completely differently by switching windows on keydown and keypress instead of showing an overlay. I'm sure next version of the OS X will introduce a new window management tools and obscure short cuts that just adds complexity to the system. The whole thing feels like random band aid solutions built up over the last 10 years.
I've tried using Expose and multi desktop setups but they just add complexity to my flow. Expose looks pretty but I avoid it because it randomly lays out the thumbs in some way that has nothing to do with how I've actually arranged them. Command + tab is application based, so I can't switch between windows easily. Command + tilde does that but it works completely differently by switching windows on keydown and keypress instead of showing an overlay. I'm sure next version of the OS X will introduce a new window management tools and obscure short cuts that just adds complexity to the system. The whole thing feels like random band aid solutions built up over the last 10 years.