There are many descriptions of how developers work, think and act. For a long time, we've distinguished between opportunistic, pragmatic and systematic programmers (there is an old and short description of these here: http://blogs.msdn.com/b/brada/archive/2003/11/18/50737.aspx). A more up to date description is here: http://drops.dagstuhl.de/opus/volltexte/2007/1080/

Researchers at the Stanford HCI Group have seen similar workstyles and have focused a lot of effort to better understand opportunistic programers: http://hci.stanford.edu/research/opportunistic/

Most recently, Andy Ko just posted a great blog post on a specific developer culture: http://andyjko.com/2010/07/13/mozilla-summit-2010-and-dev-culture/. It's well worth a read.