大きく複雑なプログラミングチャレンジにこだわっている場合はどうでしょうか?

画像



時々、難しいタスクを解決するとき、私はそれで立ち往生します。 些細なことを始め、他の人にアドバイスを与え、たくさんのコーヒーを飲み、常に何かを探して優先度の低いものに取り組んでいるとき、私はこれを理解しています。 時間が経ちますが、ほとんど行われていません。



私がこれに注意を向けたとき、私は真剣に思慮深くなり、自分自身の良心、義務感と自分自身を決して落胆させない男と彼のチームの誇りに訴えました。



時間が経つにつれて、私はそのような状況で生産性を自分に戻し、難しいタスクを完了することができる方法を開発しました。 この経験を共有したいと思います。



前提条件



この記事では、あなたが直面しているタスクを明確に理解しているという事実から始めます。 そのような理解がない場合は、メモに戻ったり、掲示板を作成したり、顧客とチャットしたりする必要があります。 タスクを明確に理解しない限り、間違いなく生産性を上げることはできません。 ほとんどの場合、顧客の時間とお金を無駄にするだけです。



だから、あなたは何をすべきかを知っているが、タスクによって知的に抑圧されているという事実から出発し、それにどのようにアプローチし、どこから始めるべきかを知らない。



私の戦略は、難しいタスクに対処するための3つの連続したステップで構成されています。

  1. スタート -動き始め、あなたの強さを信じてください。
  2. コントロールを取得 -最後に優柔不断を克服し、パスのマップを作成します。
  3. 加速 -自信を得て、速度を最大に高めます


場違いになる



「小説を書くことは、夜に車を運転するようなものです。 含まれているヘッドライトの距離でのみ道路を見ることができますが、この方法でさえ、あなたはずっとずっと圧倒することができます。」 - EL L.



25分のスパート


最初に行うことは、コードを書く準備ができた状態でコンピューターの前に物理的に座ることです。 まだこの位置にいない場合は、ネゴシエーターのスキルをすべて適用し、抵抗する体を作業位置に移動する必要があります。 自分自身と議論するのは簡単ではありませんが、この25分の決定的な分と引き換えに、いつでも小さな報酬を約束することができます。 そして、短い休憩の後、さらに25分。 その他。 トマトのテクニックをお試しください



ぶら下がっている果物を切り取ります


Big Difficult Taskは、サドル(椅子)からあなたを放り出して動かないようにします。 しかし、進歩を遂げるためには、しっかりと自信を持って前進する必要があります。 できるだけプログラミングに没頭してください。 実行方法がわかっている小さなサブタスクを実行します。 全体ではなく、少なくとも数歩先に進みましょう。 次の手順は、現在の手順に取り組む過程でより明らかになります。 「実」を次々と「引き裂き」、小さなタスクから次のタスクに移動して、勢いをつけます。 これらのタスクのチェーンを保持し、頑固に先延ばしの風と波を介して前進します。



コピー&ペースト


コピー&ペーストは悪い習慣です。 ただし、大きな士気をくじくタスクがある場合は、コピーと貼り付けが出発点として適しています。 以前のプロジェクトで同様のコードを見つけ、GoogleまたはStackoverflowで例を探します 。 このコードは、現在のタスク用に編集した後に使用します。 そしてもちろん、その後それをきれいにして、 悪影響を取り除くことを忘れないでください。



戦闘中の偵察


可能な解決策と潜在的な障壁について、タスクの領域を評価します。 あなたがまだしっかりと立ち上がる前に、タスクでオープンな戦闘に従事しないでください。 サブタスクは単純な場合にのみ作業を開始します。そうでない場合は、その複雑さの程度を評価し、後で計画します。 もっとよく考えるには、次を試してください:





重要な質問:攻撃の準備はできていますか?


問題を解決する準備ができていない場合は、正直に認められる必要があります。 助けを得るか休憩を取って、自己学習に費やしてください。 そうでなければ、あなたは困難な状況に陥り、闘争を続け、最終的にタスクに失敗するかもしれません。 これは、チーム、会社、または顧客にとって公平ではありません。



段階の結果:あなたは外出中であり、外出する準備ができています



コントロールを取得



「チャンスは準備された心を好む」 - ルイパスツール



プロジェクトマネージャーは、顧客と一緒に、あなたの魂の上に立って、神経質に「このクソ作業をいつ終了するのですか」と尋ねています。 暗闇の中で長すぎる旅行は安全ではありません-あなたが遅れたり、間違った方法でチェックすることさえあります。 あなたの意識が抵抗するのを止めて協力し始めるとすぐに、あなたはコントロールを取り、問題を解決する方法とこれにどのような努力が必要であるかについてより明確な考えを形成しなければなりません。



ここで疑問が生じるかもしれません:「最初から自分の手に制御を移してはいけない-前方のすべてのステップを計画し、計画に従うための規律に?」 品質計画を立てるには、まず領土を探索し、この計画の準備をする必要があると思います。 さらに、「タスクを手元に戻す」には時間がかかり、同僚と考えを調整し、機能要件、技術、ツールで自分を確立します。



ビッグで恐ろしいタスクの前に困惑しているプログラマーの心にとって、「Get Started」が必要な段階である理由です。



クラッシュタスク


まず、大きなタスクを小さなタスクに分割し、勝利への道を切り開きます。



火災トレーサーの弾丸


すべての主要なコンポーネントに影響する、小さいながらも機能するプロトタイプを作成します。 それらをまとめて機能させると、解決への道のりで大きな成果になります。 プロトタイプは、後続のコードのフレームワークになります。



時期尚早の戦いを避ける:大規模な再設計、リファクタリング、または最適化


優れたアーキテクトと専門家の第一人者スキルを使用して、システム設計、トータルコードリファクタリング、潜在的に遅いレイヤーの最適化を改善したいと思うでしょう。 注意してください-このアクティビティは、多くの場合、フィニッシュラインの正面にある深い穴の底につながります。 自制心とプラグマティズムを実践する。 Perfect Perfect Systemのイメージではなく、顧客の問題に対する実用的なソリューションに焦点を当てます。



制御を得た兆候:





フェーズの結果:アクションプラン、必要な評価、機能を拡張するフレームワークがあります。



スピードアップ



「今日実現した優れた計画は、将来の不確実な時点で実現した優れた計画よりも優れている」 - ジョージ・パットン将軍



明確な心とコントロールが得られたら、最高速度で動き始めることができます。 コントロールを失い、品質を監視するのではなく、高いモチベーションを維持する必要があります。



少しの純利益


ある小さな勝利から別の勝利に移り、好きなものを残して、リファクタリングし、うまく機能します。 途中で焼いたものを手放すとすぐにバラバラになるように放置しないでください。



浸漬


フロー状態に入ります-「自分がやっていることに完全に没頭し、完全に集中して成​​功を目指す精神状態」

ストリームの状態の条件:





反完璧主義


問題を際限なく再考することをinわず、すでに十分に機能しいるものを磨くのに時間をかけすぎないでください。 代わりに、受け取ったフィードバックを受け取ったときに将来の拡張機能に開かれたシンプルなデザインに努めてください。 いつ停止するかを知り、仕事が本当に完了したと言う決心をしてください



段階の結果:列車は予定通りに正確に全速力で目的地に急行し、何もあなたを止めることはできません:)





この記事に関心をお寄せいただきありがとうございます。困難な課題の前で優柔不断を克服するための戦略を喜んでお聞きします。



All Articles