I cannot remember the turning point. Of course "agile" did a lot of damage, then ticketing systems, the illusion that developers are swap-able, and now constant notification stream.
When I worked 25 years ago, I had the same experience. But software was way simpler than today. The scale and complexity of current software requires a level of organization and communication that was not needed with simpler needs.
Most software run on a PC with probably no internet connection. Updating the software required to send discs by mail. Everything was slower, and probably more robust. Maybe banking was closer to what we have now, but it was still slower and there were way less transactions.
In contrast, my last 3 jobs required backend services available 24/7 to serve millions of users worldwide. We had many data providers, and we provided services to dozens of big corporations. We had teams dedicated to just integrate to all the partners, wallets, data providers, etc.
Increased complexity requires more communication and more meetings, and more time dedicated to synch all that development. If anyone wants old-style ways of working, with more time coding and less meetings I would recommend to go to small companies with limited reach. Their problems are going to be easier managed by a few developers that can focus on creating new things instead of getting up to date with all the complexity that a big corporation requires.
Personally i like the fact that there are interruptions at work. Working is often a social business and activities like rubber ducking, whiteboarding or live code explanation with living people works wonders for me. It should happen even more.
The people who were coding 8 hours a day, very often were writing yet another framework that they personally came up with to solve a problem, but without duscussing its requirements. More often than not they were making the wrong thing, making too clever things or over engineering.
This is a very important point, and it's crucial for people to understand that merely making something more available can have an outsized effect.
They didn't. But they also had no viable option to monitor what you're doing and check on it every day.
IMHO white collar workers at that scale was a relatively new phenomenon, and that moment of peace sure didn't last that long.
It also takes mental energy, which everyone has only so much of each day. If you are interrupted, then all the mental energy you had spent is wasted, and you have less left for the rest of the day.
One more thought. I think the people who don't understand why interrupting is bad are people who they themselves don't know how to think in a sustained, focused manner on a difficult problem. And as a consequence of smartphones, such people are considerably more common than they used to be.
During my day I try to minimize interruptions by batching them. I will largely ignore Slack, and as notifications come in I glance and determine quickly if it really is urgent or if it can wait. If it can wait, I will punt all of those messages to a "remind me later" of a few hours, and get back to my task. I think this keeps my "recovery time" small as I'm not looking too close at these messages. It's not perfect, but definitely helps over pausing my "real work" to fully dive into each notification or ask.
My most recent role the entire company of ~200 was remote, and so there was rarely the expectation of immediacy in a response. If something was truly urgent you'd be paged.
Anyway, thank you for putting it out there.
I looked at the simulator mentioned at the end of the post.
The deep work I am often in requires way more than an hour of it and with continuity. This is because a lot of context needs to be held in memory and the loss from interruptions is thereby much higher.
It would have been better if the ranges on the following were wider, hitting may be even 16 hours for the first one below (not kidding).
>> What counts as deep work? 30m 45m 60m
>> How many blocks do you need? 1 2 3
PS: Why limit the range or quanta when the math framework you have painstakingly built allows for more.
Thanks.
I’ve built a custom visualization tool for the graphics.
And managers should focus on making people working independently.
"Communication is a sign of dysfunction. It means people aren’t working together in a close, organic way. We should be trying to figure out a way for teams to communicate less with each other, not more."
See also Apple where quotes from previous CEOs no longer apply.
Most of the time I just want people to leave me alone so I can get stuff done.
But if I get $1 for every comment nagging about daily standups I would be rich.
I guess the ones nagging about daily rather be interrupted every 30 mins.
Sometimes there is this guy like we had a guy who would come over at me before I took my jacket off in office with “quick question” - FFS we have daily for that.
Want to have a cake and wish happy birthday, just got back from vacay and want tell all amazing stories? FFS do it after daily not when you come in and with every person separately.
You have a question/celebration/fluff - do it after daily meeting.
For me, it’s a nebulous poorly managed product shop with an “everyone owns everything” mentality which in reality means no one owns anything. With 10 engineers and 60 microservrices and GitHub repositories, this makes for an unmanageable, unknowable project.
For me, at least, the lack of the ability to compartmentalize decisions across a knowable domain is the crippling factor in concentration and productivity.
That's something that you learn to do when you have a kid: suddenly, your periods of 4 hours of focus free time (for coding, exploring tech, whatever) during the weekend just _disappear_. You only get max 30 minutes of free time in a day; this is extremely frustrating initially; there is no boss to complain to, no meetings to blame, no solution but to deal with it. Progressively, you learn to switch tasks much more efficiently, by making regular check points, so that you can get interrupted any time and get back to deep work _quickly_.
Unproductivity is the little death that brings total obliteration. I will face my unproductivity. I will let it pass through me. When it is gone, only action will remain.
Jump!
The tools for surveilling and enforcing "collaboration" can probably be reprogrammed to measure "flow."
I also invoke the Knuth Defence ("I have only proved it correct, not tried it"), and Cunningham's Law.
Interruptions are 'breaks' that clear your context memory by drawing it to something else entirely.
An activity like lunch, shower, etc., actually help by giving you moments to ruminate thoughts related to the deep work at hand, help capture the bigger picture and innovate.
I am a respected technologist and am credited with more than 100 inventions. Practically none of those came to me when I was at my workstation. Breaks that are not interruptions can be so good that one should purposefully mandate them into schedule.