This was originally posted on my blog, here: Halt and Goto Meeting.
As a company grows, protecting the time of its employees becomes a perplexing problem. Bizarrely, almost everyone I know that isn't at a start-up doesn't seem to have enough time at work to actually do work. Their schedules become filled with staff meetings, project update meetings, hiring meetings, planning meetings, and any number of other
scheduled calendar events.
From the master satirist of office culture, Scott Adams:
And another good one:
For many types of jobs, this sort of schedule is devastating to productivity. Whether it's a software engineer designing a new feature or a business manager analyzing market research, solving hard problems requires dedicated time to actually work on the problem.
It's also, frankly, just not enjoyable. Nobody signs up for a job excited to spend their day in 1-hour meetings with 30-minute breaks between them to catch up on e-mail. Computer Science luminary Donald Knuth famously asked people to send him snail mail instead of e-mail so he could better focus:
Email is a wonderful thing for people whose role in life is to be on top of things. But not for me; my role is to be on the bottom of things. What I do takes long hours of studying and uninterruptible concentration.
To do the kind of real good physics work, you do need absolutely solid lengths of time. When you’re putting ideas together which are vague and hard to remember … it needs a lot of concentration–solid time to think. If you’ve got a job administrating anything, say, then you don’t have the solid time. So I have invented another myth for myself–that I’m irresponsible. “I am actively irresponsible,” I tell everybody. “I don’t do anything.” If anybody asks me to be on a committee to take care of admissions … “No! I’m irresponsible..."
(If you're interested in listening to that portion of the interview, listen here).
And while interruptions can be bad, most of the damage actually comes from the
context switching that meetings impose; they force you to drop what you're doing and do something else. For many developers, this is so disruptive that it's not worth even starting something if they know they'll have to walk away from it right as they "get into a groove", anyway.
Thinking about my favorite experiences as an engineer, many of them are instances of hacking on a problem or design with a group of peers for a continuous stretch of time. I have fond memories of teams sharing a workspace, coding together and getting excited as challenges are worked through on the whiteboard. When folks need a break, everyone strolls out together to grab a bite or a coffee, and by the time we make it back the group has thought of several new things to try. The challenge of the problem and the shared accomplishment of progress creates a sort of fluid creativity and excitement, from which a rhythm emerges that propels the team forward. Many companies try to recreate this rhythm artificially, without success.
Like many engineers for whom engineering is also a hobby, I can also think of many instances where I have been so engaged on a personal project that I've fallen down the rabbit hole and practically become unaware of the world around me. I also remember this happening while working on projects back at university. This phenomenon, and the importance of not interrupting it, makes several appearances in the movie "The Social Network". They called it "being wired in":
It's hard to imagine this happening in most office environments, though, and it's not because the problems aren't interesting. It's simply a matter of how a typical workday is structured.
The joy of solving problems with creative design is a significant part of what drove me to become an engineer in the first place, and I think this is true for a lot of people. The excitement and satisfaction of overcoming technical challenges is an important part of keeping technical employees engaged at their jobs. The fact that this is so much easier to find in smaller companies is often a big contributor to why top talent at larger companies will jump ship to get back to a system with less bureaucracy.
To be clear, the issue isn't that people necessarily have to be isolated to get work done. Sometimes the very best technical work comes from a team of people working together in "real-time". This is distinctly different from a meeting, though, where someone has carved a slice out of the workday and said, "Regardless of what you are doing before or after this chunk of time, during this meeting we will be talking about [topic]." Throw just a couple of those into your workday, and it's very difficult to get into a rhythm. If you're working with a team and someone says, "Hey, let's take a second and draw this out," it's not disruptive because it's a natural part of the workflow. A
scheduled calendar event is never a natural part of the workflow, it's a
N.B. I'm really only talking about roles where meetings are not fundamental to the core responsibilities of the job. For many roles, a workday comprised of meetings is expected & necessary.
Complicating the issue is that while I think most meetings are a waste of time, some of them are genuinely important. Yes, we want to allow engineers as much time as possible to 'do engineering', but as an example, hiring is also critical to the business and engineers' time is needed for that, too. So how do we allow time for the important meetings, but also protect everyone's time so that they can be productive?
Good managers already try to kill as many meetings as possible, but sometimes it seems like an intractable problem. An idea I've been mulling over is something like forbidding
scheduled calendar events during certain focus periods. For example, during a sprint you could make scheduled meetings verboten on Tuesday, Wednesday, and Thursday (except maybe a 15-minute stand-up to start the day). This would force any meetings to be scheduled for Monday and Friday, and the middle of the week would be dedicated, continuous time to actually
do work. When people need to talk to each other or work together, instead of "throwing something on their calendar", they would actually talk to each other, in real-time, like teammates. Having less allowed time for meetings may also have the beneficial effect of killing some of them off through a sort of natural selection process.
I don't know if something like that would actually work, but it may be a worthwhile experiment. Most of us can't get away with doing what Feynman did. If we convinced our employer that we were irresponsible and thus shouldn't be bothered with meetings or administrative things, we likely wouldn't be employed much longer.
I wonder how many students would still be excited to become an engineer if they knew what a typical workday looked like for much of the workforce?
Spend more time hacking on cool problems. Spend less time doing this: