Pros: all team members take ownership of their code, so any questions or changes go through an expert to reduce spaghetti code.
Cons: while 95% of all interactions within the office are done via skype or google hangouts, telecommuning is not available.
To increase productivity, cubicles have been abolished to increase interaction. Nerf fights are not unheard of, usually pitting the "upstairs" crew against the "downstairs". The environment is fairly relaxed, with jeans-and-T-shirt dress code and flexible work schedule (works very well for those still taking classes). Programmer Leads can always help answer coding questions, even for projects they don't directly oversee. Beware: You may be 5 feet away from a co-worker, but don't expect to get any kind of response unless you Skype them your questions... or shoot them first with a Nerf gun to get their attention.