When I started working I remember being told I was now entering the "real world". Well, after several years of being in the "real world" I now know that it's crap. Returning to work from home reminded me what it's like to actually be productive.
Concentration is so important. Not even just for programming. I was speaking to a guy who runs a mobile clutch repair business. He does one clutch a day on people's driveways. He works about 5-6 hours a day, including travel time (so really only 3-4 hours on the job). If you go to a regular garage they'll tell you how big of a job a clutch is and they'll sometimes take multiple days to complete the work. It's because they aren't concentrating. They are chatting with each other, being pulled this way and that into helping with other tasks etc. This is exactly what being in the office was like. For years I was never able to get into the zone.