私は学生(まだ大学に通っていません)で、プログラミングを5年ほどしています。その間、私は言語から言語へ、APIからAPIへ、そしてプロジェクトからプロジェクトへと飛び回っていました。一つのことを考えてみましたが、興味がなくなりました。私のPC全体が半分完成したプロジェクトでいっぱいです(そして、少なくとも4倍の数が私のディスクからフォーマットされています)。
プログラミングを楽しむための私のモチベーションの低下(これは本当に楽しんでいるアクティビティの1つです)は、最後にプロジェクトを完成させることがないためかと思い始めます。オープンエンドの目標が多すぎるのか、注目のスパンが低いのかわかりません。小さなプロジェクトを完成させるためだけにやってみましたが、彼らは私にまったく興味がありません。
これが私のモチベーション低下の原因でしょうか?また、私が大学に行くことを申し込んだとき(そして将来的にはソフトウェアの仕事がうまくいけば)問題になる可能性がありますか?
要約すると:
キャリア、モチベーション、または教育のために、サイド/ホビープロジェクトを完了することはどれほど重要ですか?
「現実の世界」では、プロジェクトを完了することは明らかに重要です。プロジェクトが完了して提供されない限り、報酬が支払われない(または雇用主が支払わない)ためです。
ただし、趣味や学習プロジェクトの場合は少し複雑です。プロジェクトを完了することは、あなたが提供しようとするものを提供できることを潜在的な雇用主に示しますが、それは「プロジェクト」が何を意味するかに依存します。
すべてのスキルを紹介し、最終的にはお金を稼ぎたいものになる可能性がある完全な製品を作ることを目的としてプロジェクトを行っている場合は、はい、それを完了するか、少なくとも積極的に取り組んでいることを示す必要があります。
特定のこと(ビデオのストリーミング方法、パスワードの暗号化など)を学ぶためにプロジェクトを行っている場合、その側面が機能すると、プロジェクトを効果的に完了するため、完全に機能する製品を使用することはそれほど重要ではありません。あなたが持っているべきものは、あなたのスキルを実証するために将来の雇用主に示すことができるものです。
たとえば、これはログインに成功した後に「ようこそ、ジョー」と表示するWebサイトだけである可能性がありますが、パスワードの暗号化や安全な接続などを理解していることを示すWebサイトの背後にあるコードを披露しているので問題ありません。
同じ問題を抱えている人からそれを取ってください、あなたのプロジェクトの少なくともいくつかを終えることは非常に重要です。必要なことを学んだときや、最初から始めるのがよくなかったときは、いくつかの実験プロジェクトを行って放棄してもかまいません。
ただし、クリエイティブな人々は、プロジェクトの最後の退屈な「片付け、パッケージ化、ドアからの脱出」フェーズよりも、難しいプロジェクトの最初の部分を好む傾向があります。あなたはそれを克服するためにいくつかの戦略を考え出す必要があるか、あなたは
1)あなたがしたいことに対しては決して公的な信用を得ないでください(それがあなたが望むものであれば)
2)自分がしたことからお金を稼ぐことができない
しかし、最悪なのは、他の人やあなた自身が、あなたを物事を終わらせない人として識別し始めることです。これは、あなたにとって他人にとって非常に悪いラベルであり、あなた自身の考え方にも悪いものです。
だから、あなたのプロジェクトのいくつかを終えるのを始めるためにパートナー、理由または規律を見つけてください。
プロジェクトを完了した場合に発生する可能性があるすべての良いことと、完了しなかった場合にすべての悪いことのリストを作成します。それをモニターにテープで留めます:)
スケジュールを設定してください!プロジェクトには割り当てられた時間がかかるため、期限のないプロジェクトは永遠にかかります。月次および週次のマイルストーンでスケジュールを設定する
「今日はこれを達成する」という毎日の目標を設定する
アプリケーションなどを実行している場合は、実行可能で使用可能なものにすることに集中して、自分のドッグフードを食べ始めることができるようにします。あなたはおそらくあなたが興味のある何かに取り組んでいるので、実際にそれを定期的に使用することはあなたにそれを改善する動機を与えます。
大きなリファクタリングのエクスカーションを続けることに注意してください。大規模なリファクタリングのために4か月間アプリを中断しました。実行できなかったために開発に時間がかかり、クロールに取り掛かりました。リファクタリングを行いますが、一度にすべてを行わないようにしてください:)
完了するために実行する必要があるすべてのリストを作成します(abstractspoonのtodolistをお勧めします)。残りの量がわからない場合は、いつ完了したかわかりますか?未知の目標に向けて取り組むことはかなりやる気を起こさせる可能性があります
リストに目を通し、絶対に必要ではないものをすべてカットします(カテゴリを設定するには、Niceに入れます)。製品を仕上げることはあなたに後押しを与え、それらのことはその後行うことができます。 nothingよりもsomethingをリリースする方が良いです。 iPhoneでさえ、最初はすべてが揃っていたわけではありません。
光沢のある新しいことに気を取られないでください。私がプロジェクトを終了しない主な理由は、新たな挑戦を見つけたことです。古いプロジェクトが完了する前に新しいプロジェクトを開始することにどうしても抵抗できない場合は、古いプロジェクトを並行して作業し続けるか、完全に機能しなくなります。また、次のポイントを参照してください。
最小労働時間を設定します。プロジェクトにうんざりしている場合は、毎日15分または1時間であっても、プロジェクトに取り組む最短時間を設定してください。おそらく、あなたが始めれば、それよりも長く働くことになるでしょう。
/私は彼の次の大きなアプリケーション/プログラミング言語/ facebookキラーを終えるために行きます;)
PC全体がhalf完成したプロジェクトでいっぱいです
半分も完成しましたか?実際に何かを仕上げることの価値は、それから初めて、何かを仕上げることがどれほど大きな仕事であるかを本当に理解することです。プログラマーは、ほとんどすべての時間で80%実行されたほぼすべてを考慮するという固有の楽観性を持っていますが、残りの20%は少なくとも最初の80%と同じ時間と労力を費やすことが常にわかります。
ですから、少なくとも1つのプロジェクトを完了することをお勧めします。有料の顧客は、プロジェクトが50%、80%、99%完了したかどうかは気にしません。達成率は100%のみです。
私は学生時代からの無数のプロジェクトを抱えています。それらを終了することは重要ではないと思います。私のほとんどを終えたことはありません。それらのいくつかは、より良い文字列クラスを作成したり、Pixelクラス配列を使用してビットマップを操作したりするなど、完全に頭のよいものでした。
大きすぎるプロジェクトを選択しているのかもしれません。本当に小さいものを選んでください。土曜日の午後に2回以上完了しないもの。あなたはそれを完了すると満足するでしょう。たぶん、あなたは別のことをするのに活力を感じるでしょう。
覚えておくべき重要なことの1つは、実社会に到達すると、問題の解決に1日8時間費やすことになるということです。大規模なプロジェクトに取り組む時間は、散発的な学生ライフスタイルの設定よりもはるかに多くなります。
未完成のプロジェクトフォルダーに誇りを持ち、それについて打ちのめされないでください!あなたが別の分野にいた場合、例えばアートの場合、未完成のプロジェクトはそれほど重要ではありません。要点は、あなたが挑戦していて、それ自体が立派であることです。代わりに、テレビを見ながら家に座っていることができますか?または、Stack Exchangeサイトですべての時間を無駄にしている(おっと!)
Microsoftは、かつて望んでいた3Dの「華氏」APIを出荷したことはなく、NTFSの代わりとなる「データベース」ファイルシステムを出荷したこともありませんでした。彼らはおそらく他の何百もの製品を完成させて完成させることに失敗しました。また、「98%完成」よりはるかに少ないオペレーティングシステム全体を出荷しました。それは彼らに完全な仕上げ業者を貧しくしているのですか?
「Completer-Finisher」は、実際には Belbin Team Model のフレーズです。たぶん、あなたは「スペシャリスト」または「リソース調査官」であり、他の人が完全な仕上げ作業を行うチームに適しています。この方法で物事を見ると、自分の状況をより積極的に見ることができます。
8年以上プロのソフトウェア開発者であるにもかかわらず、それが何らかの慰めである場合でも、個人的なプロジェクトを完了するのは難しいと感じます。私は常にそれがオープンエンドの目標、「最初にクールなことをしたい」という願望、そしてそれを完了するための本当のプレッシャーの欠如の組み合わせだと感じてきました...しかし、あなたの2つの質問に答えるには:
プロジェクトが100%完了していないためにプロジェクトを失敗として扱うと、モチベーションに影響を与え、素晴らしい仕事に夢中にならないかもしれません。それらを失敗として見る代わりに、あなたが彼らから学んだこと、今知っている新しい言語/フレームワーク、あなたが学んだプログラミングレッスン、あなたが今スキルを持っているどんなツール、そしてそれをしている間にどんな人々/コミュニティとやり取りしたかについて考えてみてください。その観点から見ると、あなたの知識に何らかの形で貢献しなかった個人的なプロジェクトを見つけることはまれです。
大学または就職中は、プロジェクトを確実に完了するために2つの大きな違いがあることがわかります。まず第一に、あなたの目標は通常かなり明確に定義されています-特に大学の最初の2年間は。第二に、プロジェクトを完了するための本当のプレッシャーがあります-クラス/モジュールを渡すためにそうする必要があります。そうしないと、マネージャーがプロジェクトXYZを特定の日付のテストチームに引き渡す必要があることを伝えています。これは、私が個人的なプロジェクトで複製することができなかった焦点を提供します。
第一に、それは自己満足にとって重要です。あなたはゼロから明確な最終状態まで何かを達成しました。その後、「project-stack-in-mind」のアイテムを1つポップできます。私にとっては、常に安心でした。
あなたのキャリアのために、より正確には就職の面接のために、あなたのプロジェクトが完了するまで、あなたは何も見せたり話したりすることは何もありません...半分のプロジェクトを示すことは決して良いことではありません。バグがあるか、醜いか、単に機能していない可能性があります。面接担当者にそれらを言及することもできません。そうしないと、「なぜ終了しなかったのですか?」あなたは辛抱していません。さらに、他のプロジェクトを開始する時間があるので、あなたの主張は間違っているでしょう。あなたは賢い答えを見つける必要があります...
私はジョン・マルコムと同じような状況でしたが、間違った場所で時間を無駄にしていました。個人的なプロジェクトの場合は、完全な機能を優先して標準を下げることにしました。つまり、ajax、ローカリゼーション、検証、認証、ページネーション、ベアボーンUI、単体テストなどはありません。ビジネスパーツを機能させるだけで...私はそれを「直線」と呼んでいます。ソリューションは完全で、理想的な条件下で機能するはずです。それが終わったら、プロジェクトがまだ面白ければ、興味がなくなるまでリファクタリングを繰り返し続けます。
私も同様の経験があり、小さなペットプロジェクトの最後の5〜10%がkillerになる可能性があります。
終了したい場合の私のアドバイスは?友達、同僚、家族、またはあなたが取り組んでいるこのクールな新しいことに興味があるかもしれない人に伝えてください。それらを巻き込み、質問します。うまくいけば、あなたはあなたの進歩について尋ねるいくつかの信者を獲得するでしょう。それを知ることのプレッシャーは、平凡でありながらプロジェクトを出荷するために必要なステップを継続する動機になります。
プロジェクトの仕上げは、子供を大人から、小麦を籾殻から、男性/女性を男の子/女の子から分離するものです。
「本物のプログラマーが出荷する。」
プロジェクトを終了する必要があるかどうかを知るには、完了するために投資する必要がある時間と比較して、プロジェクトから得られる値を評価する必要がありますそれ。
値から抽出できる場合が投資よりも低い場合、 Sunk Costs で検討できます。
経済学およびビジネスの意思決定では、埋没費用は過去に発生した過去の費用であり、すでに発生しており、回収することはできません。
未完成のプロジェクトが多すぎると、wasteにつながります。 Waste は lean の最も強力な敵の1つです。
つまり、プロジェクトを中止して、より多くのROIを提供するプロジェクトに集中する方がよい場合もあります。多くの人はすべてをobstinationで終了し、本当に良いopportunitiesをキャッチできません。
プレーンでシンプル:仕上げたい場合は仕上げてください!したくない場合は、しないでください!配達を待っている人がいないので、なぜそんなに苦労するのですか?趣味のプロジェクトを行うことは、業界のプロジェクトと同じではありません。彼らは非常に異なっています。あなたがそれらを未完成のままにしたことを彼らに言わなければあなたの趣味のプロジェクトを終えなかった理由を誰もあなたに尋ねないでしょう。ネット上には10億の趣味のプロジェクトコードが浮かんでいます。誰かが本当に気にかけていると思いますか? (迅速かつ準備ができた最終年度プロジェクトを探している怠惰なuniv学生以外)
Seth Godinは、出荷の習慣を身につけることについて多くを書いています:
http://the99percent.com/tips/6249/seth-godin-the-truth-about-shipping
それは重要だと思います。その理由はここにあります。たとえそれがあなたにとって何らかの教育的価値があるとしても、自分でプロジェクトを行うだけでは十分ではありません。あなたが贈り物を世界と決して共有しないならば、あなたは彼の絵を誰にも決して見せないアーティストのようです。
私も苦労しています。理由を分析する必要がある場合、私は自分の個人的なプロジェクトを過度に設計し、考えすぎる傾向があると言えます。私は問題についてあまりにも多くの仮定を立てますが、その多くは無効です。それから、この実現に至る前に、あまりにも多くの作業を行います。それはやる気がなく、その時点で私は勢いを失います。過去数年間繰り返してきたアイデアが1つあり、このパターンを何度か繰り返しました。
私のすべての個人プロジェクトの今後の計画は、全体的なビジョンの小さなサブセットに焦点を当て、それを実装してそこに公開することです(それがオープンソースのgithubプロジェクト、ウェブサイト、一連の記事の記事であるかどうか)。
その後、私がまだ十分にやる気がある場合は、もう一度繰り返します。私が輸送から得られる満足がさらなる反復を通して私を維持することを望んでいます。
一番下の行はこれです... Sales Drive Everything。売上高がなければ給与はありません。売上がなければ、資本の改善はありません。売上がなければ会社はありません。売上は顧客からのものです。顧客は彼らが満足したときだけ支払います。満足とは、完成したプロジェクトが機能し、うまく機能することを意味します。
サッカーのアナロジーを使用するには:赤いゾーンはゴールラインの前の最後の20ヤードです。これは、タッチダウンのスコアリングで最も過酷な部分です。同じことがプログラミングプロジェクトにも当てはまります。多くの場合、最後の20パーセントは終了するのが最も困難ですが、完了する必要があります。