[HN Gopher] Programmer interrupted: The cost of interruption and...
___________________________________________________________________
Programmer interrupted: The cost of interruption and context
switching (2022)
Author : jeron
Score : 498 points
Date : 2023-04-05 19:37 UTC (1 days ago)
(HTM) web link (contextkeeper.io)
(TXT) w3m dump (contextkeeper.io)
| chester_the_dog wrote:
| The problem is not that some managers think that it's OK for
| software engineers to be interrupted frequently. The problem is
| that some managers think that frequently interrupting software
| engineers is a feature of startup culture. I once worked for a
| startup where I was interrupted frequently. My boss often worked
| remotely, while I was in the office every day. If I tried to
| carve out periods to write code where I ignored slack and text
| messages, my boss would call people in the office to interrupt
| me. If I put on headphones to isolate from the sound, people
| would come wave their hands in my face or tap me on the shoulder.
| When I explained that I needed periods where I was not
| interrupted, I was told by the director of software that I
| "didn't understand how startups work" and that I was "acting like
| a girl". I quit, and shortly after I quit the company went out of
| business.
| tegiddrone wrote:
| That is levels of toxicity beyond too many interruptions !
| Sorry you experienced that
| pokepim wrote:
| [dead]
| rowls66 wrote:
| I thought this was going to be about program performance and how
| to reduce the impact of interrupts and context switching on
| performance in your software. How disappointing.
| BrandoElFollito wrote:
| Non programmers won't get it.
|
| I am trying to explain it to my wife (using the cartoon on the
| article) but she says I am always busy.
|
| Which is probably true, but somehow she manages to interrupt my
| thoughts right when I was holding the whole heap in one hand,
| reaching for the duct tape with the other and pushing the
| keyboard with the nose.
|
| Never when I just started vscode :)
| NoPicklez wrote:
| "Non programmers won't get it"
|
| Complete ignorance for what other jobs do.
|
| Writing code is not so different from writing long reports.
| When I am writing a long report, I need to focus as well and do
| not want to be interrupted.
|
| Programming is not the only job that requires deep thought and
| concentration.
| mtrower wrote:
| You're right, but... do you write long reports, all day,
| every day?
| Eugr wrote:
| Programmers is not the only profession that has a high cost of
| context switching. Scientists, lawyers, engineers, writers -
| pretty much anyone doing intellectual work would understand.
| tester457 wrote:
| Artists too
| ChuckNorris89 wrote:
| You forgot doctors and nurses.
| Eugr wrote:
| The list is too long, really.
| hotpathdev wrote:
| Now let's look back at the list provided: -Scientists
| -lawyers -engineers -artists -doctors -nurses
|
| And compare it to programmers and writers. The non-
| programmer/non-writer world think programmers "just play on
| the computer" all day. So I think GP is spot on, non-
| programmers don't get how interrupting flow is catastrophic
| to what we do.
| BaseballPhysics wrote:
| For the record, this isn't unique to coders. Any kind of deep
| focus work suffers from interruptions, whether that's coding,
| writing, research, etc.
| danginmytoliet wrote:
| [flagged]
| shinycode wrote:
| You won't use AI to replace a programmer because you likely
| wouldn't have any job left to do, meaning either your boss will
| replace you with AI or AI will replace your company altogether
| 908B64B197 wrote:
| > From a risk management perspective, why would I hire a
| programmer and pay them 200k a year when they cannot handle
| basic communication without becoming unproductive?
|
| Do you actually hire programmers (people just transforming
| detailed spec into code) at 200K/y? Or do you hire Engineers
| for 200K + Stock to transform uncertain requirements and
| constraints into a working solution? If the former, you are
| overpaying a lot.
|
| > Are humans still necessary when robots are able to understand
| humans and become fluent ESLs?
|
| Does such a robot exists?
| commandlinefan wrote:
| > Does such a robot exists
|
| No, but if it ever does, they're going to replace all
| programmers with it, regardless of their "soft skills".
| cracrecry wrote:
| >why would I hire a programmer and pay them 200k a year when
| they cannot handle basic communication without becoming
| unproductive?
|
| As entrepreneur myself, the main reason I pay someone 200K is
| because I can make this person generate more than 200k in
| profit.
|
| The fact that someone have flaws, like any human being has, is
| an opportunity for me as I can make those flaws irrelevant by
| providing the environment where a team could be extra
| productive.
|
| That means the team needs me and my company. If they were
| perfect on their own, they would not need me or my company at
| all and would be able to compete with my company.
|
| If robots could one day do the work of programmers, they would
| be able to do the work of managers and entrepreneurs as well,
| which is way easier(I am engineer too).
|
| >Are humans still necessary when robots are able to understand
| humans and become fluent ESLs?
|
| Yes, they are.
| properparity wrote:
| If an AI is ever capable of replacing a human programmer it
| would also be capable of replacing a manager and running its
| own company.
|
| So why would you even be in a position to hire anyone?
|
| In fact why are you working at all? The robots are doing
| everything already. Just sit back and relax, enjoy the matrix.
| marcosdumay wrote:
| > we should quickly replace programmers with AI
|
| Well, nobody is stopping you. Go try.
| intelVISA wrote:
| Depends, can this fabled all-knowing robot also humor facetious
| comments on HN?
| klodolph wrote:
| That's the same misconception about programming that people had
| decades ago. People thought the same thing when we introduced
| 5GLs back in the 1980s, and there was a lot of hype, and
| programming became more accessible, but demand for programmers
| increased rather than decreasing. People thought the same thing
| back when Fortran was introduced in the 1950s, and programming
| became more accessible, but the demand for programmers
| increased rather than decreasing.
|
| The trick is that you need to hire someone to come up with a
| description of the problem which is precise enough that a
| computer can handle the rest. That person is the programmer.
|
| If you're being sarcastic, it's not clear, just put a /s on the
| end or something.
| Mountain_Skies wrote:
| Same with SQL, which was promised as a way for data
| processing managers to get rid of expensive programmers as
| the managers would now be able to get whatever information
| they wanted from their databases using an easy to understand,
| English like language. All it did was change the nature of
| the job of retrieving and storing database information but
| didn't actually get rid of the programmers.
| commandlinefan wrote:
| > All it did was change the nature of the job
|
| It also created SQL injection vulnerabilities, so there's
| that.
| TylerE wrote:
| No, that's something bad programming languages did.
|
| SQL is purely declarative.
| wellanyway wrote:
| All but one sublanguages of SQL are imperative... https:/
| /en.m.wikipedia.org/wiki/Data_manipulation_language
| butlerm wrote:
| INSERT, UPDATE, and DELETE sound quite imperative to me.
| Not to mention DROP TABLE.
| ResearchCode wrote:
| The person who does not do any deep work probably gets
| automated away first. Doing simpler office tasks with a lot of
| context switching sounds like something for an LLM.
| rqtwteye wrote:
| AI will happen anyways.
| SketchySeaBeast wrote:
| Would you fire a brain surgeon if he's not willing to stop and
| provide a consult while he's operating? There's even robots who
| are equally as capable of surgery as AI are of software
| development.
| mr-pink wrote:
| seems like this idea of external distraction is a self-fulfilling
| prophecy. just be better and keeping your mind where you want it.
| Mizoguchi wrote:
| One of the perks of growing up in a huge family is that you learn
| how to work in an noisy environment while being constantly
| interrupted. Never occurred to me one day I will count that as a
| skill.
| wellanyway wrote:
| That would be an interesting study. Cross referencing self
| described irritation at interruptions to size of the family you
| grew up in.
| asdff wrote:
| If I know I am going to have my day broken into sub 1hr chunks
| thanks to meetings and such, I pretty much write off the day
| entirely. It takes time to get into the flow state, some studies
| cite over 20 minutes, and once you are in it you want to stay in
| it for like four hours. No emails to follow up with, no slack, no
| zooms, no one tapping your shoulder, no conversations about the
| weekend distracting you on the periphery, just you and your task
| at hand.
|
| It's pretty ironic, because this is how a lot of people study in
| the library at college,show up and stay all night grinding in the
| flow state with your phone shut off. Yet when you graduate to the
| work place, you seldom have the opportunity to work like how
| you've been training to work for all your advanced schooling ever
| again.
|
| With respect to the article and maintaining context while coding
| for different projects, I find having a tmux session for each
| individual project super helpful.
| robotresearcher wrote:
| > you seldom have the opportunity to work like how you've been
| training to work for all your advanced schooling ever again.
|
| Sure you do. The college day is broken up into many unrelated
| scheduled meetings, with high switching cost. Then you do the
| deep work after hours.
|
| My post-graduation life is not so different. Maybe it suits my
| brain, but it's been OK. I like the work.
| nicoburns wrote:
| How viable this is probably depends on what you study, but I
| skipped most of the scheduled meetings (lectures) during
| college. At the most prestigious of the 3 universities I've
| attended (which seemed to have more respect for their
| students than the other 2) this was actually encouraged if
| you felt you had better ways to make use of your time.
| robotresearcher wrote:
| Skipping doesn't work if you are the professor ;)
| MH15 wrote:
| Having tmux sessions for each open task is a life-saver,
| especially in an environment where I do all my work on a remote
| server. Now I can close the laptop lid and never lose work.
| Simply reopen the ssh connection and keep going.
| totetsu wrote:
| What was that stateless ssh alternative? Using that you don't
| even have to reopen the connection, it just works again right
| away.
| mangamadaiyan wrote:
| mosh?
| simongray wrote:
| Eternal Terminal works better.
| LinXitoW wrote:
| Do you exclusively work on remote servers? I love tmux, but I
| have the issue that I also use it locally, and to my
| knowledge, you can't have local and remote sessions in one
| tmux daemon. So I either have to open tmux in tmux, or open
| it in a separate terminal window.
|
| You mentioned your editor on the remote server. Does everyone
| have their own account with their own settings on all remote
| servers? We're still at a point where everyone accesses
| servers via the one shared "root-ish" user.
| jjwhitney wrote:
| (Random tmux user commenting here...)
|
| I always run tmux locally. If you want to connect from a
| different computer, just ssh in and then "tmux attach".
| MH15 wrote:
| My workflow is SSH in and run tmux on the remote server. I
| don't do any work directly on my laptop.
| asdff wrote:
| Its especially helpful for stuff where I haven't touched it
| in a while too. One alias and boom, I'm back in a session
| with a pane with my editor open, a pane with the log, a pane
| with some notes, and a pane with the shell displaying the
| last line of code I ran from when I was last working on this
| pet project over six months ago. Right where I left
| everything and I can jump back in as if I was working on it
| an hour ago.
| darkteflon wrote:
| I have a separate VS Code window connected to a dev
| container for each project that stays open for days, weeks
| or months at a time. Does the tmux approach materially
| improve upon that setup? Genuinely curious if I'm missing
| out on something here.
| asdff wrote:
| You can end up pretty deep down the rabbit hole with tmux
| and configuring it in different ways. One thing you can
| do that you might not be able to do with your vscode set
| up is have a script, written in tmux commands, that
| generates a complicated windowing environment. I am not
| familiar with the capabilities of your setup though,
| since I don't use vscode. I would guess tmux is more
| comfortable than vscode for using it with just the
| keyboard too.
|
| There's a ton written on tmux as you can imagine by this
| point. This page seems pretty comprehensive on the
| advanced features including tmux scripting:
|
| https://github.com/tmux/tmux/wiki/Advanced-Use
| thepostman0 wrote:
| Maybe, you can SSH to GNU Screen and attach where you
| were, perhaps from your phone to just read. You could do
| the same with rdesktop to something x11, but you'd need
| more than a 256MB VM for that. If you have this running
| 24x365 then you'd spend more energy/money.
| throwbadubadu wrote:
| To all above: but machines reboot, also, not? Even our
| coorp Linuxes now succumb to ugly IT update reboot
| cycles, Cloud VMs even more ephemeral, and lets not even
| start with dev containers... One can script tmux sessions
| to some degree, but still loosing a lot of state (editor
| open ther, shell history here..).
| asdff wrote:
| I hardly reboot a machine unless I am intending to, but
| there are plugins for tmux for this too.
|
| https://github.com/tmux-plugins/tmux-resurrect
|
| https://github.com/tmux-plugins/tmux-continuum
| t-3 wrote:
| Rebooting my dev boxes for security updates or kernel
| upgrades once every few months/year isn't a big deal, and
| I generally know when it's going down. The laptop is an
| ssh terminal/browser/doc reader only!
| visarga wrote:
| Me too, that's why I don't care how old it is anymore.
| dboreham wrote:
| Same, but Windows desktops. Email and Slack only on the left
| most desktop.
| saghm wrote:
| > It's pretty ironic, because this is how a lot of people study
| in the library at college,show up and stay all night grinding
| in the flow state with your phone shut off. Yet when you
| graduate to the work place, you seldom have the opportunity to
| work like how you've been training to work for all your
| advanced schooling ever again.
|
| To be fair, I think staying up all night trying to be
| productive instead of getting a good night's sleep also makes
| it hard for most people during the day. As someone who
| consistently got 6-8 hours of sleep every night in college
| before a day with classes, I've always been mildly horrified by
| the fact that "staying up all night studying" is somehow
| considered a good thing.
| makeitdouble wrote:
| There is a general accepted "healthy pattern", but I think
| there more to it:
|
| - not everyone has the same sleep patterns, and while it can
| usually be coherced, for some that doesn't work or has too
| many downsides.
|
| - some people have straight sleep issues and, sleeping in
| 6-8h blocks doesn't help. "then fix the issues" could be the
| basic advice, but again, that's usually easier said than
| done, or has worse side effects.
|
| In that respect I agree with parent that it would be nice if
| "weirs" work patterns were more accepted
| nyulmalac wrote:
| Indeed I am night owl. I tried to accommodate myself to go
| to bad early sleep 8-9h, het up early. Nevertheless, I am
| energized and happy only when I can get up between 8-9
| (Morning;)) Which usually contradicts the social and work
| expectations...
| earthling8118 wrote:
| I think you're still missing the point. It isn't that you
| need to stay up all night, but rather the flow state. In
| college you typically have classes during the day so you
| aren't going to get it then. That doesn't make it a great
| thing but it also isn't exactly relevant to this
| conversation.
| watwut wrote:
| Even in college with classes, overnight studying is one of
| the least effective way of studying. And no, you don not
| need 6-8 hours of consecutive flow to learn anything.
|
| Whatever the reason for celebrating overnights, effectivity
| of it is not it.
| mrguyorama wrote:
| I don't think the parent was suggesting overnights to be
| celebrated. In my group of high achievers, we joked about
| all nighters but anytime it actually happened, it was
| always treated as "we fucked up and were lazy and should
| have done this ages ago and this is our penance to
| attempt to claw back some almost positive outcome and
| passable grade from really poor planning"
|
| Years later some of those kinds of situations were
| bonding moments, but none of them are considered a good
| thing.
| saghm wrote:
| I understand the point they're making, but I'm not sure you
| understand mine though. If someone talking about weight
| loss suggested that people should just never eat breakfast
| to reduce the amount of eating they do in a given day, it
| would be relevant to offer a critique this may end up being
| counterproductive overall to the goal due to it just
| pushing the issue into another part of the day; this is
| basically the same thing.
| marcosdumay wrote:
| Hum... Isn't that intermittent fasting?
| zikduruqe wrote:
| The rest of the world calls this lack of readily access
| to food.
|
| First world problems; there is so much food that we can
| make lifestyle choices around it. You can pretend to be a
| caveman and eat "paleo" since meat is neatly wrapped in
| plastic at the store and you didn't have to hunt it down.
| (And if you study the Hadza tribe who are one of the last
| paleo-bros on the planet you'll find that meat is a small
| part of their diet). You can forgo certain meats and call
| your self pescatarian since you can find fish in the
| middle of a city. And you can intermittently fast since
| you know that you can quit anytime and stuff yourself
| full of food.
|
| We as a modern society have to be the most smug of all.
| Think about every predator in the world. We constantly
| pay to exercise, to burn off EXTRA calories, where as
| every other animal on the planet conserves them or
| expends a vast amount to obtain more.
| Cthulhu_ wrote:
| So many people have done intermittent fasting without
| realizing they could brag about their hipster diet, lol.
| eitland wrote:
| > If someone talking about weight loss suggested that
| people should just never eat breakfast to reduce the
| amount of eating they do in a given day, it would be
| relevant to offer a critique[...]
|
| Tangential, but might be interesting to some:
|
| sometime before the pandemic, after (I think) 30 years of
| always eating some kind of breakfast, I accidentally
| missed breakfast once and that day I felt I had
| significantly less brain fog after lunch.
|
| So I tried again to see if it was just a coincidence, but
| it had happened again and again.
|
| And, I realized, as long as I don't start to mentally
| prepare for breakfast I don't start feeling hunger
| either.
|
| I'm not suggesting this is a good idea for everyone, only
| that for people like me who has followed "best practice"
| for decades and doesn't feel too enthusiastic about it,
| testing out alternative approaches might be a good idea.
|
| PS: the total amount of hunger I feel in a day seems to
| have gone down too.
| watwut wrote:
| When I do not eat breakfast, I am unable to focus on
| work. It does not matter when I am in dysfunctional team
| (so I was actually not eating breakfast), but the moment
| I needed to produce, I had to eat.
| eitland wrote:
| Seems to be most common.
|
| My comment is only pointing out that for me it is the
| opposite: I work better without breakfast.
| mrguyorama wrote:
| That's very unusual. Your brain needs ready supplies of
| glucose to function. Not eating breakfast is forcing your
| body to turn energy stores into glucose in a way that it
| tries to avoid and probably doesn't give your brain ample
| supply, or just not function well.
|
| Do you actually work better, or have you decided that you
| work better?
| Xcelerate wrote:
| I noticed that too. I also started skipping lunch for the
| same reason. If I do eat lunch, it's only on days with a
| lot of meetings in the afternoon. If I want focused work,
| I skip it.
| eitland wrote:
| Actually same here: I try to only take a couple of
| glasses of milk and a brisk walk for lunch.
| atoav wrote:
| Yeah, but the point you missed was about the
| _uninterruptedness_ of studying for an exam -- a student
| might be able to dedicate a whole week to learning for an
| exam and then study each day with _minor_ interruptions.
|
| That those studying session can sometimes be too long to
| be healthy is certainly true, but was not the point
| argued here.
|
| When someone argues that a Ferrari is a fast car and you
| criticize that not all red cars are fast, you are arguing
| against a statement nobody made while still saying
| something true.
| saghm wrote:
| > Yeah, but the point you missed was about the
| uninterruptedness of studying for an exam -- a student
| might be able to dedicate a whole week to learning for an
| exam and then study each day with minor interruptions.
|
| I don't know why you assume that I don't understand that
| they're saying that their studying is uninterrupted when
| it's overnight. That doesn't change the fact that sleep
| deprivation is also something that makes any sort of
| studying less effective.
|
| > When someone argues that a Ferrari is a fast car and
| you criticize that not all red cars are fast, you are
| arguing against a statement nobody made while still
| saying something true.
|
| In this case, it feels more like someone said that
| Ferrari is a fast car, and I mentioned that some people
| can't afford Ferrari's and might find a different car a
| better fit, and then you came in extremely unhappy with
| the fact that I dared to mention anything other than a
| Ferrari because that's the only car OP mentioned. It's
| extremely common for people to reply to comments making a
| tangential point, and doing so doesn't at all take away
| from other people's abilities to have parallel
| discussions in other subthreads about different points;
| that's kind of the whole point of this style of forum.
| woopwoop24 wrote:
| swing and miss ;)
| mtrower wrote:
| Maybe because you led in with "to be fair"? Perhaps "as
| an aside" may have been more appropriate, to indicate an
| intentional context switch?
|
| Your point is valid as a tangent, but it doesn't read as
| a tangent to me - it reads as attempting to address the
| point you are responding to.
|
| Just my two cents here.
| saghm wrote:
| I guess that's possible. I don't tend to spend a lot of
| time thinking about introductory phrases like that either
| when reading or writing; they mostly convey tone and flow
| to me rather than being super meaningful, but I could see
| other people focusing on them more causing a disconnect.
| bheadmaster wrote:
| [dead]
| philipswood wrote:
| I'm not criticizing your logical point, but your choice
| of example might be unfortunate.
|
| Intermittent fasting seems to be a very effective
| strategy (for reasons unrelated to your point).
| saghm wrote:
| It's possible that my example might not be up to date. In
| the past I've been given advice that trying to just skip
| eating an entire meal at a time when one normally would
| makes someone less likely to be able to follow through
| with being as strict later in the day. Assuming that this
| isn't an outdated misconception, I think the comparison
| still somewhat holds. Studying all night and not sleeping
| is totally fine if you're able to function fine without
| sleep, but it's counterproductive if you're not. In the
| same way, "just eat less" works as long as you're able to
| follow it, but for some people, trying to follow that
| strategy without any other caveats might not be
| particularly effective.
| Cthulhu_ wrote:
| Fad diets like intermittent fasting or any kind of major
| lifestyle change like that take a lot of willpower and
| self-discipline, which is also why most diets fail long
| term.
|
| Better thing to do is have a routine first. A lot of
| people don't have any eating habits, it's more of an
| afterthought or a "whenever I'm hungry I'll eat" kinda
| thing. You can't base a diet off of that.
|
| If you fix your diet by just eating at the same moments,
| roughly the same amount of time, only then do you have a
| baseline. Then make tweaks on that baseline. Evolution
| instead of revolution, only that will be sustainable.
| maccard wrote:
| Im a manager now, and I've accepted these days as a reality. I
| block book time on my calendar in 2 hour chunks (4 pomodoros)
| so that week on week I'm consistent.
|
| Ive got some tasks that I can fit in those in between slots. As
| an IC I would do them at the start/end of the day, but now I do
| them during those blocks of time. For me, it's things like
| smaller code reviews, reviewing design docs or triaging issues.
| wpietri wrote:
| > no slack, no zooms, no one tapping your shoulder, no
| conversations about the weekend distracting you on the
| periphery
|
| My teen jobs were in stores, restaurants, and manufacturing. In
| those contexts, everybody understands that when you're working,
| you're actually working. Even managers understand that even
| small discussions need to be fit neatly into the flow of the
| work, and actual meetings require careful planning to not
| disrupt operations. The space too was carefully designed to
| maximize effectiveness.
|
| So American office culture seems absolutely wild to me.
| Especially in software, where we are expected to fit our actual
| work into a sort of calendar Tetris. Oh, a grand poobah would
| like another status meeting, plus a lot of time spent coming up
| with estimates that are not going to change anybody's behavior
| in the slightest? Gosh, do you think that might have an effect
| on the completion date? And sure, why don't you put me next to
| the salespeople making calls all day. I'm not making any
| progress anyhow.
|
| The only conclusion I can come to is that in a lot of places,
| productivity is much lower on the list of observed priorities
| than stated priorities.
| ashton314 wrote:
| > And sure, why don't you put me next to the salespeople
| making calls all day.
|
| I've worked next to people with zero volume control and who
| like to take calls on speakerphone.
|
| I decided there and then that cubicles has material benefits
| over open offices.
| gumby wrote:
| > I decided there and then that cubicles has material
| benefits over open offices.
|
| The cubicle was invented in the 60s as a way to liberate
| people from the tyranny of the open plan office (just look
| at film from before then -- say, "The Apartment" --- and
| you'll see the open plan was the norm.
|
| It's a shame that the cubicle itself became a tool and
| exemplar of anomie.
| georgemcbay wrote:
| I'm old enough that I remember a time when developers had
| offices... sometimes private, sometimes 2 to a large
| office, but usually shared with other developers who
| generally also understood the benefit of not being
| interrupted so it worked out fine.
|
| Young me's head would explode if I got a glimpse into a
| future where cubicles are now looked at as the good old
| days.
|
| And the progression keeps going with a lot of companies
| that have open office "hot desking" where not only are you
| working in a chaotic open environment, but you don't even
| have your own little space there from day to day.
|
| All of this makes it seem increasingly bizarre to me that a
| lot of the industry was forced to make remote work viable
| through the pandemic and many companies saw productivity go
| up and now a lot of them are trying to claw back on remote
| as quickly as possible.
| organsnyder wrote:
| My internship at IBM twenty years ago was like that. A
| fellow intern and I shared an office (and an apartment--
| we were sick of each other after a while), but the FTEs
| all had their own offices. No idea if it was the norm for
| IBM at the time (my team was part of an acquisition that
| was still mostly isolated from the wider company), but it
| was extremely conducive to productivity.
| bluedino wrote:
| We share an old (1960's) building with our research
| department. Almost everyone has an office, except for
| contractors and administrative assistants who are in
| cubes.
|
| This building is scheduled for demolition and we're being
| moved to an open-area workspace in a new building.
|
| At least it's above trendy retail so we can get
| overpriced coffee and sushi on our lunch breaks.
| qikInNdOutReply wrote:
| The cause of all this is the grafted on management caste,
| that does not code. For them the whole endavour
| suspicously looks like not doing a thing, for to do a
| thing, there needs to be communication, information
| flowing up and down the hierarchy. Not some dude sitting
| there like a zen monk, reading, ocassionally typing.
| Slackers! Best load there calendars, to get them going..
| bsenftner wrote:
| I'd say the cause of this is the developers can't explain
| themselves, cannot defend why they need isolation, why
| they should not be interrupted, and more often than not
| can't explain what they do, what their jobs are and why
| they are required, in an understandable manner to the
| management caste. They act as they do because the
| developers are an opaque pool who talk nonsense when
| asked questions. Of course they/we get treated poorly.
| qikInNdOutReply wrote:
| If I walked into a foreign profession, with no clue, no
| previous research and assumed to be in command, with the
| base assumption that its the task of the surrounding eco-
| system to explain my job to me..
|
| Lets say it that way, such a mindset ought to be valuable
| to the extreme. Thats why we see a constant stream of
| meddle-managers, setting out to make compliance and
| "apply presure" startups. Its definatly at the core of
| value generation.
|
| ChatGPT: Ask me on the hour, every hour for my status and
| remind me of the deadline..
| ornornor wrote:
| There was a lot of "hurry up and wait" at my last job, so
| I had time to reflect on the hotdesking there.
|
| And I theorized that one aspect of hotdesking is absolute
| control over employees by having them go through the
| experience of "clearing their desk" every day so they
| feel like they're fired every day. This puts the grunts
| back in their place and keeps everyone docile because you
| know you're just a cog and your job is not a permanent
| thing at all but rather something that you must work hard
| at earning again for the next day, lest today's daily
| desk clearing be your last one.
| chillfox wrote:
| It's not about productivity, it's about power and
| control.
|
| Also, companies aren't independent entities with their
| own will. They are just groups of people.
| silisili wrote:
| Similar raising. At one point I was ASE certified, at another
| I was a landscaper.
|
| The first thing I noticed about white collar work was how
| gossipy and lazy everyone was. We didn't have time for that
| in blue collar work. I had no idea how these people were
| useful to work or society.
|
| It seems so bizarre to me, even today, that most white collar
| jobs make more money. It's like they took the people who
| couldn't work physically, made them feel superior, and for
| some reason paid them unreasonable wages.
| asdff wrote:
| IMO you work harder in blue collar but its less stress
| because people don't expect you to hustle to meet a
| deadline.. I was also a landscaper for a while. Labor is
| labor in that sort of job, it marches at an expected rate
| and is dependent on how many hands are working. You often
| cannot just work for longer, either, if you are bound by
| the constraints of daylight, or having to clear out of the
| area by a certain time due to noise perhaps. There is also
| no way to weed, mow, or lay sod faster than you are already
| doing it. The deadlines end up moving to fit the realities
| of the speed of labor against the realities, rather than
| what happens in white collar work where labor being
| expected to meet self imposed rigid deadlines, which leads
| to burnout and poor quality work, and still missing
| deadlines.
| Ialdaboth wrote:
| It's not really a secret that a lot of white collar jobs
| are bullshit jobs - if all blue collar jobs were to stop
| working, society would collapse overnight. Not so much with
| white collar jobs. We got a taste of that with the various
| lockdowns during covid : only the truly essential jobs must
| be done live and cannot be done remote.
| red-iron-pine wrote:
| Aye, same. The level at which my time was structured and
| accounted for on the blue collar level would astound the
| white collar folks. Entirely directed vs. entirely self-
| directed.
|
| > It's like they took the people who couldn't work
| physically, made them feel superior, and for some reason
| paid them unreasonable wages.
|
| Easy killer, you're projecting.
|
| I could go back to being a bartender today, and could do
| 90% of the job (I'd have to refresh my memory how to mix a
| few drinks, but most of em are still there). I could
| probably go back to Private Investigator, or food truck
| work too.
|
| But it took a whole lotta learning to get to the point
| where I can do my current white collar job. No one I
| bartended with could stay sober 4+ days a week or avoid
| DUIs; no way in hell I'd trust them with a production GCP
| cluster.
| klibertp wrote:
| And then you're finally fed up with all this and go full
| remote, if the company allows it. Congrats, now you lost
| access to 80% of what is going on and fell out of the loop
| for anything important, and you're now guaranteed to lose in
| any power struggle that could happen.
|
| In one of the companies I worked for, it was comfortable in
| the beginning - there were offices, 2-3 programmers in each,
| not too crowded, but close enough to see when the coworkers
| were focusing on something and when it would be ok to do a
| quick "hey, do you know how to...". The company grew, moved
| to a bigger building, rooms became larger, now there were 4-5
| programmers in each. It was still OK then. Calls and longer
| talks were done in separate rooms, and a quick chat with the
| guy next to you could be done like you'd do it in a cinema -
| quietly.
|
| When I was leaving the company years later, it was after it
| moved to a place with one huge open space and a set of rooms
| that you needed to book days in advance to use. Some of them
| were permanently occupied by "important" people even though
| they had their own offices. That resulted in everybody and
| they're cat making calls and meetings and sometimes even
| plannings right in the middle of the open space or in the
| kitchen. Finally, a "hot desk" system was implemented, and
| you had to _book your desk days in advance_.
|
| I asked the CTO who I've know for quite some time - WTF man?
| He said that he likes it, because he can see at a glance that
| everybody is working. I was reminded of storehouses with
| special elevated rooms that had a view on all that happens on
| the floor. Saying that I got disillusioned doesn't even begin
| to describe what I've felt then...
| carolayni wrote:
| A modern version of the Panopticon, so to say:
| https://en.wikipedia.org/wiki/Panopticon
| zikduruqe wrote:
| And interestingly enough, a recent podcast on it.
|
| https://99percentinvisible.org/episode/the-panopticon-
| effect...
| gumby wrote:
| > I asked the CTO who I've know for quite some time - WTF
| man? He said that he likes it, because he can see at a
| glance that everybody is working. I was reminded of
| storehouses with special elevated rooms that had a view on
| all that happens on the floor.
|
| This kind of panopticon is how prisons are often organized.
|
| I can be lying on a couch working hard. How does the CTO
| see that? The typing part is just the tip of the iceberg.
| JustSomeNobody wrote:
| > I can be lying on a couch working hard. How does the
| CTO see that? The typing part is just the tip of the
| iceberg.
|
| It is amazing that most knowledge worker management does
| not understand how knowledge workers work. Most of our
| hardest work does not involve hands on a keyboard.
|
| I've been full remove for a decade. There's no way I
| could work in an office where "butts in chairs" was the
| way. I guess I would just have a notepad and a pencil and
| just sort of move my hand back and forth on it while I
| was in my head solving the real problems.
| TheDudeMan wrote:
| > And sure, why don't you put me next to the salespeople
| making calls all day.
|
| Dude, how about a trigger warning next time?
| brailsafe wrote:
| Ya for real this made me go blind for a few seconds
| Cthulhu_ wrote:
| I think the distractbility and the opportunity to just sit in
| meetings and chats all day is an example of the priviledge
| that we as white collar workers enjoy. Our productivity isn't
| measured in output, in number of pallets cleared, in end of
| day take, it often feels like it's measured in just time
| spent under a contract.
|
| It feels like I can get away with only a few hours of what to
| me feels like productive work a week. Actually, I had a
| really good day last week, but then it takes days for the
| feature to pass review, rework for said review (often trivial
| remarks), and to end up in the main branch ready for
| deployment.
| babyshake wrote:
| > And sure, why don't you put me next to the salespeople
| making calls all day.
|
| Or better yet, put me next to the salespeople that instead of
| making calls all day are just goofing off.
| irrational wrote:
| Wait, are you me? I've had the exact same experiences!
| Especially being sat next to sales people. Even when they are
| not on the phone, they tend to be very loud, outgoing,
| exuberant, extroverted, etc. and are constantly chatting.
| thatoneguytoo wrote:
| This is exactly the way trydeepwork.com works. You should give
| it a shot :)
| Operyl wrote:
| Since you built it, could we get accomplishments and
| analytics stored completely in localstorage so we don't need
| to register/login? :)
| lumost wrote:
| I have the unfortunate privilege to work at a firm where the
| senior engineering leaders believe context switching is a
| requirement. They judge people on whether they can do it.
|
| I find that this leads everyone to constantly do multiple
| concurrent tasks. After a long day I often have a headache from
| having to concentrate on both my coding task, an operations
| task, a meeting, and a new request at the same time.
|
| Ultimately, as you would expect - productivity is awful. They
| then have lengthy discussions on how to improve productivity by
| every mechanism other than what's known to work (faster builds,
| faster tests, increased focus time)
| mangamadaiyan wrote:
| Heh. The same at my workplace, except that build times suck,
| tests take a long time to run (and are not dependable), and
| you're expected to be on an electronic leash -- namely, one
| of the worst possible instant messengers.
| steve1977 wrote:
| You can say MS Teams here, it's ok...
| mangamadaiyan wrote:
| Touche :)
| JPws_Prntr_Fngr wrote:
| I would rank Slack above Teams in nefariousness,
| _because_ it 's a better tool, so people like it more,
| use the shit out of it, and inundate you with so much
| more noise.
| heywhatupboys wrote:
| if it takes you that long to get back into your code base,
| maybe your codebase is way too confusing. 2
| Cthulhu_ wrote:
| > I pretty much write off the day entirely.
|
| I think this is the mindset that a lot of people have, but
| always keep in mind, the meetings is part of your job, and
| writing code is also only one aspect of your job.
|
| What I'm trying to say is that don't let the meetings frustrate
| you, instead just accept them and the distractions. Few people
| get to do what they really want to do all the time, and it does
| often seem that software developers show some prima donna
| behaviour in that they just want to stay in their flow and the
| other aspects of their job should be dismissed.
|
| I mean I get it, writing code / flow state is enjoyable and
| makes you feel productive, but you get paid for the full
| package.
| fryry wrote:
| This would be a valid way of thinking about it, but
| programmers aren't generally judged on their meeting
| attendance but rather their code output. More meetings ==
| less code == worse perceived performance == fewer
| opportunities for pay increases and promotions
| lr1970 wrote:
| > This would be a valid way of thinking about it, but
| programmers aren't generally judged on their meeting
| attendance but rather their code output.
|
| Not universally. Programmers are judged by overall success
| or failure of the project they are working on. And those
| ones who can take credit for a success or who can
| effectively deflect blame for failure are the ones who got
| promoted. Being in the meetings with the decision makers
| provides the forum for self-promotion and controlling the
| message. This does not always mean that they did most of
| the work. More code or less code is unfortunately
| secondary.
| oriolid wrote:
| Did someone ask for this story? https://www.folklore.org/St
| oryView.py?story=Negative_2000_Li...
| danwee wrote:
| > More meetings == less code == worse perceived performance
| == fewer opportunities for pay increases and promotions
|
| That's a rather junior mentality. When one is junior, yeah,
| usually the most one can do is moving Jira tickets to Done
| (which means merging code usually). But when one is senior,
| the pay increases and promotions come from other
| activities: mentoring, handling technical topics between
| teams (usually via meetings), etc.
| TexanFeller wrote:
| What I'm hearing you say is that the incentives in our
| industry are broken.
| PragmaticPulp wrote:
| I also do much better with long chunks of time, but it should
| be possible to make meaningful progress on most programming
| tasks in a true 1-hour block. It's common for people to use the
| Pomodoro technique to great success with blocks of work half
| that size.
|
| Often, the real problem is that people don't actually have 1
| hour of working time in between meetings. We sit at our desks
| and feel obligated to respond to e-mails and Slack messages.
| Our Slack responses turn into conversations that consume 5-20
| minutes without a clear end. We need to spend 5-10 minutes
| reading backlog to catch up. We need to get a drink or use the
| restroom. That 1-hour chunk of free time on your calendar may
| only have 10-15 minutes of concentration time, which is the
| real problem.
|
| I've had some success with blocking off calendar time to mark
| 1-2 hours of focus time. Having something on your calendar
| makes delayed responses in Slack socially acceptable.
| teki_one wrote:
| > I also do much better with long chunks of time, but it
| should be possible to make meaningful progress on most
| programming tasks in a true 1-hour block. It's common for
| people to use the Pomodoro technique to great success with
| blocks of work half that size.
|
| Pomodoro does not need context switching.
|
| Breaks without loading up a different context gives the brain
| time to bring back the body into a less tense state, so the
| next cycle can be more energetic/productive than a continuous
| one. In many cases it lets some ideas run their courses and
| save time by solving conflicting thought forces.
| euroderf wrote:
| Here's an idea. Buy the office some poker chips. Everybody gets a
| few and writes their initials on them in marker. (Maybe a manager
| gets a few more than his direct reports do.)
|
| Complexity values: White 1. Red 5. Blue 10. Grey 20.
|
| When you want to ask a question of someone who looks deep in
| flow, just lay the appropriate chip on their desk. They can
| glance at it and balance the complexity versus their mental/work
| state and decide to either engage at once or defer it. Maybe
| mumble an ETA.
|
| People will have to use the various chip values wisely if they
| want to be taken seriously.
| quickthrower2 wrote:
| It is too late when the chip has gone down even if it is turned
| down, the person has been interrupted.
|
| I think having meetings on Friday might be better. You sprint
| Mon-Thu and sync up on Fridays.
| osdoorp wrote:
| http://www.paulgraham.com/makersschedule.html
| User_1 wrote:
| My code is usually well documented because I write what I'm about
| to do before I do it... Because otherwise I know I'll probably be
| interrupted and forget (I also have a memory issue, don't tell
| anyone!)
| pif wrote:
| The article title correctly talks about a "programmer".
|
| But professional software development is much more than just
| programming, just as sales is much more than signing contracts.
| Sure, signing contracts is what every sale agent looks for, but
| their actual job is _getting_ to sign a contract. And writing
| correct code is the goal of every software developer, but his
| true job is finding out _what_ such code is supposed to do.
|
| Writing one more CRUD information system is just a part of the
| whole software development trade.
| zcbenz wrote:
| Since several years ago I was starting to have health issues that
| if I sat still for too long my eyes/arms/legs/waist would feel
| pain, sometimes fiercely. So I set a timer to remind me to stop
| staring at the monitor and stand up to do some light exercise, at
| first the timer was 40 minutes and in recent years it became 20
| minutes as my body wears.
|
| So now my work is interrupted every 20 minutes, at first the
| timer was annoying but after several months I got used to it
| completely and I don't think it affects my productivity. And
| actually I wish I could do it from the begining so I wouldn't
| have the health issues at all.
|
| However my interruption is short and during it I was uaually just
| thinking about my work while stretching my body, so it is no
| compare to hard context switches like being dragged to a
| conversation.
| ssgodderidge wrote:
| Sorry to hear about the need to take breaks; that sucks. Glad
| you're able to work around it, though.
|
| I suspect the physical exercise is key to your effectiveness
| there. There's a big difference between a pause for a stretch
| and a pause for a message about an entirely different
| workstream.
|
| Not all interruptions are created equal.
| wink wrote:
| People are different. I can usually even answer a question on
| Slack without breaking concentration but if someone is talking
| to me everything's gone. Same as going to fetch a glass of
| water. In the office? Locking the computer and walking kinda
| far, maybe even locking/unlocking a door, meeting people? A
| real interruption. At home, 3m to the tap? Not losing a
| thought. But I do know other people who can talk between
| writing code and not be interrupted but if they have to answer
| on Slack they have the same problem.
| rolph wrote:
| This comes to mind:
|
| https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt...
|
| https://heeris.id.au/trinkets/ProgrammerInterrupted.pdf[PDF]
| theery wrote:
| I don't doubt the cost of context switching. However I also think
| there's noticeable value in time-boxing. If I split my day into 3
| chunks of two hours, with each block allotted to one
| task/project, I end the day with a feeling of having made more
| progress, and I do, because I sense the limited time, and
| therefore execute more efficiently.
| dpkirchner wrote:
| ContextKeeper sounds interesting. Can anyone here recommend a
| similar extension for VSCode? Ideally would offer a way to stash
| and unstash code and tab metadata (cursor position, undo state,
| etc) with one IDE keystroke.
| piotrkarczmarz wrote:
| ContextKeeper's founder here. VSCode plugin is on the roadmap
| and hopefully it will be available before the end of 2023.
|
| Both plugins, for VSCode and Visual Studio, will be using the
| same JSON format for storing "contexts". In other words it will
| be possible to share "contexts" between teammates, no matter
| which IDE they are using personally. There are multiple
| scenarios where it could be useful and improve sharing
| technical knowledge, such as, faster bug fixing and better
| understanding of large system architecture, within an
| organization.
| swah wrote:
| I just open more windows.. you could also use Project Manager
| extension, should have at least a "recent projects" command
| IIRC.
| jrockway wrote:
| This sounds very similar to Emacs's desktop-mode.
| Torkel wrote:
| Reading through the comments here, and in the ton of similar
| threads on this subject, I feel I must be such an outlier...
|
| For me there are different tasks and different days. Some days I
| want uninterrupted flow. But some days I feel more productive by
| chopping it up with a few meetings and some office trash talk. A
| laugh every now and then, teasing a co-worker for screaming at
| his code - it gives energy to me. Talking through a problem or
| pausing for a while in a meeting and then returning to it - that
| can be a great way to see new things.
|
| Now don't get me wrong here, I am not saying meetings and
| distractions are good for everybody. But it's just that for me at
| least the picture is not as clear. Some days I feel I would have
| been more productive if I had had some meetings to distract me.
|
| Am I really the only one to feel this way?
| catears wrote:
| I have a similar feeling. For some work I need to focus, but
| the "why don't we scrap this idea for one that does the same
| thing in 1/10 the code"-moments have mostly been in and between
| meetings and office chatter.
| kjuulh wrote:
| Not at all. I have exactly the same sentiment.
|
| I usually split my work-week in office and remote work. When I
| am in office I plan for having meetings with stakeholders,
| architecture/mob coding with my coworkers, etc.
|
| But when I am at home I can focus on the projects I need to
| execute on, fairly uninterrupted.
|
| It is not perfect and isn't quite as black and white as it may
| seem, and it is difficult to communicate that this is how
| you're working, but just doing it in my org has been pretty
| good.
|
| I probably have one of the more outreaching roles, some mix
| between an architect and devrel with a sprinkle of actual
| execution, so even if it is an outreach kind of role it
| actually works pretty well.
| dijit wrote:
| I don't remember where I read it, in a book or on HN or even if
| someone told it to me. But I learned that when requesting time or
| disruption: certain positions need specialised handling.
|
| An example:
|
| A receptionist does not necessarily need focus time, and is
| interrupt driven, so their work should not stretch to more than 5
| minute intervals; if something takes more than 5 minutes it
| _must_ be filed for someone else.
|
| A manager manages their time in 30 minute increments, anything
| that can't reasonably be done inside a meeting is unfortunately
| unlikely to happen. This is stupid, but it's unfortunately true;
| you might sometimes experience other situations but I think
| that's not the common case.
|
| A programmer (or, researcher, etc;etc) books time in half-day
| increments. If you _must_ have a meeting with programmers, it 's
| often better to book events in serial but only consume half a
| day.
|
| I've been practising this methodology for 8 or so months in my
| org and it does seem to hold true in the general case, there are
| some minor exceptions but most people do seem to he happy.
|
| EDIT: It was the "Makers Schedule" by PG; Serves me right not to
| read the comments[0] before commenting.
|
| [0]: https://news.ycombinator.com/item?id=35462780
| rtpg wrote:
| I feel that this is extremely dismissive of the reality that
| other people do in fact have similar focus requirements, but
| simply have learned to take notes or otherwise deal with
| interruptions.
|
| There are more demand driven roles but probably every person
| you interface with on a day to day basis professionally has
| hard work to do. Sales copy? Focus. Figuring out some
| accounting discrepancy? Focus. Trying to actually plan out the
| next quarters projects in a decent way? Focus. Trying to find a
| good place for a year end party? Focus!
|
| The reality is that everyone has similar interruption issues,
| but understands the existence of needs beyond themselves when
| working on a team. Programmers are maybe special in the level
| of coddling gotten on this topic. Along with a dose of having
| people more likely to have general executive control issues.
|
| This mythologizing gets in the way of trying to tactically
| improve things. Real things programmers can do, such as take
| notes on paper, documenting ideas, writing exit/entry notes,
| and many other things people do to be able to come back into a
| project after interruptions.
|
| It's very liberating to find workflows where you can actually
| get stuff done even in small increments, because you are not
| relying on this idea of doing a hard reset of your mind every
| time you switch tasks
|
| EDIT: to be clear, it's good to let people work uninterrupted.
| Sometimes interruptions are needed because of working in a
| company where other people also have needs. This is true of
| many people working at a company, and so we should operate
| understanding interruptions exist and we are the same as other
| people.
| mtrower wrote:
| I feel in turn that this comment is the dismissive one, and
| in fact extremely so.
|
| The issue is not that programmers need to focus, is that they
| need to focus on deep, complex work. At least a few of those
| other tasks you mention (don't have much experience with
| sales copy, and in rather terrible with both sales and copy)
| do require focus but have smaller reasonable increments of
| progress.
|
| Stop thinking about the workplace for a moment and think more
| broadly of tasks throughout the entire day. Some of those are
| more easily put down and returned to than others.
|
| Some examples of tasks which require focus but interrupt
| well: formatting meeting notes into minutes, simple
| accounting (paying bills, reconciling a ledger). The main
| point with these are that the individual units of work are
| small, and don't generally require a lot of mental preloading
| to begin/resume working on. So if I am interrupted it can be
| irritating but I don't really lose much.
|
| Programming generally involves a lot of mental state that
| needs to be preloaded, and the Subtask units are often not
| small. That's all.
|
| Regarding the insinuation that this "myth" is the result of
| coddling at the professional level: if this were true, then
| non-professionals would not discover this independently for
| themselves...
| rtpg wrote:
| As someone who's had to come up with product copy and have
| had to fix bugs, people trying to interrupt me writing a
| long e-mail gets me way more than people interrupting me
| while trying to fix a bug where I already "know" the issue
| and I'm just doing the cleanup/test writing.
|
| I am being too glib. But the sort of "focus broken, can't
| move forward" feeling is something I constantly have felt
| in many non-programming tasks. Granted this blocking is
| also due to the nebulous nature of those tasks vs, say,
| fixing a bug. Most bugs (not all!) at least have some sort
| of definitiveness to them.
|
| The coddling I talk about is stuff like other staff members
| being told to "not bother the coders", something I've seen
| first and second hand. That, along with many programmer's
| (myself included) habit of generating endless excuses for
| why something is not happening and it being more or less
| accepted as a given. But as someone who struggles with this
| stuff, I also know that a large percentage of it is due to
| my own behavior! And changing that has improved things.
|
| My post is combatative, but mainly because I really want
| people who read this stuff to introspect on their own
| behavior, and _improve_, instead of assuming that the task
| is impossible due to some intrinsicc nature of the work
| that is overestimated
| barbariangrunge wrote:
| I write and program. Writing is harder and takes longer to
| get back into
| wellanyway wrote:
| You aren't seriously comparing looking for a restaurant with
| fixing bugs in a enterprise scale codebase, are you?
| sanitycheck wrote:
| Maybe the difference between programming and most other
| office activities, for me at least, is that I'm very often
| working near the limits of my competence for long periods of
| time. Over the years my competence grows but my problems
| expand to match it.
|
| I don't think that's at all comparable with writing sales
| copy or finding a venue.
|
| Figuring out an accounting discrepancy might be harder for a
| junior auditor than a senior one, because competence grows
| but the problems remain a similar size. (Or I'm talking out
| of my ass, I only have second-hand knowledge of audit and I'm
| led to believe that the attitude of big firms is that if
| something is very hard to find, it's not worth finding
| because nobody else will find it later!)
|
| Planning the next quarters projects tends to be a
| collaborative activity rather than one requiring deep
| individual flow state, I think.
| rtpg wrote:
| > I'm very often working near the limits of my competence
| for long periods of time. Over the years my competence
| grows but my problems expand to match it.
|
| I think that's an interesting way of putting it. I've seen
| coworkers in non-tech positions go through this. There is a
| scope expansion (though of a bit of a different flavor)
| going on often. Many people go to their 1-on-1s and talk
| about wanting to be challenged more, and looking for new
| problems to tackle.
|
| But I do think that a lot of stuff, including
| "collaborative" things, do end up with similar mental
| blockage. How many times does your manager tell you "I
| wanted to get back to this message, but I had so much come
| up all day", even though the final response was maybe only
| a paragraph or two long? Especially in more chaotic
| environments people are facing unique flavors of problems
| pretty often in my opinion.
|
| At one point the systems being juggled are probably very
| complex, and perhaps the ceiling of problem is highest for
| programmers. But I think it's important to not
| underestimate the difficulties and intractability of things
| other people are working on (since the intractability is
| ultimately what generates this whole issue with focus)
| 908B64B197 wrote:
| > The reality is that everyone has similar interruption
| issues, but understands the existence of needs beyond
| themselves when working on a team. Programmers are maybe
| special in the level of coddling gotten on this topic.
|
| Sure everyone deals with interruptions. But the real question
| is how deeply focused do they need to be to operate? How many
| variables to they need to keep in their head so to speak, to
| do effective work? Is it the same for engineers vs other
| disciplines?
|
| > This mythologizing gets in the way of trying to tactically
| improve things. Real things programmers can do, such as take
| notes on paper, documenting ideas, writing exit/entry notes,
| and many other things people do to be able to come back into
| a project after interruptions.
|
| Question is: are you willing to foot the bill? This extra
| reading/writing/documenting takes time. Is it worth it to get
| a more responsive engineer? It's really the same constrains
| as in operating system design; you can context switch
| endlessly by restoring state, but you'll pay with disk access
| time.
|
| > It's very liberating to find workflows where you can
| actually get stuff done even in small increments, because you
| are not relying on this idea of doing a hard reset of your
| mind every time you switch tasks
|
| That's assuming you can break down tasks that way. Deep
| engineering work often doesn't work that way.
| time0ut wrote:
| My company likes to schedule at least 20 hours of meetings spread
| across the week in such a way that you rarely get more than 30
| minutes in between two. Then management wonders why it takes so
| long to get anything done. Guess its a mystery. Let's schedule a
| recurring meeting to discuss it...
| Arrath wrote:
| A meeting to discuss that we're behind schedule.
|
| A meeting to discuss why we're behind schedule.
|
| A meeting to put together a task group to put together a
| recovery schedule.
|
| A task group meeting to put together the recovery schedule.
|
| A management meeting to review the recovery schedule.
|
| n bounces between management and the TG to revise the recovery
| schedule.
|
| A meeting with staff to discuss the recovery schedule
|
| A meeting to assign duties towards the goals of the recovery
| schedule.
| euroderf wrote:
| It's schedules all the way down. Fractal recursion. Oh and
| I'm gonna need your TPS report ASAP.
| generic92034 wrote:
| I wonder why it is not acceptable in many companies to skip
| meetings as you see fit. I can do that at my workplace, with
| the possible exceptions of a 1:1 with my manager (30 minutes
| once a month) and the main team meeting (1-2 hours every other
| month, usually).
|
| And I still can skip those meetings just by telling my manager
| that I have something quite urgent to do and that I will come
| back to them later (in case of the 1:1) or read the meeting
| minutes (in case of the team meeting).
|
| On the other hand we have an "open office" layout here. But I
| am 99% working from home, so I am "skipping" that as well,
| mostly.
| nayuki wrote:
| > The Law of Context Density: A larger context naturally emerges
| with a bigger screen real estate.
|
| This is so true. It's why I naturally feel dumber when I switch
| from a desktop computer to a laptop computer, and very stupid
| when working on a smartphone. I need my multiple tabs, big
| windows of text, etc. to get things done intelligently.
| zwieback wrote:
| My code editing style definitely has changed since the 90s when
| one-file-at-a-time without Intellisense was the norm. Jumping to
| compile errors was about the only automated thing.
|
| Now I just expect my IDEs, be it VS, VSCode, Eclipse to do a lot
| of heavy lifting for me.
|
| I wonder, though, whether I was more disciplined and kept a lot
| more context in my head back in those days. I'm also a lot older
| so I really don't want to go back to the old days.
| bombolo wrote:
| The code was simpler.
|
| Now java developers can't possibly write an hello world in less
| than 60 classes and interfaces. Without an ide to keep track of
| the com.path.that.i.made.up.for.my.package.because.it.has.to.be
| .at.least.three.pages.long they'd never be able to code like
| that.
| firatsarlar wrote:
| Why did we ask ? Say I'm a programmer and looking at screen one
| hour, is it a crime ? Time management ? Resource management ? Do
| I have to sit that desk and be productive, and compete my
| friends? Is the context we perceive, all about resources,
| material ? Where is my mind ? I'm here, writing these, but where
| is my mind, where is my will, am I the person who I want to be ?
| Why I'm not best programmer of the world ? Is it about multi
| tasking, or will to be on that desk, or will to be in that
| person, me, myself, you, they ? Am I really here ? I would ask
| myself - I feel lucky - do I want to be on this desk ? I would
| ask my supervisor, I need to go out, I cant be here now ? Do we
| really love coding, or current state of business consume our love
| ? I left my job 20 years a go. I feel regret whenever I need some
| resources - say money, credibility, being a man, ... - But I
| still love coding. And I'm almost completely there when I code,
| "multi tasking", it just a thought since we started to see our
| brain like PUs. We are constantly multitasking, I can not name it
| like that but it is as it is. Our brain is not a PU.
| mike_hock wrote:
| > git status
|
| There's my "session" that tells me which files I've been editing
| and
|
| > git diff
|
| what I've changed so far. Don't need an IDE for that.
| _448 wrote:
| I remember reading an article long time ago, written by an
| engineer in India. He became famous in India(or at least in my
| city, Pune, where he lived) for reverse engineering Windows NT.
| He along with his friends later on wrote the book "Undocumented
| Windows NT". He was promptly hired by Microsoft, and moved to the
| US. He later wrote an article on his experience working for
| Microsoft. One thing I vividly remember from that article was his
| experience the very first day at work. He observed that every
| engineer had a separate room. He was not used to this luxury. He
| was awed. During the day, he had a question on some aspect of the
| project he was assigned, and he immediately went to the next room
| where one of his colleagues was working. His colleague instead
| frowned and asked him to first send a meeting request, and then
| he will alot him a time. This surprised the new employee. He was
| not used to this way of "team work". He went back and sent a
| formal request and later there was a meeting to resolve the
| project issue.
|
| Afterwards, he enquired why engineers were kept separate in their
| own rooms? And why does one have to be so formal in requesting a
| meeting even to discuss project issues? It takes lot of time to
| resolve issues. Why this inefficiency? And the reply he got was,
| engineers when they are working, they get into a zone. It is very
| difficult to get into a zone, but very easy to get out of it even
| with a slightest distraction or interruption. Hence Microsoft
| provides separate rooms for engineers and meetings are available
| only when the engineer is free.
| postalrat wrote:
| Context switching is a skill you can and will improve as you get
| interrupted throughout your career.
| helsinki wrote:
| Agreed. I work at a hedge fund and we are constantly
| interrupted from programming, but we still manage to make a
| product that consistently generates profit. I feel like people
| are being a bit too dramatic, here.
|
| Is it hard? Yes, very, but it's just a matter of discipline and
| determination, in my opinion.
| wink wrote:
| I'd say it mostly depends on what you work on, and that is
| not "a field" or "a job". I've had jobs where yes, I could
| easily be on phone support during the tasks and I've had
| projects that were usually hours long deep thinking where you
| had to have a huge system + 10 classes in your head at the
| same time, but most jobs and projects were a mix. And then
| you simply may have a bad day and need deep thinking mode for
| relatively modest work, but yo won't notice the other way
| round if you build something great and bug free and it seemed
| easy.
|
| I kinda don't believe the people who say they 100% have this
| job, all the time - but you also don't know beforehand when
| you need your interrupt-free time. Some days are just cursed
| and you get nothing done, even if they only interrupted you 3
| times, but it was the important 15min block. And I've had
| those jobs as well. If someone (different people) interrupts
| you every 15min, when the day is cluttered up with 3 meetings
| anyway... I think it scales exponentially.
| sethammons wrote:
| that is one of the arguments in favor of the pomodoro
| productivity technique. For the unaware, pomodoro says to set a
| timer and do 25min of non-distracted work. Come up for air
| (mandatory stop) for 5 minutes. Rinse and repeat a few times.
| Some studies claim it takes 20min to get into the zone, but
| pomodoro insists on breaking that flow about 5 minutes later.
| The end result is training yourself to pick back up where you
| were at. I don't do pomodoro any longer but it was reasonably
| effective back when I tried it years ago.
| ipaddr wrote:
| This works..
| michalc wrote:
| I do something very similar - I didn't realise this had a
| name. I plan that I will essentially have to context change
| in a short amount of time, so try to achieve some tiny thing
| before that.
|
| It really works - at least for me.
| tpoacher wrote:
| For me the worst part is how "let me check that email again for
| context" becomes a 2-minute exercise in 2FA juggling, at the end
| of which I've already forgotten what I opened my email for and
| need a coffee break just to calm my nerves.
| david422 wrote:
| To login to anything now really feels like 5 factor.
| mrguyorama wrote:
| I need 2fa just to log into my local machine!!!! Which
| actually makes it 3 factor: I need to know my password, have
| my macbook, and have my 2fa device.... and also know the
| password to that. Literally 4 factor?
| Karawebnetwork wrote:
| The worst for me is how the 2FA requires me to use my personal
| phone. That phone is filled to the brim with notifications from
| apps and games that were designed to be addictive. I avoid
| logging into anything because I know it will ruin my day.
|
| Before the era of mandatory 2FA the first thing I did when I
| arrived at the office was turn off my phone and lock it away.
| kjuulh wrote:
| My most imporant learning for my self is simply to not book
| meetings in the beginning of the day. It sets the tone for how I
| am working, and I have difficulties focus if I am in "meeting"
| mode.
|
| I have solved this in multiple ways, getting into work before
| others (not that early but just a few hours before our first
| planned meetings). Second, reaching an agreement with the team to
| push standup and such to after lunch. This basically gives me the
| entire morning free to focus and sets me off to a great start.
|
| That is for the days I am actually in office =D
| nomilk wrote:
| From Paul Graham's _Maker 's Schedule, Manager's Schedule_ essay:
|
| > (programmers) generally prefer to use time in units of half a
| day at least. You can't write or program well in units of an
| hour. That's barely enough time to get started.
|
| > meetings are a disaster. A single meeting can blow a whole
| afternoon, by breaking it into two pieces each too small to do
| anything hard in.
|
| > I find one meeting can sometimes affect a whole day.
|
| > I know this may sound oversensitive, but ... don't your spirits
| rise at the thought of having an entire day free to work, with no
| appointments at all? Well, that means your spirits are
| correspondingly depressed when you don't. And ambitious projects
| are by definition close to the limits of your capacity. A small
| decrease in morale is enough to kill them off.
|
| http://www.paulgraham.com/makersschedule.html
| negative_zero wrote:
| One of the most elegant ways I have heard "flow" explained was by
| an old colleague of mine. He called it "balancing the
| chandelier". Don't know if it's his thought originally or if he
| heard it some where but it always stuck with me.
|
| But yeah, sometimes find it almost violating in a way, especially
| when its that typical PM line "hey did you read my email?" (that
| was literally sent 10 seconds ago).
|
| It just feels like someone coming over to my desk and pushing,
| monitors, scopes, everything off and smashing it on the floor,
| then walking off.
|
| Now I have both unrealistic deadline AND a mess to clean up.
|
| I don't know where I'm going with this comment. Just venting I
| guess :)
| metalrain wrote:
| I feel like this cost is not as big as some say.
|
| Surely it takes time to collect your thoughts after conversation,
| but in my experience that is like 1-5 minutes. It is usually
| worth it.
|
| I really think there should be more communication at work, not
| less.
| theshrike79 wrote:
| You really should quit your day job and start selling courses
| on focus if you really can drop down to a flow state in under 5
| minutes and on purpose.
| metalrain wrote:
| I think you don't need to have deep flow state to make
| progress at work.
|
| For me I think flow state is more about how interested I am
| about the task than how much time I have. And frankly many
| tasks at work aren't that interesting so even if I have half
| of day uninterrupted time, I don't get into flow state.
| theshrike79 wrote:
| Entering a flow state is a combination of multiple things
| IMO.
|
| The amount of challenge needs to be challenging enough for
| your skill level, not too easy (boring) or not too hard
| (can't flow because you get stuck).
|
| And (at least for me) I need to have the knowledge that I
| can focus on the task and not be interrupted. If I have a
| meeting in 30 minutes, there's exactly zero chance I'll
| enter a flow state because I'm expecting the meeting to
| start. And if I accidentally enter flow, I either work past
| the meeting or my flow is interrupted by a calendar alarm.
|
| Interruptions during flow state are really damaging (for
| me) because I'm juggling a huge amount of context and data
| in my head that's not yet exported to any external medium.
| If I get interrupted a large-ish segment of that data will
| disappear and I need to spend time gathering it after the
| interruption has passed.
| wolfium3 wrote:
| Depends on person to person. For me it's on the order of ~20-30
| minutes.
| m3kw9 wrote:
| XCode tip: if you open a new tab, your current tab is copied to
| the new tab. It allows you to branch off from your current tab if
| you don't want to mess it up.
| m3kw9 wrote:
| You can also rename an entire tab, but it's hidden in the
| menus. Just search for rename from the help menu drop down
| rqtwteye wrote:
| We definitely need a mandatory all-team meeting about this every
| Tuesday and Thursday at 2 pm until the issue has been resolved.
| bitwize wrote:
| At one worksite I did raise the issue of there being too many
| meetings. The response was "Can we call a huddle sometime this
| week to discuss this issue?"
| lcnPylGDnU4H9OF wrote:
| "The meetings will continue until morale improves."
| [deleted]
| magicloop wrote:
| It is the intensity of distraction that creates the gap for the
| serenity of concentration: -
|
| One way to "survive" is to logically separate the work into two
| different workflows. The "interrupt" workflow is where you are
| constantly doing trivial things, odd bits of admin, forms,
| chatting, and interacting in meetings. The trick is to
| deliberately cram as much of your interrupt-related work into the
| same half-day segment. The other workflow, the "deep work"
| workflow is where you do the design and complex coding work. You
| allocate such periods in 3 hour segments.
|
| For example you could do the morning in the interrupt workflow,
| the first part of the afternoon in the deep work workflow, and
| then end the day with interruptions.
| gyranthology wrote:
| Anyone interested in sharing what tactics they use to get back
| into flow?
|
| For interruptions (meetings or discussion) while coding I'll
| write a sentence or two directly in the file I'm working in - not
| comments, actual text. I'll explain what I'm doing and what the
| next step is, then close the IDE. When I come back nothing
| compiles and I'm forced to delete the text I added, which gives
| me a chance to read it and refresh my brain of where I left off.
| It's been one of the best approaches I've adopted over the past
| few years.
| ChrisMarshallNY wrote:
| Sadly, the cost of context switching is well-known, and has been
| proven, over and over again, for decades.
|
| But managers don't care (and many co-workers also).
|
| A quick shufti at most modern open-plan offices, shows the
| contempt that managers have for developer context. They know
| better, and have made the conscious decision to go open, anyway.
|
| I remember visiting the Facebook/Instagram building, in NYC, and
| was aghast at the huge, noisy, crowded office. I would _not_ be
| able to get any work done, in that environment.
|
| I'm grateful to be in a position, where I work alone (mostly), as
| I can keep all those balls in the air, and the difference in
| productivity is _amazing_.
| jamal-kumar wrote:
| I'm really grateful to have a non-obtrusive work environment as
| well.
|
| I check in with the team once a week and make sure the task
| tracking system is updated. Everyone is happy and stuff gets
| done.
|
| We're going to have to do some more hands-on work down the line
| where we're going to need physical presence working with
| hardware which is going to be an interesting shift, but I still
| think that we're going to mostly adhere to the usual workflow.
| mrighele wrote:
| > But managers don't care (and many co-workers also).
|
| For the majority, the cost is not that well known and in
| general they are not the ones paying for it, you are.
|
| In particular for your colleagues it may be beneficial to
| disturb you because when they disturb you, you may lose
| concentration but the may in fact avoid losing it by quickly
| get an answer to their pending problem.
|
| This is one aspect where LLMs may be very useful: asking
| something to a tool like ChatGPT may not be faster than asking
| a colleague, but if it avoids ruining the colleague's
| concentration it will be a net positive for the company. This
| is even more true if/when those model will incorporate specific
| internal knowledge (code, documentation) of the company.
| steve1977 wrote:
| > In particular for your colleagues it may be beneficial to
| disturb you because when they disturb you, you may lose
| concentration but the may in fact avoid losing it by quickly
| get an answer to their pending problem.
|
| This is true, but the people getting asked are usually the
| ones doing (much) more delicate work, so it's their
| concentration that should be protected.
| whoisburbansky wrote:
| Huh, I really thought `shufti` was a typo in this context, and
| one that sounded funny to my Middle Eastern ears, so I was
| surprised to discover it's a real word, albeit with Middle
| Eastern origins [1].
|
| 1. https://en.wiktionary.org/wiki/shufti
| ChrisMarshallNY wrote:
| I was raised amongst a lot of brits (me mum was one), but
| I've left a lot of that behind (I had a British accent, as a
| child).
| marsven_422 wrote:
| [dead]
| dangwhy wrote:
| >But managers don't care (and many co-workers also).
|
| i bet 99% of time people are interrupting themselves. Like i
| just did to browse HN.
| rvba wrote:
| There are people who dont care about you, nor your work - who
| will interrupt you because they only think about themselves.
|
| Then there is a group of dicks who do it on purpose.
| jamal-kumar wrote:
| For me I have to for health reasons.
|
| If you don't get up and walk around, at least 15 minutes of
| light to moderate exercise per hour seated, you will suffer
| bad health effects. Stuff that can end your life early and in
| painful ways.
|
| I find walking around every hour or two for a while to
| collect my thoughts about what I'm working on is still
| something I can make productive. I bring a notebook with me
| to do some notes if there's more than I can fit in my head,
| which is pretty usual. It's a good way to get some planning
| in.
| gleenn wrote:
| People definitely need some distractions but for me it's
| definitely not 99% of the time. Also, I could argue sometimes
| the solitaire game between coding stints is actually loading
| up your brain with some software thoughts, and then giving it
| a little break to process. Sometimes it takes a day for me to
| come back and feel like my brain has reconciled some details
| of a hard problem and only then can I make progress.
| neogodless wrote:
| I interrupt myself all the time, when I'm bored and easily
| able to distract myself.
|
| I interrupt myself when I'm in the flow absolutely never!
| Eddy_Viscosity2 wrote:
| A momentary distraction like a quick HN check is not the same
| as the context switching of, for example, going to a budget
| meeting while in the middle of trying to figure out some
| technical detail. Very different things.
| onion2k wrote:
| The difference is scheduling and autonomy. If you had "HN
| Time" blocked out in your calendar it'd be just as
| distracting as a budgeting meeting. HN only is different
| because you can choose when to be distracted by it, and
| you're happy to say no to it.
|
| If you could control when the budget meeting happens, or if
| you could decline it, you'd have far fewer issues with it.
| Turing_Machine wrote:
| Agree completely. A self-determined break is an entirely
| different thing from being interrupted by other people.
| nequo wrote:
| > i bet 99% of time people are interrupting themselves. Like
| i just did to browse HN.
|
| I don't know about you but I am here on a pomodoro break
| between two tasks.
| giantrobot wrote:
| This killed me my last few years at Apple in the spaceship.
| Everything in the fucking building is a distraction and most of
| it is constantly in your line of sight at all times.
|
| Even if I managed to angle my monitor right, put on headphones,
| and pull my hoodie up to reduce distractions some side
| conversation or impromptu stand up would inevitably distract me
| and pull me out of my flow. I tried to come in as late as
| practical in order to stay late so I could get work done for a
| few uninterrupted hours. I found myself going in a day on the
| weekend to actually get the previous week's work finished.
| Unfortunately management doesn't like people coming in "late"
| because they can't lord over them from their offices during the
| day and constantly interrupt them with meetings.
|
| It was downright insulting that a $5b building intended for
| professionals didn't have real offices with fucking doors. At
| the upper management level the fact the company worked as well
| if not better with WFH policies must be incensing. It makes
| plain the insipid claims about "collaboration" in that stupid
| building. Collaboration happens when engineers _want_ to share
| ideas, not because they 're imprisoned in a glorified fish tank
| for eight hours a day.
| mtrower wrote:
| > Collaboration happens when engineers want to share ideas,
| not because they're imprisoned in a glorified fish tank for
| eight hours a day.
|
| I feel like this is an obvious truth that is somehow
| overlooked a lot, willfully or otherwise.
| steve1977 wrote:
| > This killed me my last few years at Apple in the spaceship.
| Everything in the fucking building is a distraction and most
| of it is constantly in your line of sight at all times.
|
| That's an interesting bit of information. Maybe this is one
| of reasons in the decline of quality at Apple - at least in
| temporal terms it could correlate.
| lordnacho wrote:
| For me it's not really to do with how much stuff is on the
| screen. It's more that when you're doing creative work, the
| intermediate state is a bunch of maybe-graphs. Maybe the bug is
| a->b->c, maybe the bug is caused by d + e -> c, etc. Once you
| find it, you know what it is and you can discard the explanations
| that are wrong. But before that, you have a bunch of hypotheses.
| Plus your mind knows that you intend to forget the details.
|
| When you're interrupted, you forget a bunch of the maybes and you
| have to rebuild them. This is because your evidence is not strong
| enough yet to have a small graph, it needs to be a big graph (or
| set).
|
| Main advice is to take small steps. Little pieces that are easily
| recoverable. Things like unit tests help to establish the facts,
| allowing you to push some things out of your own memory. Also
| take some notes to jig your memory.
|
| Sometimes you can't take small steps, because it just happens
| that you didn't consider something and now there's a large
| surface to think about. For those times, make sure you're not
| interrupted.
| omnicognate wrote:
| I actively like being distracted when I'm programming. I tend to
| approach a problem from lots of different directions, each time
| fizzling out, hitting a block or having some sort of mental
| reset, until something unconsciously clicks and an overall
| structure, understanding or solution emerges. Continually leaving
| and returning to the problem is a part of that process, so I tend
| to find someone walking up with a question rather welcome. The
| biggest and most effective leave-and-return is of course to sleep
| on it, and it's rare that I go to bed with a problem at the back
| of my mind and don't wake up with at least a new approach or
| insight.
|
| I have to be careful, though, as I'm aware most of my colleagues
| don't feel the same way about interruptions.
| analog31 wrote:
| Have you considered a leadership role? It occurs to me that if
| flow is the natural state of programming, and interruption the
| natural state of business, then someone has to be able to
| bridge those states. Preferably someone who understands the
| subject matter and can prevent the software team from becoming
| an isolated silo.
|
| I also do OK with interruptions, and have found a role where
| I'm not programming 100% of the time, and the subject matter
| itself -- doing experiments and hardware testing -- doesn't
| really lend itself to flow anyway. But being able to program
| means that I don't have to interrupt the programmers every time
| my requirements change, which can happen on an hourly basis.
| tootie wrote:
| Same. If I stare at the same issue for more than 15 minutes I'm
| probably going in loops and not recognizing it. Get up, walk
| around, go outside even. Answer will frequently present itself
| the minute I get back into it.
| inciampati wrote:
| Indeed, this seems unusual in programmer land. As evidence we
| have a thread like the current one reaching the front page
| several times a day.
|
| But your way is also my way. I am active in a very wide array
| of topics, and happy to flit between them. Sometimes I dive
| deep, but it's usually in a critical moment of synthesis when
| ideas developed over months or years come to clarity and I put
| them to action. This is working extremely well for me. I lack
| nothing and am at the absolute cutting edge in every topic I'm
| pursuing. Of course this is my opinion but it's sufficient to
| say that I'm happy.
|
| It is sad to see how many people are made uncomfortable by
| interruption. It's the stuff of life, social life at least, and
| exactly what makes being human in a dense society so wonderful.
| I feel it represents a fundamental discomfort with being in
| situations out of one's control. But, that's the core of life.
| And for me it's where all the creative energy comes from.
|
| edit: Reflecting on John Carmack and his big monitor. I
| habitually work in single window terminals with relatively low
| row counts and big fonts. I seem to be unable to get a benefit
| from seeing more stuff all at once.
|
| edit2: And in terms of getting into flow state, for me it is
| always basically instantaneous. The flow is just sitting there
| under a few seconds of pause. Of course sitting at a computer
| or phone will cause wandering distraction at times, but if work
| is in play I can start driving at full speed in what would
| typically be seen as a horrifically uncomfortable position.
| Imagine a long distance train with two children jumping on
| you... If I can see my laptop and the kids at the same time,
| I'm flowing. I think this might be neurological somehow, due to
| training or genetics. It's unclear.
| eulers_secret wrote:
| I wanted to reply to this because I'm similar. I don't mind
| distractions, they don't really cause me issues, and it's
| always part of the job!
|
| I haven't been in a programming 'flow state' for many years,
| maybe last in college. It just doesn't happen to me anymore.
| Programming for me has changed a lot in that time. Most of
| the typing work is done by an LLM or a contractor/jr. I
| suppose the opportunity for 'flow' is gone or much less.
| Additionally, well designed code is easier to reason about
| and requires less context in most cases.
|
| I think many people are too rigid in their meta-thinking. No,
| not all programmers fall into flow, not all programmers
| _hate_ distraction, not all programmers have the "standard"
| deep/shallow thinking dichotomy. Each of these is probably a
| spectrum, and are effected by changes based on too many
| factors to enumerate.
|
| Do what works for you, and read these kind of articles with a
| skeptical eye. Especially since this article is from
| "contextkeeper.io" and "Rebuilding the Context" heading is
| just an ad lmao
| bombolo wrote:
| > Most of the typing work is done by an LLM or a
| contractor/jr.
|
| Basically you're not a developer but pretend to speak for
| developers.
| mtrower wrote:
| That's quite the claim regarding flow. Invaluable to you if
| so, but my question would be, how are you defining it? You
| mention having an eye on your kids, but flow should
| completely tune out everything other than the precise problem
| at hand.
| neogodless wrote:
| > Reflecting on John Carmack and his big monitor. I
| habitually work in single window terminals with relatively
| low row counts and big fonts. I seem to be unable to get a
| benefit from seeing more stuff all at once.
|
| I think this may be a variation on the "same" thing. For me,
| I only _look_ at code or the UI output, or the requirements,
| or a database query at any one time.
|
| But... I really like if the code is always in the same place,
| and the output is always in the same place, and I can just
| look between them if I'm thinking about how and why the code
| is resulting in the thing it is. But I know _where_ each of
| those things is at any time, and it might only be a glance
| away, or an alt-tab away.
|
| (For me, it's 2 27" QHD monitors rather than one big or small
| monitor.)
| tester457 wrote:
| > It is sad to see how many people are made uncomfortable by
| interruption. It's the stuff of life, social life at least
|
| A key concept from the book "A Mind for Numbers" is the
| difference between "focus mode" and "diffuse mode" thinking.
|
| Focus mode is essentially a concentrated flow state and
| diffuse mode is a relaxed state, open to distraction and
| creativity.
|
| Both modes are necessary for effective problem solving but my
| issue is an abundance of distractions which keep most of us
| stuck in the diffuse state and no time in the focused state.
|
| > And in terms of getting into flow state, for me it is
| always basically instantaneous. The flow is just sitting
| there under a few seconds of pause.
|
| Rare, for most people it takes 20 minutes. If I get equally
| spaced out distracting emails I will spend no time in the
| flow state at all.
| kosasbest wrote:
| It's the shadow work of programming I never liked.
|
| - Setting up boilerplate code
|
| - Configuring my IDE
|
| - Configuring special browsers (for web development) with no
| addons or tweaks done so it appears like an average person is
| using the browser
|
| - Configuring the OS
|
| - Separating work from play. Keeping separate machines strictly
| for programming
|
| - Tests
|
| - Reading best practice material
|
| - Researching if other people have written the exact same thing
| as you and uploaded it to GitHub (or don't repeat what other's
| have coded already).
|
| All that can be set-and-forget but I periodically have to do it
| all again because requirements change, or I get a new machine or
| I simply want to re-configure my development environment for
| minor (or major) gains in productivity.
| dariusj18 wrote:
| And what's worse than all of that, is if a company tries to do
| it for you.
| bombolo wrote:
| Basically you get paid to distro hop?
| wruza wrote:
| Not that I like to be interrupted, but if it's inevitable, here
| is my method. I'm using it when interruptions are planned, when a
| task is complex by itself, at refactorings and on bad/lazy days.
|
| Log all your key thoughts, realizations, decisions and taken
| steps on paper. It shouldn't be long or long-term clear, only
| clear to today's you. Gibberish to a bystander. Text, bullets,
| arrows, acronyms, verbs, marks, anything that works. Lists,
| trees, graphs, outlines.
|
| It's your L2 cache. L1 is fast but short and prone to
| distraction. If you log everything into L2, then returning to the
| task becomes much easier, because the whole context is right
| there.
|
| The downside is you have to spend time drawing. The unintuitive
| upside is that by writing you may make it clear to yourself what
| maybe wasn't clear.
|
| IDE may be good at where you were, but it doesn't know what you
| thought.
| chinabot wrote:
| Here's my method, tell anyone who interrupts you to "FUCK OFF"
| because your busy.
| mtrower wrote:
| Once you've done that, you've already lost. Interruption
| encountered.
| jwestbury wrote:
| This method is bound to get you trapped as a junior engineer
| who will never be as effective as you could.
|
| Learn some people skills. Software exists for people.
| mrguyorama wrote:
| My department head has openly told us to do this. He knows
| a distracted engineer is a bad engineer. He knows that most
| meetings don't need all the people in them. He told us to
| block off parts of the day that we COULD NOT be
| interrupted, and told us to reject meetings that aren't
| productive or valuable. He is also encouraging people to
| shorten meetings. He told us that if a manager expects you
| to work outside your normal hours, that is a bad manager.
|
| "This will get you trapped as a junior" is just "All
| managers are terrible and we should never expect more".
| It's bad-manager apologism.
| kayodelycaon wrote:
| I've done this but it's about 7 times slower than keeping stuff
| in my head.
|
| My mental state isn't easily capturable on paper since I use
| visual/spartial memory for programming. Witting it down
| requires enormous amounts of translation.
| visarga wrote:
| > Log all your key thoughts, realizations, decisions and taken
| steps on paper... Text, bullets, arrows, acronyms, verbs,
| marks, anything that works. Lists, trees, graphs, outlines ...
| It's your L2 cache.
|
| This works out nice for using GPT4. If you prepare project
| information beforehand you can use it in your prompts. I am
| working on a way to structure my notes to be AI compatible. We
| can benefit from having to keep prompt materials for GPT, a
| good reason to have detailed notes in the first place and it's
| exactly the diff between general knowledge and project
| knowledge.
| askiiart wrote:
| > It's your L2 cache.
|
| Stuff like _this_ is why I love Hacker News. Rather than making
| up abstract, weird analogies between a thing, and another very
| abstract thing I find even more difficult to understand, we can
| make analogies to technical terms which most people here
| understand [citation needed], and which anyone who doesn 't can
| easily look up.
| frereubu wrote:
| Now I have a family I often can't choose the end of my working
| day so it coincides with a natural break in my work. In those
| circumstances, when I know they're going to arrive back in less
| than 30 minutes, I stop working and do a brain dump of everything
| that's going on in my head into a plain text file. With that I
| can pick things up much faster the next morning. I've even
| started doing it during the day when both my wife and I are
| working from home and we're about to have lunch together. I'd
| seriously recommend it.
|
| It somewhat reminds me of this Hemingway quote "You read what you
| have written and, as you always stop when you know what is going
| to happen next, you go on from there. You write until you come to
| a place where you still have your juice and know what will happen
| next and you stop and try to live through until the next day when
| you hit it again." I think there's an art to stopping at the
| right time, even if it's within constraints that aren't in your
| control.
| wpietri wrote:
| Yeah, in the last few years I've started keeping a work log for
| projects. It's mostly a way to externalize and clarify
| thoughts. But I'll definitely use it for an end-of-session
| record of where I'm leaving off and where to pick up.
|
| And where it's possible, I love unit tests for this. Starting
| off in the morning with a failing unit test from yesterday's
| close gets me right back into it.
| erik_seaberg wrote:
| It's good to have something like org-journal set up so you
| can write down arbitrary stuff without having to decide where
| to put it or remember where you probably put it later (I
| think GTD calls this "capture").
| dmcq2 wrote:
| At a job I had they wanted me to install an instant messaging app
| on my compute! I refused point blank. I said they could email me
| and I'd look at he email every so often. If it was really
| important they could get up and walk to see me. If it wasn't
| important enough for others to walk then it definitely wasn't
| important enough to interrupt me. Before that I was at a place
| where they had tannoys. I moved the tannoys away from me but they
| were still annoying. I tried showuing that they were losing the
| place millions. It would have been far cheaper to have somebody
| employed to walk around looking for people. They only got rid of
| them when marketing got in and the first thing they said was to
| et rid of the tannoy.
| dekhn wrote:
| I would not hire you if you refused to use instant messaging
| (my enterprise uses Slack and gChat). You would be unable to do
| the job- you wouldn't be able to contribute to decision making,
| or would miss out on all sort of information. We (our
| department) has moved out of email with the exception of formal
| requests and things that cost more than a few tens of thousands
| of dollars.
|
| Would you use IRC? That's all slack really is.
| theshrike79 wrote:
| "Instant messaging" is just as disruptive as email if you have
| notifications turned on. There is zero difference between your
| email program going _ding_ _ding_ _ding_ on every incoming
| email vs slack /teams/whatever doing the same.
|
| My current company has _all_ of their communication on Slack,
| the only emails I get are meeting invitations and status emails
| from automated systems that haven't been integrated to Slack
| yet.
|
| I can easily click to pause notifications on Slack if I don't
| want to get interrupted - or I can just close it and read the
| backlog when I have time to focus on it.
| mtrower wrote:
| I think the idea is he doesn't get push notifications on
| email.
| whstl wrote:
| "Instant messaging" doesn't have to be "instant". You can just
| close the program and open it every other hour, just like with
| email (which also trigger notifications). Or better yet: don't
| even install the chat app. Just use it in the browser and open
| as needed.
|
| The expectation that you always have to be online is also
| unreasonable. But if you're still required to put out a show
| for an unreasonable employer, you can always set it to "Busy"
| and disable notifications. This also signals to people that you
| won't reply immediately.
|
| Of course some co-workers will want to "chat" when you answer
| them, but this is where you must set limits and say you'll only
| have time for chat outside your busy hours. This is normally
| perfectly acceptable IME.
| kazinator wrote:
| You're going to be interrupted, so you better learn to do it
| efficiently.
|
| Learn not to have some flow state that takes a half hour to get
| into.
|
| That flow state is bullshit. You get so absorbed into the work
| that you do stupid things a mile a minute. Sometimes it takes an
| interruption to get you to see it. Let's see, where was I. Ah I
| was doing that, for such and such reason, and ... wait what?
| That's stupid. Let's scrap 75% of it and do it in this better way
| ...
|
| If it takes a long time to get into flow states, it could
| indicate that you have some problem in the project. To be able to
| do anything, you have to boostrap various bits of information
| into your head, and keep juggling it. Then have it all vaporize
| upon interruption. Maybe there are better ways. Some tooling or
| documentation strategy, or automation of this or that. Try to
| have it so that someone with anterograde amnesia could use your
| environment to get stuff done.
| quickthrower2 wrote:
| Then you can only get trivial work done. Which is probably OK
| for most jobs to be honest. But imagine making design decisions
| in 10 minute chunks with less context than a ChatGPT prompt.
| RonnieOwnsLexus wrote:
| a design decision would come from collaboration, sure you can
| get 1st draft ready in 10-15 mins then re iterate it 1 or 2
| times to see all of its pro's and cons are visible to you but
| then you would need all stakeholder's time to get it through
| quickthrower2 wrote:
| what about the bit where someone thinks?
| [deleted]
| irajdeep wrote:
| tangentially similar idea:
| http://www.paulgraham.com/makersschedule.html
| teddyh wrote:
| _Don 't Wake Up the Programmer!_
|
| https://alexthunder.livejournal.com/309815.html
| m3kw9 wrote:
| I get big screens but multiple screens gives diminished returns
| vs tab/spaces switching. Laying out the windows across different
| screens is always a pain in the ass
| mattferderer wrote:
| I don't disagree but...
|
| If you're having a huge issue with this, I suggest trying to find
| ways to hold less context at one time.
|
| Write stuff down & get it out of your head more often. Write down
| all of your ideas & break down your tasks into smaller tasks.
| Don't try & solve a giant problem all at once without writing
| down what you're going to do. You may also discover issues
| earlier.
|
| It doesn't get rid of the issue 100% but it helps a lot. I say
| this as a dev who has to do a lot of context switching.
| runlaszlorun wrote:
| Do you write it down to read it? Or write it down just to write
| it down? I find myself doing the latter a lot lately-
| synthesizing rough ideas to a couple approaches or components
| and prob a little sketch. I feel a bit guilty that I toss them
| without reading but for me I think the value is it crystalizes
| my thinking by putting a pen to paper.
| mattferderer wrote:
| Both!
|
| Write it down to read it & not forget it.
|
| Write it down because the process often helps me better think
| about the problem & reasons my initial assumptions were
| wrong. Can't tell you how many times my clever initial idea
| becomes terrible rather quickly.
|
| Also if it's something that's going to exist over multiple
| days, writing it down & coming back to it at least a day
| later is a great way to re-approach the solution & idea.
| Casteil wrote:
| >If you're having a huge issue with this, I suggest trying to
| find ways to hold less context at one time.
|
| For many who experience this regularly, that basically means
| leaving/finding a new job.
|
| With many employers, it's very difficult to escape being spread
| thin once you've proven your competence and they lean on you
| hard as a result.
| dghughes wrote:
| I'm not a programmer but always tried to be one. Now in middle
| age I know I could have been one there's nothing amazing about it
| you just practice with guidance. Like playing a musical
| instrument very few people can play instantly unless they
| practice. Sure there are Mozarts but 99.999% of musicians are
| not.
|
| I went to school a few years ago and we had programming. I was
| able to do it but my younger classmates were better. A few were
| savants I think done in 5 minutes what it took the others an
| hour.
|
| For me I had to use white noise and earbuds. Even someone walking
| by on the other side of the row of desks would make me lose
| focus. I got tests done not all perfect, some half, some not at
| all.
|
| It gives me hope to know it's not just me.
| dagorenouf wrote:
| I view coding as creative work not that different from writing or
| drawing. Sure there are techniques and rules to follow, but to do
| great work you need to get in the flow of things until your
| creative brain figures stuff out on its own. It takes time to
| warm up and any interruption destroys the momentum you had. I put
| my phone on airplane mode for most of the work day because of
| this.
| threatripper wrote:
| You can usually work uninterrupted 18-22h.
| financypants wrote:
| The book "the myth of multitasking" is maybe worth a read,
| althought it's a bit repetitive . It hammers home the point this
| article is trying to make where task switching costs are high and
| productivity nosedives with interruptions, and there really is no
| such thing as "multitasking," but instead, just switching tasks
| quickly.
___________________________________________________________________
(page generated 2023-04-06 23:02 UTC)