私は、他の人には何週間も見られないコードの一部で、孤立して作業していることに気付きます。自分の生産性とやる気を維持するためのアイデアを探しています。
長期的なプログラミングタスクを与えられ、自分で(たとえば、チームメイトや同僚なしで自宅から)働いているときに、やる気と生産性を維持するために何をしますか?
私は、他の人には何週間も見られないコードの一部で、孤立して作業していることに気付きます。自分の生産性とやる気を維持するためのアイデアを探しています。
長期的なプログラミングタスクを与えられ、自分で(たとえば、チームメイトや同僚なしで自宅から)働いているときに、やる気と生産性を維持するために何をしますか?
回答:
バランスを維持します。
何か新しいこと(ゲームをプレイする、ビールを飲むなど)が与えられると、私たちはその1つのことを長時間集中して実行することができます。(コーヒーの過剰摂取なしで)ありふれたタスクを実行する唯一の方法は、バランスを維持することです。私が「ムンダン」と言うのは、もしこれがあなたが本当に情熱を注いでいる仕事なら、あなたはサイトに迷い込んでこの質問をしなかったからです。
提案:
私が仕事をする唯一の方法は、目標を設定することです...
時間の終わりまでに、私はXを終わらせたい。そして、昼食までにY&Zが終わってほしい。昼食時にあなたがどこに着いたかを確認し、新しい目標を設定します。各ターゲットを完了すると、報酬があります。報酬はカップパか、机から歩いたり、スタックエクスチェンジで10分です...
達成可能な目標を設定することも明らかに良いです-あなたはあなたのリストから仕事の項目を刻むことの精神的な報酬を求めています。通常は時間枠内で達成できる限り、ターゲットが何であるかは関係ありません。
プログラミングの問題のようにアプローチする
コードの記述に夢中になりやすいため、プログラミングの問題を解決する方法と、通常の現実の問題を解決する方法を区別しています。しかし、実際には、プログラミングの問題を解決するために使用する概念的なツールは、すべてに適しています。
プログラマーは、これを解決するために必要なツールをすでに持っているので、それらを適用するだけの問題です。
これは私が働いていると思うものです、
手元のタスクを明確に定義する:ここで最も重要なことは、タスクをメモリに保存せずに書き留めることです。
1つのタスクが巨大な場合はタスクに分割します。再びタスクに分割し、書き留めます。
ETAまたは期限を割り当てる:これは非常に重要であり、これについては非常に厳格で規律を守ってください。そうでなければ、先延ばしになります。
短期間の焦点を合わせるにはポモドーロ法を使用します。また、用事や電子メールのチェックなど、その他の時間にも間隔を使用します。
すべての焦点が当面のタスクにあることを確認してください。できる限り迷走作業を避けてください。
タスクを終了したら、完了マークを付けて、開始時間と終了時間を追跡します。タスクの実行中に何か特別な問題を解決したことを記録してください。
タスクの実行が終了したら、次のステップを決定します。
このデータを表形式にします。これはすべて、David AllenのGetting Things doneにあります。
さらに重要なことをいくつか。
覚えておいてください:
次の一歩を踏み出すことが重要です。各タスクに次のステップがある場合、タスクの機会は直線的に成長し、それらが複数の次のステップにつながる場合、タスクの機会は指数関数的に成長します。
確かに孫子が言ったように:彼らは押収される機会が増えます。
すべてをまとめると:
これに従ってください。
私は、あなたが取り組んでいるものについてあなたの考えを共有してくれる仲間がいると助けになると思います。他の人と議論することの恩恵を受けていない、私が単独で取り組んできた問題全体はありませんでした。
あなたのコードをピアレビューするために時間を割くことができるかどうか、シニアまたは友人に尋ねてください。レビューでペアリングできれば、さらに良いことです!
また、コーディングエクスペリエンスについてブログに投稿すると役立つ場合があります。この長い期間にあなたが学んだことや練習していること(TDDなど)があるか、何かをした方法についてのアイデアがあり、それがもっとうまくできたのではないかと思います。
いくつかのプロジェクトでこれを実行しました。私は自分自身に説明責任を果たさせるためにそれをやる気に保つ最良の方法を見つけます。
誰も私のコードや私がやっていることを見ていない場合でも、私は上司、上司、またはPMと話し、自分がどこにいるのか、私が計画していることを彼らに知らせることを優先事項にします週末の終わりまでに。彼らと一緒に駆け抜けるのに5分かかります、そして私はそれも彼らにとって本当に役立つと数人のPMから言われました。
私にとって、それは目標を設定し、私が満たしたいソフトな期限を設定します。PMの場合は、タスクのどこにいるのかを彼らに知らせ、彼らに入力を与える時間を与えます。
対面できない場合は、短いメールを送信してください。それはすべて、自分のタスクに対して責任を負うことです。
また、非常に大きなジョブを、管理しやすく測定可能な小さなタスクに分割してみてください。チケット追跡システムを使用して、自分にチケットを割り当てます。このように、あなたはあなたがしている方法を管理し、あなたがしなければならないすべてのタスクに対して責任を持ち続けることができます。