これは、Scott HanselmanのAnalysis Paralysisによる3月30日の記事の翻訳です。
今日、私はArsTechnicaに関する投稿を読みました。 どうすればいいですか? 「StackOverflowに関するこの質問の概要は次のとおりです。
経験を積むほど、プロジェクトやタスクを完了するのに時間がかかることに気付き始めました。 年齢に関係なく資格を失うことはありません。 問題は、何かを壊す方法が多すぎることです。 そして、私が知っている潜在的なエラーとニュアンスの数はますます増えています。
簡単な例:以前はファイルにデータを書き込むだけでした。 今、私はアクセス権、別のアプリケーションによるファイル占有、マルチスレッド、アトミック操作、フレームワーク、異なるファイルシステム、ディレクトリ内のファイル数、予測可能な一時ファイル名、 PRNGの品質、コードのAPIに適した操作中の停電について考えています。通常のドキュメントなど。
私にとってまさに爆弾です。 私は最近、このような問題が年齢から現れるかどうかについても考えましたが、私はそれほど古くはありません。 この問題は、膨大な経験と、タスクへの過度の反省によって生み出されます。 私は多くの人よりも経験が豊富ですが、明らかに分析の麻痺に苦しむほど経験はありません。
私は休暇で、そしてみんなが寝ている夜に仕事をする自分のプロジェクトをいくつか持っています。 1つ目は、Windows Phone用の人気のあるiOSアプリケーションの移植版であり、2つ目は、友人のグレッグとのスタートアップであり、クラウドサービスを備えたiOSアプリケーションを作成しています。 両方のプロジェクトは順調に開始されましたが、膨大な数の問題が崩壊し、開発が停滞しました。
機能の実装を開始してからスローします。 「ディスクを交換する」ように感じます。アイデアを実装するのではなく、アイデアをシャッフルするのにより多くの時間を費やしています。 私はまだ一般的にかなり生産的ですが、コードを書くとき、私はただ減速し始めます。
考えすぎです。 「ファイルへの設定の書き込み」は、アプリケーションの以前のバージョン(まだ存在しない、ハァッ)からのマルチスレッドまたは設定の移行に関する妄想から混乱に変わり、タスクのボリュームが大きくなりすぎます。 私は大きなプロジェクトを恐れていません。 それはすべて私の建築パラノイアです。 プログラミングの長年にわたって、私は非常に多くの潜在的なバグと問題について学びました。そのため、何かが機能しない可能性があり、結局のところ、それは私のために機能しません。
ヤグニ-「必要ない」
彼らが言う正しい答えは、「あなたはそれを必要としません。あなたはそれを必要としません。」です。 「最高は善の敵です。」と言うのは簡単ですが、するのは難しいです。 StackOverflowを使用したMouvicielの書き込み:
十分な経験がないようです。私はこれを非常によく理解していますが、助けのために別の脳がしばしば必要です。
次のレッスン: 要件に従ってください。
あまり考えない方法
数年前にアジャイルについて知りました。 とりわけ、私はペアプログラミングが好きです。 良きパートナーがいれば、2つではなく3倍の仕事をすることがわかります。
そこで、パートナーを見つけることでスタートアップの問題を解決しました。 私は最高のプログラマーではありませんが、かなり耐えられます。 そして、パートナーと仕事をすると、両方が良くなります。 私はiOSでGregと、別のプロジェクトでJenと働いています。 彼らは明らかに私よりも良いコードを書いていますが、私も役に立ちます。 彼らは、プログラマーとしての私の人生と、YAGNIを話し、単純に機能を実現する習慣に新鮮な表情をもたらしました。 皮肉なことに、彼らが何らかのプロジェクトに私を呼ぶとき、私は同じものを持ち込みます。
私の妻は面白いです。 関係についての古いジョーク:あなたのパートナーは年々何かをあなたに伝えます、そしてある日あなたは仕事から家に急いで見知らぬ人から新しいアイデアを共有します...私は遠隔で仕事をしているので、ペアプログラミングはすべてビデオチャットと画面デモを経て行われます。 Skype、Lync、Join.meを使用しています。 パートナーと私はオーガナイザーの機能を順番に実行し、一方の画面をもう一方の画面にブロードキャストし、コードを話し、記述し、アーキテクチャを考えて開発し、Gitにコミットし、場所を同期して交換します。
ですから、最大3時間耐えることができれば、疲れます。 しかし、問題に一緒に取り組むことからの満足感は素晴らしいです。
あなたのプログラミング生活は時間の経過とともに麻痺しますか? そのような問題にどのように対処しますか?