英文原文:私はスタートアップをした前に、私はプログラミングについて知っていた5つのこと
私はハッカーです。彼はコードを書くために古いコモドール64を始めたとき、私はまた、膝の高さだろう。今日、何もヘッドフォンを入れて打つまでは、何かが私が所有アップ割れました。私は私の最初の会社を作成したときに、私はすでにプログラミングについてたくさんのことを知っています。誤謬は、次の年、私を聞いていないです。
1.コードは非常に重要です
私は、多くの場所で働いていた、そのような広範囲の現象の成功の中に隠さを発見した:初期のコードは類人猿で書かれたプログラムのグループの後に酔ってのように見えます。これは、企業が成長させためにあらゆる努力をしなければならないので、完璧ソフトウェアを追求する時間がないので、それは、直感に反する聞こえることがあります。一方、企業の障害が発生するが、それは彼らのコードベースを修正するために多くの時間がかかります。
アナロジー:あなたが寿司職人であれば。あなたの仕事の一環として、あなたは、絶版ナイフのセットを収集します。あなたは彼らが調理競争力としてあなたの能力を強化し、コレクションを完了するためにエネルギーを費やすために時間がかかります。
しかし、あなたはあなたの小道具をシャープにするために日常的に使用するどのくらいの時間に関係なく、あなたは鍛冶屋ではありません。あなたは寿司を行うには、まだ動作します。けれども、あなたは世界最高のツールを持っていますが、あなたが寿司をしない場合は、あなたの顧客サービスは悪い評価です。あなたのレストランのビジネスは成功することはありません。
同じことは、ソフトウェアの本当です。あなたが会社を運転しているとき、あなたのビジネスの目標は、顧客満足度です。コードは、それ自体が目的で最後までただの手段ではなく、することができます。それは、顧客サービスを向上させることができますので、あなたは、あなたのコードを気にする必要がありすることができます。しかし、目標として間違っているツールならば、あなたは失敗する運命にされます。
教訓:あなたの顧客は、テストカバレッジ、テクノロジー・スタック、バージョン管理システムは、あなたが使用しているもののアルゴリズム気にしない気にしません。あなたの仕事は、より良い、より便利に、顧客の問題を解決することです。
2. ...アイデアではなく、実装を以下に示します。
これは、伝統的なベンチャーの注意に反し聞こえるかもしれない:迅速なリリースを!実行!イテレーション!実行、全く分かりません!ラピッドフェール!
これらの上に素晴らしいアドバイスです。しかし、「創造性を必要としない、」私たちは優れた実行悪い考えを修正することができますという意味ではありません。成功は、この問題を解決するために、もう一度、良い質問を発見されました。だから、良いアイデアが、完璧を達成するために良いか悪いかのアイデアを達成しなかった、当然のことながら、保存された前者がありますされていません。
デス・スパイラルの実装にトラップされた多くのプログラマは、さまざまな機能を作成したり、バグを修復するために多くの時間を費やし、私は成功することができると信じて機能を追加します。私は、これは錯覚である、あなたに言います。あなただけの重要な問題を解決する必要がある、またはあなたが本当にニーズに対応するための機能を追加することができない限り、単に意味をなさないような製品などの機能を追加していきます。
良いアイデアが、悪い考えを完璧に実現よりも良いが優れている、良いを達成できませんでした。
教訓:あなたが機能を追加した場合は、故障した製品を修理するために使用され、これは本当に問題を解決することはできません自分自身に問うのがベストです。
3. ......コードは、コンピュータのために書かれています
このエラーはいつも不朽のだろう、なぜ私が想像することはできません。どんなに多くの回のトラブルで、プログラマの同僚に悪い文書化とコミュニケーションの習慣は、彼らはそれゆえ、多くの場合、まだ結論ので - 生まれのプログラマはこれらの事をやってはならないこの種のものが得意ではありません。
間違ったああ。
あなたはチームの一部である場合には、最大のハードルの効率を高めるために、チームはコミュニケーションである - これは誇張ではない、チームが直面している(N2)質問Oです。コードはポスターを書かされ、その後、単にコンピュータ上で実行することができ:コードは、あなたのメイン出力であれば、あなたは、プログラミングについての考え方を変更する必要があります。
何回も、私はプログラマがコードを書くために精力的に働いていたが、ドキュメントのコードを更新するための10分を省い時間を費やして見てきました。彼らが感じるので、これは次のとおりです。自分の考え不条理な、ある意味では「ライン上でこの種のものの後に左チョッパーの虐殺鶏Yanyongが、私の時間はまだ価値があります。」。
教訓:コードは、ポスターに書かれています。いいえドキュメント、コードを記述しません。
4. ...これは、コードの準備の最終段階です。
あなたはこの機能を終了した後、投資商品は、その後、あなたが行われていると思いますか?間違いました。各関数は、ライフサイクルを持っています。今日、あなたは成功した場合、あなたの後でプログラマーの複数世代に闊歩なり、コードを記述します。可能性は、ちょうど今日あなたが書いたコードの世話をするために、そしてチームを設定していました。
それについて考えてみよう。あなたの仕事は、他の誰かが書いたコードの世話をする場合は、ご希望ですか?
この問題を解決する鍵は、意味の危機を持っていることです:最初のバージョンを完成し、それがコードの終わりを意味するものではありません。仕事を終え、文書、ノートを確認してください。
レッスンは学んだ:他の人がたに、他人に課すことはありませんでください。
5. ...プログラマの仕事はコードを書くことです
ほとんどのプログラマは、ヘッドホンコードをノック着て、コンピュータの前に座って時間を最大限に活用だと思います。あなたは、コードのすべての行は、製品全体のライフサイクルを維持し、サポートするために必要な書き込みしかし、もし、そのアルゴリズムはまた異なるものになります。
あなたが書くコードに興味があるとき、あなたは彼らがやりたいことができますので、あなたがやりたいものは何でも。あなたがチームに製品を生産している場合しかし、あなたは、既存のコードを維持するための主要な義務となります。その他の重要な仕事:コーディネート、コミュニケーション、計画と指導。
教訓:プログラマが問題を解決することです。それは、常にコードを書くという意味ではありません。
あなたはプログラマでなく、プロダクトマネージャーだけではありません。
時には、あなたは考えるかもしれない:このことは、作業プロダクトマネージャーではなく、プログラマのように聞こえます。特に新興企業に - - あなたがコードを書くために給料を取る場合は、それのためのプロダクトマネージャーとして自分自身を見ています。あなたは製品が成功するためにしたい場合は、全体的な状況は非常に重要です。あなたの将来のキャリア開発にも非常に良いですが、これは、だけでなく、あなたのスタートアップのビジネスのために良いです。
最後に、もしあればさまざまな意見、大歓迎翼