私は自分自身で「ストップポイントシンドローム」と呼ぶ行動に気づきました。「ストップポイント」に達するまで(または疲労するまで)仕事を止めることができないことを意味します。つまり、機能の完成に取り組んでいるゾーンにいる場合、その機能が完成するまで止まりません。それが私が取り組んでいるバグである場合、この影響はさらに顕著になります...修正されるか、少なくとも理解されるまで、私は止まりません。私はラップトップで作業していて、VPNを使用していて、その夜遅くに家に帰って仕事に取りかかることができたとしても、その事実は私が仕事を辞めるのに役立ちません...バグを見つける前に死ぬのではないかと心配しています。
なぜ私が仕事から帰宅しなかったのか、時には午後11時に帰宅しなかった理由を理解できない家族にこれを説明するのは非常に困難です。マネージャーでさえこれに不思議に思っており、私の同僚のほとんどが毎日同じ時間に仕事をすることに問題がないことに気づきました。
他に誰かがこの問題を抱えていますか?これについて心配したり、変更したりする必要がありますか?もしそうなら?
いつも私に起こります。あなたはコーディングのゾーンにいて、時計に気づくでしょう...家に帰る時間ですが、それからあなたは「まあ、私がXを終えたらすぐに」と自分に言い聞かせます。次に発生するのは...「まあ、X + Yが完了するとすぐ」です。
これに対抗するために、コードに「ここから開始」と記したメモを入れ、自分が取り組んでいたことと、それを実行するために重要だったキーのポストイットを残します。
肝心なのは、これが起こったときに私のプログラマーは愛するということですが、家族の場合は特に、これをバランスさせて手に負えないようにすることが重要です。
これは通常の動作で、ここでも同じだと思います。対処するための最善の方法は、予定された出発まで完了できないように見える場合、新しい作業点を開始しないことです。確かに、この50分間を埋めるのに十分な忙しい仕事がありますね。
プログラミング、特にデバッグは、短期間のメモリを大量に消費します。完了する前に停止すると、キャッシュが消去され、以前の場所に戻るのに多くの時間が無駄になります。
したがって、これは自然で効率的であり、「対抗」するものではありません-計画されるべきですが。
役立つ1つのことは、作業中にメモをとること、そしてやめたときに次にやることをメモすることです。
これがまだ言及されていないことに驚いています。
停止する必要がある場合、stopコールドターキー、正中線、簡単で明白なものの真ん中にあります。 IDEは、エラーがあることを示す赤と黄色の行を随所に配置しますが、これは問題ありません。その行の前に、作業した項目について短い/ *コメント* /を作成してください。
作業を保存して終了します。
翌日戻ってくると、「ああ、そうだ、YのせいでXの真ん中だった」と思われ、作業の内容に戻るのは難しくありません。
私が最後に取り組んだこと(個人用のマイナーな趣味のアプリケーション)は、バグを狩っているときに何時間も飛んでいることに気付いたときにこれを行いました。手遅れになると、「これをねじ込んで」保存して終了すると思いますが、コンパイルエラーが発生します。その後、もう一度開くと、「エラー?wtf?!1 /」のようになり、「そうです、このメソッドが例外をスローした理由をテストしようとしていました」。
意外と効率が良かったので、今後はこの手法を使うつもりです。
以前は、タイマーでコンピューターを再起動する小さなアプリケーションがありました。私はそれが行われるはずだったときはいつでもそれを設定しました。私のコンピューターは起動に5分かかりました。これは、ワークフローに支障をきたして家に帰るよう説得するのに十分でした。これと、仕事外での生活が、仕事での生活と同じように、停止するのに苦労するほどの活動でいっぱいであり、始めたいと思っていることを確認することと組み合わせました。そのような活動を見つけるのに多少の努力が必要でしたが、それだけの価値がありました。
あなたの人生が仕事を中心に展開している場合、それは間違いなく非常に効率的な仕事の方法です。
私は同じ問題を抱えていた時代を経験しました。私はいつも仕事をしていましたが、すべてが縛られ、次回は完全に白紙の状態で座ることができるようになるまで止まりませんでした。残念ながら、管理されていないと、家族、友人、その他の趣味との時間を節約できます。
これは、私の習慣をもう少し扱いやすいものに集中させるのに役立ついくつかのヒントです:
他のほとんどの人がすることと比較してより長い時間サイクルで作業することはプログラミングの性質です。
レンガ層は、わずか1分で別のレンガを積み上げることができ、いつでも+/- 1分間停止して、作業が中断したところから再開できます。シンプルなステップ、短い時間サイクル。小売では、1人あたり1〜2分です。マッサージセラピストは1時間か2時間のタイムサイクルで作業します。午前中に何が行われたとしても、午後の予定とは無関係です。クライアントは時間の経過とともに実行される場合や、早期に表示される場合がありますが、特定の時間に実行されることを期待して、10分または20分かかることがあります。
飛行機を世界一周飛行させて世界新記録を樹立すること。これはストップアンドスタートのような活動ではありません。 1時間おきに2時間おやつに上陸したり、ビーチで戯れることは、その努力をはるかに印象的でなくなります。時間の最小増分は、日数に関係なく、旅行全体です。
ソフトウェア開発者がタスクを開始し、事実と詳細のメンタルキャッシュを構築し、バグを見つけるか、新しい機能を追加する方法を確認し、コーディングが完了するまで短期記憶のキャッシュを保持することは一般的です。あなたは時間的にダイムに止まることはできません。損失なしでは分割できない自然な時間の増分は、おそらく1時間から10程度のYMMVであり、メンタルキャッシュの損失が許容される主要な方法と同様に、いくつかの小さな弱い停止ポイントが途中にあります。タスクが本当に行われる停止点。
もちろん、私たちの体は疲れます。そして、善よりも害を及ぼす前に止めなければなりません。 「死はあなたに減速するように言う自然の方法です」という古いことわざが当てはまるかもしれません。
それは時々すべてのプログラマーに起こると思います。恐怖が原因だと思います。翌日、今していることを完全に忘れてしまうのではないかと恐れています。次に、すでに行ったことをやり直すために多くの時間を費やす必要があります。これは非常に非効率的です。私の経験では、ほとんどのプログラマhate非効率です。
これと戦うには、あなたがどこにいて次の日に何をしているのかをメモしてから、仕事をしていないもので賄賂を受け取り、自分を動かします。
あなたが家族を持っているなら、これは非常に簡単です。
午後5時に仕事を辞めた場合、コードは明日入社したときとまったく同じになります。
午後10時に仕事を辞めた場合、息子は家に帰るときにすでにベッドにいるので、抱擁したり、その日学んだことを披露したりすることはありません。そして、私の妻は助けなしで一日中お尻を動かさなければならなかったので不機嫌になります。
しかし、あなたが独身で、「ソーシャルシーン」に過度に興味がない場合は、気が狂います!
ただし、午後9時に行う作業は、午前9時に行う作業よりも品質が低い可能性があることに注意してください。十分に休息し、明確な心を持つことの利点を過小評価しないでください。
はい、これも持っています。ええと、実際に私は年をとったので、あまり目立たなくなりました。
また、一日の終わりには、また疲れていると、もっと間違いを犯すことに気づきました。到着して翌日仕事に戻ると、解決策が明らかになり、大量のコードを書き直さなければなりません。ただし、前日と比べてほんのわずかな時間で済みます。
私は犬(2匹)を飼うまでこの問題を抱えていました。私は特定の時間までに家に帰るか、尿を浄化する必要があります。また、ほとんどの場合、解決策は午前中に明らかになると思います。
これを制御する必要があります。あなたは現在、あなたの仕事を扱いやすい部分に分割することができないか、何かがかかるのにかかる時間を見積もることができないようです。だから、それが完了するまであなたは働きます。おそらく、競争が激しすぎるか、予定どおりに仕事を進められないのではないかと心配しています。
これは悪循環であり、長期的には役に立ちません。疲労、焼損などにつながる可能性があります...
だから、あなたの仕事をより小さな管理可能な達成可能なタスクに分割する練習をしてください。各タスクにかかる時間を見積もります。数時間以上かかるタスクはありません。これを正しく行うには、十分な時間をかけてください。休憩時間をとってください。そして、プログラミングではなく、人生の他の側面を楽しみ、学び、評価し、体験する時間を自分に与えてください。
いや、あなただけではありません。私は同じ問題を抱えています。私が少し前に尋ねた同様の質問の答えをチェックしたいかもしれません: プログラミング活動が問題になったときにどうするか?
一時停止しました。午前1時30分頃です。そのときは目を覚ましていることはできますが、どんな仕事も終わらせられません。そして、眠らない限り、翌日は何の価値もありません。
だから、11時以降に仕事をやめて、就寝することを学びました。そうすれば、翌日は新鮮で、週を通して着実に仕事ができます。
それはプログラマの性質だと思います。時々、あなたは新しい問題に取り掛かる前に早く去らなければならないかもしれません。あなたが入れたすべての余分な時間で、罪悪感を感じる必要はありません。次に、それについてあまり考えないように注意する必要があります。翌朝最初に取り組む準備をしてください。
仕事を楽しむのは素晴らしいことです。しかし、ここをそんなに多くの人々が仕事を中心に生活を送っているように見えるのも非常に悲しいことです。
ええ、私はいつもそれをします。
興味深いことに、私が一緒に働いた最高のマネージャーは、私がそれをやり過ぎたとき、いつでも家に帰るように言う準備ができていました。
それは当たり前のことですが、闘うべきだと思います。通常、私は高品質のコードを生成しているポイントをはるかに超えてプッシュし、正直に考えるのに疲れすぎて見栄えが良いものを修正するために午前中に多くの時間を費やすことになります。
通常、私はそれについて不合理になっていることを知ることができますが、警告の兆候に気付かなかった場合、誰かがあなたを平手打ちすることを助けます。