Mode 1: Preparing to program
Mode 2: Programming
Mode 3: Reviewing my code
The mix varies among projects and even days, but I usually spend more than half of my time in Mode 2: Programming.With a few exceptions, I can do Modes 1 and 3 almost anywhere, and sometimes they need to be done with others, so an open office/meeting room can be great for these.
But for Programming with any quality, I must have silence and no interruptions. I have never found this in an open office or cubicle. I can only do Mode 2 in a private office or at home.
Programmers want offices because they could need a safe haven for Mode 2 at almost any time.
If you're in an office, you can always find another place to be with others, but if you're not in an office, you constantly struggle to find a place to get into Mode 2.