All of these conversations, be it open-office/email/slack/etc are a rehashing of something we all know: fewer distractions leads to increased productivity. The trick is to balance that with collaboration and help channels, so the product and collective productivity of a team is improved, not just an individual's.
I get needing time without distractions - but when your work is used / others are dependent on it, how do you tradeoff that support?
Other jobs, like receptionist and office managers, for instance, are interrupt-driven. Receptionists add value by responding quickly and handling a continuous stream requests.
Now let's talk about engineering managers. Being an engineering manager is IMHO, an interrupt-driven job. The job of an engineering manager is to tell you where to find answers to your questions, or on a good day, actually answer the question. The friction comes when an engineering manager does not understand that the interrupt-driven nature of his/her job is not reciprocal. A good manager will handle interrupts quickly, but only very judiciously use the power to interrupt.
Another source of confusion is dev/ops. Anything operational will tend to be interrupt driven. An engineering manager that has been running a high-functioning dev/ops team that is a team of crack fire-fighters might be a very disruptive force in a design engineering team if that manager expects a constant volley of chat messages among the team.
Maybe what we need is a system where instant messages are allowed, but it imposes a cost of some kind to the person initiating it, so that it won't be used frivolously. Like the proof-of-work antispam captchas, except it should take ~30 seconds and be just once per conversation (defined as ending when 5 minutes go by without message; first replies are free).
We could also add a social cost by displaying how often each user has used this feature in the past 24 hours, next to their username.
As a startup founder, by far my two biggest tasks are customer acquisition and development. The former is interrupt-driven while the latter is emphatically deep work.
Right now, I try to address this by blocking off 4 hours a day for deep work and the rest of the time is available for sales and general operations. It's working okay but the big problem is that I have an added stress of worrying what important customer messages I might be missing during my deep work time.
That, plus simply being mindful of the meaning of “deep work” and people working in roles that need that kind of concentration.
I don't need an app for this.
A reasonable model.
> Maybe what we need is...
I think Cal Newport belongs to the "intermittent hermit" school of thought...
Thank you for helping me understand this dynamic.
If engineering/qa/architecture is the question, xp may help.
Since you're new there, you might not have the assignments and/or enough responsibility to know what else needs to be done. But that should happen soon, and there is no reason not to proactively talk to your boss about secondary goals to focus on when you're blocked waiting on communication.
I think it's just good management to convey the bigger picture to everyone. Between the steady stream of tickets assigned to me and other existing responsibility I haven't had to ask my boss "what do I work on now?" in... like... 3 or 4 years.
Is the loss in time spent on high priority items worth fewer quick distractions to the rest of the team?
It all depends on the tasks and your particular work environment. It's going to vary from place to place, so I don't have anything specific to tell you other than this kind of prioritization is the kind of conversation you should be comfortable having with your lead. Or at a status meeting or standup, if your process makes that the better place to ask.
However we are also an almost entirely engineering team so there is no resource for getting unblocked that isn't bugging another developer who then drops his mind balls.
It is just the reality of it though, we have tickets and tasks to complete and we can work toward being more efficient, making sure we aren't going to get blocked befor getting started on a ticket and such. It's all a balancing act and it's important to be aware of it, but I no longer get my knickers in a knot over it.
I've worked remotely for many years and this was never a problem. Need some company? Just read and follow a few channels. Want to get work done? Ignore client and code. If someone needs me, a notification + sound will pop up. Works fine with IRC, really.
But really: doesn't working remotely mean that, when blocked, you can just leave the computer and do some life stuff, then come back a few hours later and continue from there?
That's one reason why I like the idea of taking forced breaks; they give you a scheduled time to handle brief interruptions, and if you're fairly regular people can tune in to your schedule(e.g. if you're always "working" the first 50 mins of an hour and "resting" the last 10 mins, it's easy to know whether you'd be able to quickly answer a question). Of course, the forced breaks are another form of an interruption from flow; it's still a trade-off.
Technically yes. In practice though, this only blurs the boundaries between work and leisure, as you find yourself working in evenings and weekends to make up for those down-times during the week when your team members were unreachable.
1. Maybe documentation is scarce, be it code comments or business requirements specs, user stories, epics, etc.
2. Maybe your tasks are ill defined, and you accepted your assignments without asking enough questions upfront...
3. Maybe you don't get enough workload (if you had many tasks to choose from it would be harder to get blocked on all of them)
4. maybe you lack some technical knowledge or other competencies needed to make the decisions yourself instead of asking others.
You have an organizational problem there.
Any reasonably complex codebase I have worked in has at least parts that only a few people understood. Even if n=3, you could still very easily be blocked when trying to find someone in the know...
You have a problem. Disagreeing with me won't fix it. It's a common problem, but also a fixable one.
1) Do you know of a way to document a significantly-sized application in such a way that it is not massively more efficient to ask a colleague for help than to go source-diving? Say we are talking about a rails app that has been maintained for 5 years and with a reasonably complete test suite.
2) Does a fresh-from-uni or perhaps 2-years-out-of-uni junior developer teach themselves how to ask just enough questions up-front that they don't need to ask more to unblock themselves?
4) How does one gain this technical knowledge if you are on a project and need to apply it but don't yet have it yourself?
Re 2: Often tasks are even meant to be exploratory, where those questions can't be asked upon receiving the task, but only once enough investigation has been done and implementation questions are run into. Rather than a quick back and forth that keeps me progressing, I have to context-switch to something else, and spend time re-familiarizing myself with what I had done the day(s) before again.
Do you know of a way to document a significantly-sized application in such a
way that it is not massively more efficient to ask a colleague for help than
to go source-diving? Say we are talking about a rails app that has been
maintained for 5 years and with a reasonably complete test suite.
Does a fresh-from-uni or perhaps 2-years-out-of-uni junior developer teach
themselves how to ask just enough questions up-front that they don't need to
ask more to unblock themselves?
How does one gain this technical knowledge if you are on a project and need
to apply it but don't yet have it yourself?
2. Yes, often my tasks are exploratory rather than implementation of a particular feature. Often the goal is to explore and then discuss my findings. When I can't just go up to someone's desk in person and ask them when they are free to discuss, Slack is a good resource to set up a meeting.
3. I definitely am not blocked on all, but the context switching hurts my productivity as well - to me, a quick response would have large benefits for me and a minimal distraction for my colleague.
Then check the wiki before you ask a question. Query driven documentation.
But that doesn't matter, I can work with the subset.
Sometimes the questions resolve themselves, sometimes I just write another email, it really depends.
Our addiction to instant and easy answers can be very problematic. It is the only way. Some of the time when I feel the urge for distractions or chat or email I just sit with one or two apps open (Editor and music) and I sit there until the boredom wins and the task becomes more appealing. Once that hurdle is overcome things are great.
Bingo. The rub between not wanting to reinvent the wheel and being forced to think through it on your own is a very real tension. However, I really like what you say here. The notion of instant information and instant gratification has made us primarily information consumers. There's a very real benefit, in my opinion, to thinking through the situation without the external information inputs.
Both are good, but my sense (from anecdotal evidence, primarily) is that we're losing the thinking/reasoning our way through things in favor of "collaboration" which we cheapen as "information sharing."
When I am hacking on Go or Python I will often launch pydoc or godoc and not visit the Internet at large for hours. Some times I end up implemeting something un-idiomatic or sub optimal. I think it is alright. You get a feel for when something should go to a Parking Lot that you can clear out in a bit. It may seem counterintuitive but it does not mess up Flow. Just whack a comment or placeholder and move on. I often find my brain was working on it in the background anyhow.
It is a sort of freedom. A rare sort these days.
You can, however, configure slack to not notify you unless you are @'d specifically. This + minimizing slack is pretty effective. Most of our office works with this set up (so some people need to be pinged directly to get immediate responses)
People might need to know, but I think that the word spreads fast. For non-urgent stuff, talk in the channel. For urgent things, @ someone, or DM them.
The only thing you need then is the self control to not look at Slack every 30 seconds.
It can be hard when that is not an option because then someone has to let Slack occupy some amount of their brain space, just in case.
spotlight and a fast machine make it a few keystrokes to come back.
I have been on this agenda of simplifying my computing over the last couple of years and it has really made a difference. I don't need a special app for TODOs. I don't need yet another status bar agent pestering me to update itself. I don't need an IM client begging for my attention. We are builders and problem solvers, and we are paid to think really hard. Our computers and phones are devices that have a default mode that guides us toward content consumption and a bunch of "least bad" technologies.
Personally, I use mutt + mbsync. I have bound key 0 to call mbsync from mutt. I try to check email only twice per day .
I'm in the process of switching to gnus + mbsync. This has the additional advantage of gnus being close to a news reader, which is optimized for an inbox-zero way of reading.
Since my email often carries stressful news, I love having my inbox "paused". I pull emails. They are not pushed to me. Way saner.
Unless the shop is burning down, nothing needs my attention immediately. If it does, call my cell. Some things deserve purposeful friction.
Seems we've now given up on that and the new working model is just to blurt out questions in some push system, bugging everyone in the process, and then hope that someone blurts back an answer.
Tangent: It has been 7 years since their founding. How does Quora make money?
Or maybe they are, but they can't be found. I've noticed this before, but you can't google for something like "SaaS version of Quora" because all you'll get is results - in Quora - about SaaS. Same for "in-house Quora". So maybe someone does offer a Quora-like product for the enterprise, but they're consigned to invisibility.
Documentation in a Wiki is way preferable.
If you're a team lead, or someone with significant business or technical knowledge, helping other people on slack might increase their productivity, and the productivity of the team. That may be more important than your own productivity, or it may even be your responsibility. In this case, not being available is unfair to your team.
I use the slack app which displays a notification icon in the task bar. When I get personal messages (which usually require immediate attention) the icon shows a red dot (I also get a notification). If people chat in public rooms the icon shows a blue dot (and I don't get a notification). I don't check slack, I just glance at color of the dot. Interrupts are pretty rare, and I'm always available if someone needs me. I'm not, however, a central member of the team, so people don't often come to me for technical or business advice. If I were, however, I wouldn't shut down their line of communication because "screw you, I need to work".
(replied to the top thread, but it's applicable to everyone in this sub-threaD)
"Productive" in what sense? In my experience that's a good way to spend hours writing some gnarly logic that will feel very satisfying to write... but not actually be what the user wanted.
I think all the communication options we have make people anxious if we aren't communicating. It's like cell phones. People lose their minds if their phone breaks and people can't contact them immediately, but people survived for tens of thousands of years without that ability.
My phone's in for repair at the moment, so I'm very conscious of how much difference it makes to my life. Waiting is a lot more boring without it. I've had some good times that I wouldn't have been able to without modern communications (last-minute parties that I'd've missed if I hadn't been so easy to contact). And fundamentally I like talking to my friends (interestingly this is something that has changed as I've got older - when I was 20 or so I was much more content spending days at a time on my own).
I would certainly advise pruning any communication sources that don't bring you joy, KonMari-style. But don't throw the baby out with the bathwater.
It's not just an issue for cities. One of my best friends is a high school teacher, and she said that kids told her they felt less lonely after a cell phone ban came in to effect. Before the ban kids would text their friends who weren't there if they didn't know anybody. After the ban they started making new friends at lunch, since they wouldn't choose a convenient spot and stare at their phone the entire time.
It's not like the city is a new construct.
The older I get I have to sigh and skip over more and more of what's on HN.
If they're bullshit, how come you lack the discipline to abstain from checking them?
> HN is not banned (yet), since SNR is not zero here.
I might be misjudging, but you make it sound as if you're pretentious about the content you consume when actually you're placing external constraints trying to prevent yourself from consuming bullshit. In that case, more discipline would be the healthier solution.
When you get popped out of "the zone", you don't just lose the two minutes it takes you to answer your coworker's question, you also are losing the 15-30 minutes of context that you built up about the behavior of the problem.
Donald Knuth phrased it thusly: "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. I try to learn certain areas of computer science exhaustively; then I try to digest that knowledge into a form that is accessible to people who don't have time for such study."
It's bothered me in the past, now I'm thinking about doing something about it. Like disabling desktop notifications in Outlook for anything that's not flagged Important.
No one has posted it yet, so here it goes:
I've got it printed out and pinned to my bulletin board.
> I'm thinking about doing something about it.
> Like disabling desktop notifications in Outlook [...]
This has broken me of my involuntary email/Slack/IM checking and instead keeps me focused on the task at hand.
Maybe an extended pomodoro session with an extra 3-5 minutes for team communication?
I know that sounds kind of sad, but escaping the distractions and actually doing something is such a difficult task with the constant barrage of communication that I truly value it. It gives respite.
This actually sounds very compulsive to me. I know everyone is different but for me to have an unwavering 30 minute cycle day in day out would drive me crazy.
Checking my email hourly during business hours and once after 5pm keeps my inbox tidy and my stress level much lower. Last time I missed two days of work I came back to 800 messages and it tooks weeks to catch up. The stress of seeing 100s of messages is what gets to me. Constantly cleaning up my inbox is the only way to avoid that stress.
Now if I was allowed to develop infrastructure as code all day this would be very distracting. I hope for that Nirvana one day. However, since I do a lot of support and people depend on me I need to constantly react and switch gears.
This lets me glance at outlook and know a decent level of importance for new emails. If something lands in the index, i'll create a new filter most of the time.
Getting included on a bunch of email chains and even getting forwarded emails that I sent out piled up my inbox and I hated it. Took too much effort to go through the crap and keep track. I hate being in meetings and having to watch people go into a single inbox and never find anything.
I work for a software company making software, and I still think 25% of the time is wasted watching people fumble around on computers not knowing what they are doing.
Again, I haven't even tried it, but my technique usually consists of "start working on a problem, stop working when you need a break". Works pretty well, and there's no timer involved.
I might be annoyed to be interrupted when I'm in the zone, but I don't procrastinate or lose focus during work intervals — being interrupted every 25 minutes is better than spending those 25 minutes scrolling through Reddit or HN.
Also, if a session ends and I'm really focused, I just ignore it and carry on working. Pomodoro is a framework, not a straitjacket.
Why can't my phone batch up my texts, and just ping me 2 or 3 times a day?
Removed all but a few. Now I naturally check personal email less because of less new mail coming.
Same with work emails. Those I can't unsubscribe from so I make rules to push them into a subfolder of a folder I always have minimized for 85%. Then 10% into subfolders in another expanded folder I do check. The rest hits my inbox.
As more inbox mail comes in. If it's something even semi consistent in nature. I'll add rule. Otherwise I'll view it and move on.
It's less about checking email as often. As simply having less email to read subject lines of, this indirectly causing less need to check email as frequently
When I last went job hunting, I would say to the interviewers:
1. I will check email 3 times a day. When I come in, around lunch, and before I leave. Is this a problem?
2. Do I need to use any kind of IM on this job?
If lots of email bother you, set your standards higher.
Edit: Reading other comments, I should add: I also point out that physically interrupting me in my cube is OK. Or calling me on my office phone. If it's urgent, come to me or call me. If not, send an email. People treat IM as "urgent" but then don't act as if it is. So I "ban" IM for myself.
Was going to say exactly that. Works for me too. I'm amazed more people don't do it.
I use a mail client set up so I'm not aware of any incoming email until I look for it....
Tell them that you check email once an hour (or whatever interval you prefer) and respond to everything in batches. You find that allows you to better focus on your core work and that you're overall more productive that way. If (s)he asks you to change your routine just say no.
Try it. It's very empowering.
Unless for specific intent, I don't ever have communication tools fired up on laptop with exception of SMS' and phone call notifications through Continuity.
When I tell people about this, I usually get "stop being selfish" / "get off your high-horse" looks. I don't really care.
I don't know exactly what to do with that observation. But I know that the reason I check my email more than once a day is threefold: (1) to feel connected to other people, (2) to feel on top of things (the same urge that drives me to read the news), and (3) to stay out of trouble with work, in case there is some emergency on the website.
If I had a job where all I had to do was check email, and answer them from what was already in my head, that might actually be fulfilling. Or if all I had to do was work on one programming project per week, that would also be great. But email and programming don't mix well.
Want my attention? A handwritten note is actually the best way nowadays. Because I only check my work email once or twice per day, and I only check my personal email every two days or so.
When I was managing a support arm for a university, I was happy to make myself available as often as necessary for my employees, but this had the predictable problem of getting phone calls at 11 pm or later about something as trivial as "the main printer in the Library is jammed". My predecessor had over-reacted out of fear of inconveniences like this and the result was that important problems, like entire dorm outages or critical systems going down weren't reported after business hours. I ended up establishing a simple and illustrative set of guidelines on appropriate communication methods and assessing the severity of an issue; maybe it's just because no one had taken the time to do it before, but as soon as the guidelines were distributed, almost instantly the level of communication fell in line with expectations - our evening student workers hit about the exact right level of communication for off-hour issues, and our business hour workers knew the exact right way to process new issues that arose.
In my currently workplace, we have a brevity rule in place when it comes to communications be it in our chat or email. Spamming messages is discouraged and comes with some reprimand if it's a repeated offense, from the beginning, it is hammered into people's minds what other resources are available for reference before going to chat or email for assistance, and so on.
Our frontline support works across the hall from R&D, and both teams will work in tandem when required for certain issues. iIt's pretty important to make sure we have the right balance of accessibility for resolution of new bugs and respect for everyone's time (higher tier support, R&D, etc).
Compared to my very first job out of university, these two standards for communication were far better, and I think it left many people much happier. Having a grounded stance on communication expectations for your workplace can do a lot to ease the torrent of emails and messages; there will always be people who are exceptions, and will spam messages or email or phone calls for whatever whim they have, but you can't really plan for such types; the rest will fall in line if there is a clear expectation of best means to communicate. This doesn't have to be set in stone or put harshly, just clearly stated as "I'm happy to help - here is what I really can help with, for other things, you probably want to find X, and you can best get my attention by doing Y. Problems [P-S] get my attention quickly, other things may be responded to in T minutes." It doesn't have to be that formal, but if your time has to be that micromanaged, then something like this helps.
Most people really are worried about interrupting and interfering, but there aren't always clear visions of what is and isn't bugging someone. Just getting it out there clear for people goes a long ways to reduce work stress.
Users of the extension report benefits that sound similar in kind and magnitude to those mentioned in the article . The median user has Gmail open, but the inbox hidden, for 1.5 hours per day (mean: 4.5 hours).
I'm starting to think that "inbox hidden by default" should be the standard UI for an email client.
It prevents you from fully interacting with the people who are actually around you when you pull out your phone every 30 seconds to fire off a quick text reply.
There is absolutely no reason to check your texts on a continuous basis, as they come in. It makes you nervous and instills a perpetual low-grade anxiety in you.
If it's an emergency, they'll call you. If it's not, then it can wait.
tl;dr check notifications in batches, at predetermined checkin points, rather than continuously throughout the day. You'll be happier for it.
These things are rarely the case. 90% of the time it's a spam e-mail or a note from a friend that doesn't need to be addressed right away. But I will still think about these things, and actively worry about them, until I read the message.
So it helps to put the phone away, somewhere where I can't see it, on silent so I can't hear it -- even still, I have to check it at frequent intervals, without a real pattern, because a random glint in the corner of my glasses will make me think "oh was that my phone? Wait, my phone's in the other room. I wonder if I have messages? Shit, what if someone's been trying to contact me?"
The solution is simple (but not necessarily easy): turn off ALL notifications and badges and vibrations, except for the actual telephone function (i.e. when people call you synchronously, a traditional phone call.) Disable all the rest entirely. No blinking, no vibrating, no numeric badges with little numbers quietly ticking up and up in the corner.
Then tell all your important friends and relatives and co-workers to just call you on the phone, a real traditional synchronous phone call, if something truly important happens.
I can easily imagine it from the other way around, though - if every time you check your messages you have tons, then making each one come through in real time would indeed drive you mad. One solution is to try and manage things so only important stuff gets "pushed" - another is your social solution of only treating phone calls as time critical, which is great if you can make the rest of the world fall into line.
Texts and emails are asynchronous communications, but too often people forget that fact. I generally don't let texts break my workflow. People get pissed sometimes, but over the years my friends have learnt to expect reasonable delays in replies from me. :)
After awhile, it should be possible to achieve minimal interruption, based on what you consider worthy of an interruption.
I know that I don’t like simple solutions like marking E-mail as “important”. In my experience, some people will always mark their stuff as “important” and their definition is not my definition.
Iirc it's open source on Github, I heard about it on 'the bike shed' podcast. (Which I'd recommend, for whatever it's worth.)
On the other hand, who needs ML when you can just set up a filter to automatically delete emails from Debby with the word "Customer Engagement" in the title.
This of course brings up another problem: getting the emails as they arrive can be as distracting as constant stream of notifications from messengers and team chats like Slack.
This kind of aligns with the idea (backed to some degree by various studies) that trying to do multiple things, which you are doing in such an environment leads to people finding it hard to focus and distracting themselves.