There are main 2 ways that you'll be working in an office environment if you're a programmer. And that's either in a cubicle, which we've seen plenty of in movies and such, and there is the open space plan, which many new companies are adopting. Many notable companies, like Google and Apple, are setting the bar high by removing boundaries and getting their employees to coexist together in large expanses of open space. And that's a pretty fantastic idea for the most part. At least in theory and in aesthetics. But it doesn't come without its shortcomings.