Lots of good stuff in this, but i have a couple of significant nits.
First, paired programming is a great way to help a junior learn. But it’s dependent upon their desire, i do it frequently with one whose eyes glaze over when i explain what i’m doing and i know when they start surfing the web while i’m implementing.
But otherwise paired programming is just a great way to slow me down.
Secondly, the open floor plan they described is a clear disregard for the productivity of individual software engineers. Maybe the author never experienced the difference, but it’s significant.
> Secondly, the open floor plan they described is a clear disregard for the productivity of individual software engineers. Maybe the author never experienced the difference, but it’s significant.
Actually, I have. I've worked in two small digital agencies where the devs were in their own office. I didn't like it. It was too quiet for me and I felt like I wasn't allowed to talk to anyone. I concentrate better when I have background noise. Some of my colleagues have headphones, but I don't like to use them because I don't want to give the impression that I don't want anyone to interrupt me. I prefer people coming up to me to speak to me rather than sending me a message.
There's a very good historical reason why the BBC is committed to open plan offices and hot desking. Back in BBC Television Centre days (if I'm remembering correctly), it used to be that managers would have their own offices and the teams they line managed would be based in a completely different part of the building. Eventually, someone realised this is silly. There was a huge transformation of the corporation's culture, which brought about the existence of the BBC Values, and no one was allowed to have their own private office any more. Managers would sit with their teams, and people were able to just go up to other teams and chat with them, collaborate, etc.
It would go against the BBC Values if someone senior gave themselves a sense of greater self-importance just because they were a higher grade. No one should be told, 'You can't talk to me because your grade is too low'.
It's fine to put managers in the same area as their teams.
It's fine if you prefer to work in an open area.
But studies are pretty consistent that developers are more productive with fewer distractions. Not giving developers the option of private offices is underutilizing some of your most expensive resources.
True! I think a lot of modern workplaces are good at compromising on this. In our case, we don't have private offices, but there are quiet working areas that you can go to to work. Although these are sparse in our Salford campus, unfortunately; there's a lot more in the London buildings.
I actually work in an open floor plan. I have a great boss, coworkers, interesting work, the only thing I hate are the distractions.
In our case we have “breakout rooms”, nominally for impromptu meetings but it’s acceptable to camp out in them for a while if you need privacy/focus. But I can’t drag my big screen monitor in them, or use them every day, so they are a very imperfect solution. If we added large screen monitors to them, and allowed engineers to camp in them most of the day every day, they’d be perfect. But then they’d be, private offices.
The last time I managed people, I had the company build small single person offices for them. If they needed to pairs or a bit, they had just enough room for that. If they needed a meeting with more than 2 people, there were rooms for that.
We never had problems with collaboration or communication, and this was before slack. Team members would email non urgent information to their team. Product managers would sit in your office to work out details of a new feature or bug to be solved. But if it wasn’t urgent, they’d respect your need for focus.
> but there are quiet working areas that you can go to to work
Doesn't help if you have a desktop and no laptop. Plus there weren't many in White City last year when I was there - everything was co-opted to be a meeting room or office as they slowly closed off various sections for refittings.
For a great self-deprecating parody of BBC Values, and modern office culture generally, I highly recommend the BBC series, W1A. It should be available on Netflix.
Here's one of my favorite scenes, where Hugh Bonneville's character, the new Head of BBC Values, explores the BBC open floor plan for the first time:
The new BBC headquarter's officeless workspaces are a running gag throughout the series. (Unfortunately, this video is evade-copyright-detection quality.)
> i do it frequently with one whose eyes glaze over when i explain what i’m doing and i know when they start surfing the web while i’m implementing
This is so sad and frustrating. I get distracted easily too, but when someone is taking time to show and explain something to me, they have my full attention. Anything less is so disrespectful and just a waste of time.
Another angle we take to help limit lost interest is the pilot (user on keyboard) doesn't write code without the co-pilot (person sitting near by) audibly directing the flow/logic of code. Good learning/teaching while on both sides.
Because i’m really senior, which means i have trouble seeing what’s on their tiny, dirty laptop screen. But mostly i’m in a hurry to get back to actually doing stuff.
I’m going to accept that i’m part of the problem and have them handle the keyboard from now on, as you and the others suggest. And have them airplay to a big monitor.
First, paired programming is a great way to help a junior learn. But it’s dependent upon their desire, i do it frequently with one whose eyes glaze over when i explain what i’m doing and i know when they start surfing the web while i’m implementing.
But otherwise paired programming is just a great way to slow me down.
Secondly, the open floor plan they described is a clear disregard for the productivity of individual software engineers. Maybe the author never experienced the difference, but it’s significant.