仕事の中断、実はとんでもないコストがかかってる?2023年版
引用元:https://news.ycombinator.com/item?id=44999373
仕事の中断で思考が途切れると、残りの時間が無駄になる日と、そうでない日があるんだ。Slackにログインしない方がいい日を見分けたいよ。
中断のコストを最小限にするにはペアプログラミングがいいって気づいたよ。以前のスタートアップでは毎日やってたんだけど、中断からの再開がすごくスムーズだったんだ。理由は説明できないけど、経験してそう思ったよ。
ペアプログラミングするくらいなら、錆びたナイフで自分の足を刺す方がマシだね。
公式なペアプログラミングはしたことないけど、自分がキーボードを操作してないとイライラするんだ。他の人って思考が遅い気がしてさ。
全く同感だよ。そういう日は机を離れて、森を散歩したり家事をしたりすると集中力が戻るんだ。仕事にならない日は無理せず休む方がいいし、そうすると次の日は生産性が高まって、みんなハッピーだね。
セカンドキーボードを繋いで、必要に応じて操作を交代してみたことはある?リモートワークで同僚と一台のPCを共有することが多いんだけど、自分のキーボードとマウスで操作に割り込めるのはかなり便利だよ。誰が何をすべきか、誰が一番速くできるかを話し合う必要はあるけど、うまくコミュニケーションが取れればすごく簡単だよ。
ペアプログラミングはすごく疲れるんだ。一人でコードを書く時は20分ごとに休憩したり、1時間ごとに散歩したり、窓の外を見たり、BGMをかけたりできるけど、ペアプロだと声を出し続けなきゃいけないし、ずっと画面を見て1時間ぶっ通しで座って、相手と同じ速度で考えなきゃいけないからね。生産性が上がっても、自分の視力や座る習慣の方が大事だから、僕には合わないよ。
休憩なしで16時間ぶっ通しでプログラミングできるんだけど、誰かと1時間話すと疲れ切って、その後長い休憩が必要になるんだ。プログラミング中に誰かと話すなんて、脳がレッドゾーンに突入する感じだよ。アドレナリンが出て乗り切ることもあるけど、代償は大きいね。
在宅勤務の最高の点の1つがこれだね。中断された時だけでなく、行き詰まった時も、庭いじりしたり、サイクリングしたり、ちょっとした用事を済ませたりできるんだ。これは脳がctrl-z; bgするみたいなもので、次のことに進めるんだ。戻ってくると、タスクが1%進んでいて、机を叩いてた時よりも新しい解決策やアイデアが浮かんでるんだ。問題の周りをVibe Codingするより、はるかに健康的だよ。
私も同じだわ。どうも私の脳みそのコーディング部分とコミュニケーション部分って、両立しないみたい。これって、頭の中にナレーターがいる人と、私みたいに声がないから抽象的な思考を文章にするのが大変な人の現象と関係あるのかな?
ほとんどの雇用主やマネージャーはこの件に理解があったわ。昔のマネージャーが僕の不安に気づいてくれたのが特に印象的で、「会社は勤務時間内に問題を解決するんじゃなく、シャワー中や散歩中、子どもを寝かしつける時に解決したことを実装するために給料を払ってるんだ」って言われたんだ。この考え方でワークライフバランスを調整してるけど、仕事を持ち帰るのはむしろADHDの僕には最高の最適化だと感じてるよ。
いや、私には頭の中に声があるけど、説明するか実行するかのどっちかしかできないの。両方は無理だわ。
これはペアプログラミングの誤解か誤った表現かもね、少なくとも私の経験とは違うわ。一人が両方やるべきじゃないんだ。ナビゲート/説明するか、ドライブ/実行するか、どちらか一方だよ。ペアプログラミングはリアルタイムでインタラクティブなPR説明やレビューみたいに、コミュニケーションと理解の共有が目的。たまに「これ書くから後で話そう」と集中することもあるけど、それは例外であって、ルールじゃないの。
2000年代初頭にペアプログラミングが流行ってた頃、セキュリティ上重要なコードで同僚と試してみたんだ。一つのキーボードに二人だとものすごく非生産的に感じたんだけど、コミット率を比べたら、個別に作業した時と同じ変更率だったから驚いたよ。
かつて経験した中で一番クレイジーだったのは、実験的な「カーソル2つ、ハイライト2つ、クリップボード2つ」のセットアップだね。あれがもっと広まってほしかったよ。まるでGoogle Docsのローカルマルチプレイヤー版って感じだった。
「いや、そっちじゃない、もう少し下、いやその上、いや戻って…」
ペアプログラミングの文化があるスタートアップって、どうやって見つけられるの?
これって、ちょっと「真のスコットランド人」論法に聞こえるな。
仕事の前にちょっと瞑想して良いコーヒーを飲むと、20回中19回は最高の状態になれるよ。マジおすすめ!
キーボードを2人で使うと生産性が上がるっていう証拠があるらしいよ。ほら、この動画を見てみろよ!
https://www.youtube.com/watch?v=kl6rsi7BEtk
複数人で同じドキュメントを編集できるエディタってどう?2つ目のキーボード、マウス、カーソルを連携させて、それぞれが独立して編集できるみたいなさ。
少しだけペアプログラミングをやってみたけど、刺激的で生産的だったよ。具体的に何が辛いと感じるの?教えて欲しいな。
“モビング”について知ったら、さらに驚くぜ…金が燃えてるのが肌で感じられるってもんだ。
もしあの会社が何か募集してたら、教えてくれない?あの遅いペースで問題解決できるなら、俺はきっとすごいことできると思うんだけどな。
瞑想を始める上で何かアドバイスある?特に俺みたいに心がいつも忙しい人向けにさ。
ほとんどのリモートワークの仕事って、基本的にはこの記事で言ってるような状況だよな。
俺より賢い人たちと一緒に仕事をするのが、この中断の問題にはすごく役立つって俺は思うよ。
AI生産性ツールに人格を与えて、同じように罪悪感を感じさせるようにしたことある?
俺にとって中断の性質が重要なんだ。記憶から引っ張るだけの簡単な質問はコストが低いけど、考える必要のある質問、特にコードやドキュメントを確認するとなるとマジで高コスト。メールやTeamsの通知でも集中が途切れることがあるね。誰かが話しかけてくること自体じゃなく、内容の問題なんだよ。あと、コーディング中に中断されると、バグのリスクはどちらのケースでも同じだと思う。
これ、科学報道によくある問題だよ。論文にないことがニュースで報じられたり、データと真逆のことが言われたりすることが多いんだ。参照論文が見つからないときは特にね。俺の基本ルールは、科学記事を読むときは最低限、論文の要約、方法、グラフやデータを見ること。5分で通俗科学記事より詳しくなるし、慣れればもっと簡単。中断は作業復帰に影響するけど、TDDを厳格にやってる時はうまく回復できる。設計とか複雑なアルゴリズムの性能解析中は頭の中で処理してるから、中断から戻るのに時間がかかるんだ。これは測定可能だし、どれくらいで生産が再開できるか実験できると思うね。
もっとコメントを表示(1)
中断が当たり前の職場で働くときは、仕事のやり方を変えるようにしてるんだ。だから、傍から見ると中断によるコストは減ったように見えるかもしれないけど、それは中断を受け入れることで、他の作業に分散されてるだけ。コストはまだ存在してるけど、もっと広く薄く広がってる感じかな。
これは素晴らしい指摘で、俺が何十年もかけて学んだ教訓だよ。もし会社が静かで中断されない時間を与えてくれないなら、それはオフィスでの時間は日々の火消しのためで、ディープワークのためじゃないってことを示してるんだ。何かを成し遂げるためには時間を守る必要があるんだけど、彼らは文字通り10k LOC(1万行のコード)を書くこと以外のことを君に求めてるんだよ。
一番中断がひどかった職場で、最終的に金曜は家で仕事するようにしたんだ。月曜から木曜は質問対応、会議、浅い作業、ディープワークのための探索作業に充ててた。例えば、新機能やバグ修正のリファクタリングが必要な時、コードがそのままさせてくれるか、それともこの変更で次から次へと修正が必要になるか、とかね。だから、ほとんどの金曜はやるべきことがはっきりしていて、6時間以上ガッツリコードを書いてた。すでに下調べを済ませていたおかげで、その時間で普段の1日分の2倍くらい終わらせられたよ。
うーん、俺はそんな場所じゃ成功できないな。週にたった6時間くらいのゴリゴリ生産的なコーディング時間じゃ、悲しくなっちゃう。君のやり方を逆転させたいな。月曜はオフィスで質問に答えたり人と交流したりして、火曜から金曜は家でディープワークしたいんだ(現実的じゃないってのは分かってるんだけどね。でもそれが俺の理想だ)。
この頃にはプロジェクトは主要な開発フェーズを終えて、長期メンテナンスに移行してたんだ。俺の主な価値は、みんなに証明書とコード署名の仕組みを理解させ、誰もバカなアーキテクチャの決定をしないようにすることだったんだよ。
> 科学報道全般に言えることだけど、論文にないことがニュースで報じられたり、データと真逆のことが言われたりすることが多い。もしかしたら、LLMのハルシネーションの一部は、こうした報道が高品質なトレーニングデータとして(間違って)与えられていることで説明できるんじゃないかな。
> もしかしたら、LLMのハルシネーションの一部は、こうした報道が高品質なトレーニングデータとして(間違って)与えられていることで説明できるんじゃないかな。たぶん(笑)、トレーニングデータよりも温度の機能がはるかに大きいね。プロンプトに対してコーパスが十分に大きくて、温度を一番下まで下げれば、ハルシネーションはほとんど起きないよ。その場合、それは本質的に検索エンジンと同じだね。
LLMはプライミングに弱いんだよね。OpenAIのデモでも飛行機の翼のところでエラーがあったし。あれはよくある間違いだけど、LLMもそれを繰り返してたんだ。でも、プロンプトを工夫すればネタバレせずに正しい答えを引き出せるってのを見たよ。
科学報道の一般的な問題は深刻だね。ニュース記事は少しの嘘で真実から遠ざかり、それが科学への不信感につながる。大衆の科学リテラシーも低くて誤解されやすいし、研究者は引用数を稼ぐためにセンセーショナルな発表に走りやすい。事実は複雑で、それを単純化しすぎると誤解を生むんだ。科学者は同業者向けに論文を書くべきで、一般向けには科学コミュニケーターが伝えるのが理想。情報は確率として受け止めるべきで、懐疑的であること、そしてコミュニケーションの難しさを説く。
真実と複雑さはセットだよね。複雑な内容を段階的に分かりやすく伝える方法ってすごいことだよ。映画みたいに科学知識にもっと才能と資金が使われたらいいのに。「Dr. Stone」みたいなアニメも、もっと科学的なプロセスを丁寧に描いてくれたら、さらにヒットするはずなのにって思うな。
科学コミュニケーションは進歩してると思うよ。Veritasiumや3Blue1Brownみたいな人たちは素晴らしいし、#someの投稿には大学の講義よりためになる動画もあるんだ。難しいけど、希望はあるね。ただ、今の学会のシステムはこういう活動に向いてないから、外部からの発信が多いのが現状だけどね。
脳には抑制性ニューロンがあるんだから、引用システムにもネガティブフィードバックを取り入れられないかな?ポジティブとネガティブの引用を組み合わせて最終的なスコアを出したらどうだろう?
批判的な引用もシステムに悪影響を与える可能性があるよ。Avi Loebみたいな異端な考え方を持つ人の出版を止めさせたくない。新しい発見は既存のパラダイムに挑戦することから生まれるし、科学では間違えることが許されないと進歩できないからね。科学者の「インパクト」を測るのは難しすぎる。何百年もかかることもあるし、どんな指標も完璧な代理にはならない。測定は重要だけど、こういう分野では危険な罠になることもあるんだ。
元の記事の出典は、Gloria Mark教授の2006年のGallupインタビューだと思うよ。ここで読めるよ→https://news.gallup.com/businessjournal/23146/too-many-inter…
「中断された仕事に戻るのにどれくらい時間がかかるの?」「ほとんどの仕事は同じ日に再開されて、平均23分15秒だったよ」って書いてあるね。
このコメントと記事の解釈だけど、23分って中断された元のタスクに戻ろうとしてる時間じゃなくて、中断されたこと自体や他のタスクに費やされてる時間だよね?そうだとすると、この23分は混乱で無駄になってるわけじゃないってことになる。俺の解釈で合ってるかな?
中断時間ってのは作業を止めてから再開するまでの時間のことだよ。
その間に質問に答えたり、別の作業したり、休憩したりしてたみたい。
再集中にかかる時間は計ってないけど、「マジで有害」って言われてる。
だから、どれくらいで集中状態に戻れたかは不明だけど、中断時間はわかるってことだね。
いい質問だね。引用を読み返しても、中断そのものの時間なのか、中断に加えて生産的な作業に戻るまでの時間の組み合わせなのか、ちょっと曖昧に感じたよ。
それ、元の情報源じゃないよ。著者のJaro Fietz (aka oberien)は、その記事はもう知ってるって。
彼が探してるのは「23分15秒」って数字が最初に書かれた研究論文そのものなんだ。
Gloria Markの論文をいっぱい調べたけど、その数字は見つからなかったらしいから、誰か知ってたら教えてあげて!
謎はもうほぼ解決済みだね!
あの数字はGloria MarkへのGallupインタビューから来てて、彼女の論文(https://ics.uci.edu/~gmark/CHI2005.pdf)では平均25分26秒って書いてあるよ。
インタビューでの23分15秒との違いは、多分彼女が正確に覚えてなくて、ざっくり言っただけじゃないかな。
大体合ってると思うよ。
Gallupインタビューは情報源とは呼ばないけど、論文とその数字の違いの説明については、多分君が正解だね。
「情報源とは呼ばなかった」って言ってたけど、多分言葉のあやだよね。でも、なんでそう思わないの?
研究のデータややり方には異論を唱えられるけど、引用にはできないだろ。
あと、oberienは最初から何が欲しいかハッキリ言ってたよ。
最初はファクトチェックしたいだけかと思ってたけど、次に23分15秒って数字が繰り返される理由を知りたいのかと。
3回読んだけど、結局何が聞きたいのかまだよくわかんないんだよね。
25分の研究もインタビューも知ってるなら、他に何が知りたいんだろう?
悪い知らせって何だった?
悪い知らせってのはね、中断されるとすぐ元のタスクには戻れないってことだよ。
元のタスクに戻るまでに別のタスクが2つくらい挟まるから、集中し直すのに大変なんだ。
あと、デスクトップの窓とか、机の上の資料とか、物理的な環境も変わっちゃうから、どこまでやってたか思い出すのが難しいんだよ。
つまり、中断には「認知的コスト」がかかるってことだね。
会議の中断を予測するだけで、前後に30分ずつ時間を無駄にしちゃうのが一番キツいんだよね。
これが俺の一日を台無しにするんだよ。他の同僚からの割り込みはだいたい仕事関連だし、助けるのはいつも楽しいんだけどさ。
会議が直前でリスケされるの、本当に嫌いなんだよね。30分しかないと感じて、深い作業を何も始めなかった。マジ時間の無駄だよ。
パンデミック前は在宅とオフィスを不規則に行き来してた。会議でオフィスに行くと30分前に着いちゃって、その時間はほぼ無駄だった。
深い作業は無理で、軽い調べ物くらい。オフィスにずっといてもオープンオフィスじゃ集中できないし。
会議の5〜10分前に着くのがベストだけど難しかった。フロー状態だと通知見逃して会議をすっぽかすことも。アラーム設定すれば良かったけど、結局しなかったな。
うん。俺にとって会議は半日を失うことと一緒だよ。
もっとコメントを表示(2)
あー、あの会議まであと30分か、本格的なこと始めるのはやめとこっと。
そして、賢いヤツは会議と会議の間に1時間の空白を入れてくるから、結局何もできなくなるんだよな。
複雑な問題解決でフロー状態の時、中断されると内臓をえぐられるような痛みを感じるよ。我慢して対処するけど、頭の中の文脈が全部吹っ飛ぶんだ。
生産性の損失をどう測ればいいか分からないけど、問題によっては回復に20分以上かかることもあるね…。
うちのOSSプロジェクトを公開のGitHub Issuesから認証が面倒なプライベートJira Issuesに変えたら、プログラマーの生産性が落ちるって説明してるんだけど、上層部はマジで信じてくれないんだよ。
彼らにとっては「フロー状態」とか、そこから引き剥がされる時の内臓がえぐられるような痛みなんて完全にフィクションらしい。
「完全にフィクション」って?そりゃそうだろ。なんで違うって言うんだ?
コードメンテナンス、フロー状態、ソフトウェア品質なんて、テック系の人たちが仕事をサボるためにでっち上げたことだよ。
心配いらないよ、テック系じゃない人たちが「Vibe Code」でテック系の人たちを仕事から追い出すだろうからさ。
これって風刺なのかどうか、わかんないな。
マネージャーとして、邪魔な中断の多くは『ハッスル』が足りないせいだと思うんだ。俺の仕事は主に開発者に戦略的な方向性や優先順位を示すことだけど、作業の妨げを取り除くのもそうだ。でも、来る中断は自分で調べたり解決したりしたがらない連中からが多いんだよ。データベースアクセス? Infraサポートに聞けばいい。APIクライアントの作者? Gitを見ろ。自分で調べようとしない奴らがいるんだ。
シニア開発者として、全く同感だよ。自分で解決できることで何度も中断されてきた。俺が15秒で教えられることでも、彼らが調べるには2分かかるかもしれない。でも、それがめちゃくちゃイライラするんだ。ジュニアメンバーからの深い質問でも、15-30分かかることがあったよ。質問される前に、自分でどんな調査をしたか聞くようにしたんだ。『自分で調べられる道がいくつかあるはずだよ、それでもダメならまた来て』って優しく言うけど、何度も繰り返す奴らにはもううんざり。どうせ自分で調べたくないだけで、人に教えてほしいだけなんだってわかるんだよ。本当に疲れる。
こういう時って、人に魚の釣り方を教えるチャンスだと思うんだ。答えを教えるだけじゃなく、来る前にどれだけ自分で調べたか質問するんだ。続くようなら、1対1のミーティングで直接話す。もし色々な人から同じような質問が来るなら、ドキュメントか組織に問題があるのかもしれない。自分で解決できるようにトレーニングする時もあれば、彼らが自分で解決できないような壊れたシステムを見つける時もある。特に複雑なシステムや多くのチームがある環境で、これが大事だと感じるね。
マネージャーなら、チームからの質問って、中断じゃなくて仕事の一部なんじゃないの?方向性や優先順位を決めるのがフルタイムの仕事ってわけじゃないでしょ。
それは質問や状況によるね。もし『Fooデータベースへのアクセスが必要』って聞かれて、内部wikiに『JiraのフォームでOpsチームに連絡』って明確に書いてあるのに来るなら、そりゃただの怠け者だ。でも、もし内部ドキュメントがゴミで、情報が見つけにくい、誰に聞けばいいかわからないって状況なら、マネージャーはそういう質問にしょっちゅう対応しなきゃいけない。それは仕事の一部だね。
でも、その内部wikiってどれくらいの規模で、ちゃんと更新されてる?情報見つけやすい?もし調べるのに10分、聞くのに1分なら、聞く方が効率的だよね。開発者の効率を上げて、より多くの時間、できれば邪魔されない時間を与えるのがマネージャーの仕事だよ。
もし本当に23分かかって、それが変えられないなら、医療とか多くの重要な職業が成り立たなくなるよ。つまり、中断の影響を一つの数字でまとめるのは疑わしいってことだね。
それは平均値だってずっと思ってたよ。つまり、5秒で済むこともあれば、2時間かかることもあるってこと。引用された情報が十分具体的じゃないけど、もしそうでなかったら、とんでもなく荒唐無稽で簡単に却下される主張だよね。
それか、単にタスクの優先度がどんどん下がっていっただけってこともあるよね。
多くの人がタイトルだけ読んでコメントしたり、記事を”読んだ”と主張する人がちょっとした皮肉を言ってるのを見るのは面白いね。だって、それはこの記事の主張をまさに示してるんだから。
記事を読まずにコメントする人が多いのは、残念だけどすごくよくあることだと思う。俺もたまにやっちゃうよ、主に記事が読む価値あるかどうかの印象を得るためにね。でも、結局記事を全然読まないまま議論に巻き込まれることもある。それでも、記事を読んでないのにトップレベルのコメントを投稿するのは考えられないな。
公平に見て、この記事は読解力を測る完璧なリトマス試験紙でもあるね。主張は明示的に述べられてない。でも、俺がもっと面白いと感じるのは、ちゃんと記事の言葉を読んだ人たちだよ。俺がコメントした時、このコメントはずっと上位にあったね。https://news.ycombinator.com/item?id=45000416
個人的には、思考プロセスの斬新さが回復の大きな要因だと結論付けたよ。簡単に言えば、もし俺がかなり珍しい思考経路を経て結論に至った場合、中断後にそこに戻るのはずっと難しいんだ。
逆に、俺はよく、自分が中断可能であることでどれだけの価値を加えてるか考えるよ。同僚が抱える問題を助けることで、俺が失う時間よりも彼が節約する時間の方が大きいかもしれない。それは会社にとって良いことだ。
それはもっともな意見だね。でも中断のもう一つの側面は、それがストレスを増大させ、ひいては有害な職場環境の一因になるかどうかだよ。
>会社にとって良いこと。君がCレベルの役職じゃない限り、そんな考えは頭をよぎるべきじゃないね。自分のことを大事にしな。
いや、自分自身や他の人間よりも会社を優先することこそ、決して頭をよぎるべきじゃないよ。会社が君を雇う唯一の理由は、会社にとって良いことをさせるためだ。もし彼らに雇われ続けたい(そしてもっとお金が欲しい)なら、会社にとって良いことを見つけて実行し、それが君のおかげだと経営陣に確実に知らせるべきだよ。
会社にとって本当に良いことと、“会社にとって良いこと”があるんだよ。自分の時間を犠牲にして他人の時間を節約するのは、後者だね。