The Curse of a New Building
steveblank.com
steveblank.com
He believes that once non-profit organizations accumulate some capital, the first thing they do is build a big new building, and that's the beginning of a downhill slide.
Endowed chairs work a bit better, but those usually don't go towards new recruitment.
I really appreciated the sterile white-washed building for creative courses while attempting to use After Effects on a G5 iMac :|
After I quit, the primary building tenant moved to a new building, and the company I had had worked for became primary. This auspicious event was marked by the building cafeteria (fairly decent as these things go) shutting down, so not even hot food was available.
So yeah, not all companies get better digs as they expand.
"Good programmers are not motivated by material needs" and yada yada, but we really don't like feeling exploited.
That said, I think that in the future, at least in software development, more and more developers are going to be working from home or coffee shops, because it has so many advantages over the commute-office-cubicle-corporate-meeting culture. Company spends less on office space. Developers get interrupted less and so can stay in productivity zones longer. Employees spend less time and money on non-productive & never-ending activities (commuting) and experience less health risk (car accidents) and cause less air & noise pollution (driving). I also suspect (though not 100% positive) it will put downward pressure on the number of middle managers needed, and thus save companies even more. Employees still need to be "managed" but if all the worker bees are remote than there is less cover and opportunity for managers to create makework and timesinks solely to help justify their own jobs.
An office with a door, no interaction and communicating by email is a hacker dream.
Offices are good for people who do work. Cubicles are good for people that want to talk about what they're "going to" work on.
Personally, I find that being alone in an office is best when I've got a very clear understanding of the problem to be solved, my stakeholders have a very clear understanding of how I'm going to solve the problem, and I don't need to help anyone else with what they're trying to get done.
That's to say, almost never.
I have been in the seemingly unusual position of being a highly extroverted - dare I say, socially dependent? - developer and technician in my career. As such, I found it gratifying to be able to talk to my coworkers easily both from a workflow perspective and, well, just to socialise. It has led to some enduring professional and personal relationships that have lasted long beyond my past jobs themselves, and has formed the basis of a number of key business opportunities for me.
So, I think a more outgoing person is more likely to find some satisfaction in being able to talk to others easily, instead of consciously having to leave his/her secluded office and wander around--looking conspicuously unproductive in ways considered uncouth in corporate America--for that purpose. Such a person is also going to find it easier to manage the distractions posed by others in more natural, intuitive, fluid ways than awkwardly putting on headphones or demonstratively ignoring someone.
There are ways to make people around you go away or pipe down without confirming their ugly stereotype of developers as Asperger's geeks; for clues, if this behaviour does not strike you as self-evident, take a look at how people in more managerial, sales-y and marketing roles do it. They say things like, "Well! I need to get back to this (gestures to screen), I'll catch up with you in a while," or, "Excuse me, I really gotta call this guy back..." That's congenial code for GTFO; it does rely on your companion to get the message, but you'd have to be dealing with some pretty thick people for them to be oblivious to the GTFO part.
That said, I definitely understand and sympathise with the plight of those stuck in noisy cubicle farms replete with salespeople and ringing phones, the sort of suit-driven sardine floor plan that inspired this whole "offices for developers" movement. To appreciate what I have to say above without running for the hills screaming, you definitely need to be in a basically manageable noise, people and traffic situation and have fundamentally reasonable coworkers and management, from the perspective of a technical implementor.
That said, I think ops people work better in open plan offices.
It was weird to drive through parts of the Silicon Valley (e.g., North 1st St.) finding buildings had been tilted up in what had been flat land the week before.
Quite a few of those buildings are empty now.
Looks to me like the miles and miles of low-rise office parks in Silicon Valley include lots of 'tilt-up' concrete-slab construction.