あなたのキャリアで学んだ最高の教訓は何ですか?[閉まっている]


26

私は「5分間の仕事はない」と思います-プログラマーは開発について過度に楽観的である傾向があり、問題の迅速な解決を約束してからコードに飛び込む前に、含意を真剣に考えるべきだと思います

回答:


26

コードを作成するより良い方法が常にあります。

あなたが書いたコードがどれほど優れていても、数年後にそれをレビューすれば、それがどれほど悪いか驚くでしょう。数年前に、今日知っているパターンや、その間に学んだ言語機能などに気付いていなかったからです。


そして、あなたがそれを解決したら、それについて暴行をやめます。学び、改善しますが、仕事を終わらせます。トリックを見逃しているのではないかと心配していたため、IDEで麻痺しました。それがリファクタリングの目的です。:-)
イアンホルダー

17
  1. コーディングを始める前に考えてください。

  2. 一時的な解決策ほど永続的なものはありません:)

  3. 問題を解決するのが非常に難しい場合、問題自体が最初からひどく引き起こされている可能性が高いです。


11

あなたのソフトウェアは、あなたがそれを書いた時点で考えているよりもかなり長く生きます。

私は80年代にキャリアを始めました。私は70年代に起源を持ち、90年代にまだ使用されていたソフトウェアで始めました(おそらく、その運命についてはわかりません)。私自身のオープンソースコードの一部は、20年の半分を過ぎています。


9

他の人とうまく働くことは非常に重要です。

「 'Go to guy'を見せてください、あなたの問題をお見せします」

Slapdash Hero Coders-慣習、読みやすさ、または他の誰かが取り組んでいることを考慮せずにコードを作成するだけの人-は、害よりも害を引き起こす可能性があります。

高品質のコードを大量に書くことができる人は悪いことだとは言わない。珍しい。


この答えは、より多くの賛成票に値すると思います。私の側からの+1 :-)
オタク


7

新しい言語の学習は仕事の一部です

80年代に学校で4つのプログラミング言語について学びましたが、そのうちの1つを仕事で使用しました。私は4つの仕事に就きましたが、使用するために雇われた言語さえも知りませんでした。

全体的に、FORTRAN、c、c ++、c#、java、perl、Tcl、ruby、groovy、awk、python、sh、batch、DCL、javascript、少数の小さなDSL。少し計算してみると、多くの重複がありますが、私は数年ごとに新しい言語を平均しているようです。

私のキャリアで何かが不変だったら、それは変化です。


6

ソフトウェアは完全ではありません。

要件、改善、バグ修正には常にいくつかの変更があり、対処する準備が必要です。したがって、柔軟性を"software is never complete"持ち、常に改善の余地があるという事実を受け入れます。


5

毎日勉強を続けてください。今日の知識は明日は時代遅れです。

皮肉なことに、この答えは明日も時代遅れになるはずです。しかし、実際には、1つまたは2つのものを一生懸命勉強し、可能であれば認定を受け、そのことの神(おそらくプログラミング言語またはシステム/ネットワーク/データベース管理)になり、他の言語のように、君は。

たとえば、JavaとOracle DB管理の素晴らしい専門家ですが、Python、PHP、C ++、HTML5、Javascriptを少し勉強しますが、認定レベルには達していません。存在する各Webまたは言語フレームワークを調べます。SQL Server、MySQL、Cassandra、HBase、PostgreSQL、およびMongoDBやCouchDBなどのNo-SQLの世界など、存在する各データベースについてある程度の(基本的な)経験を積むか、試してみてください。Linuxの管理と仮想化の経験を積んでください。

これは、16年の経験から学んだ最大の教訓です。私はほぼ10年間、単一言語のプログラマーであり、当時はPascalを使用し、千年紀の初めにはVisual Basic 6を使用し、9年前からPHP開発者でした。しかし、それから私は開発者が少なくともすべてのことを少し知っている必要があることを学びます。


1
理論的なことはこれの例外です。

5

「あなたの数学が間違っていれば、あなたは乾杯しています。」

数年前に初めて学びました。わずか2週間前に再び学びました。


3

私が学んだ最高の教訓は

「あなたのアプローチではなく可能な限り最善のアプローチを常に選ぶべきです。」


3

私は、最高の設計原則がKISSで あることを学びました(それをシンプルにしてください、愚か!)

コードをシンプルかつクリーンに保つことが第一の関心事であり、各チームメンバーがコードの内容を理解する必要があることを学びました。The KISS principleほとんどのシステムは、複雑にするのではなく単純に保つと最もよく機能するため、設計の重要な目標はシンプルであり、不必要な複雑さは避ける必要があると述べています。


3

壊れていない場合は、修正しないでください!

既に機能しているものを拡張および改善しようとすると、大きな頭痛の種になります


3

試しはありません

4日かかると推定されるタスクまたはタスクの束があるとします。その後、上司またはプロジェクトマネージャーは、何らかの重要な理由で2日間で完了できるかどうかを尋ねます。良い、柔軟な従業員になりたいと思うと、あなたは言いたくなるかもしれません。これによる結果として最も可能性が高いのは、締め切りに間に合わないか、それを達成するために半ばばかされたハックを行うことです。そして、それをあなたに頼むことはあなたの上司のせいではありません、それが彼の仕事です。ノーと言わないことはあなたのせいです。これがあなたの仕事です。

時間と交渉することはできません。スコープと交渉できます。プロフェッショナルになり、空売りしないでください。


上司/マネージャーが、仕事をより早く終わらせるために、将来の仕事などを犠牲にして品質を妥協することを実際に望んでいる状況についてどう思いますか?
サム


2

一流の、最先端の、すっきりしたコードを書くのはいい感じです。

コードベースを台無しにするいくつかの簡単な修正回避策を行うように求められても、私はむしろそれを良い方法で行います。


1
  • コードの記述は簡単です。コードを読むのは難しいです。コードがあなたのものであっても。そのため、可能な場合は常に、読み取り可能なアプローチを採用してください。

  • あなたは他の人より賢くはありません。あなたのアプローチだからといって最高だと思ってはいけません。

  • 言われていることではなく、言われていることに注意してください。素晴らしいアイデアは、最も予想外のソースのために来るかもしれません。

  • 怠けてはいけません。素敵なコードを書くのに時間をかけてください。とにかくそれをより高いコストで修正する必要があります。


0

できるからといって、派手なOOP機能を使用しないでください!- YAGNI (あなたがそれを必要とするつもりはありません)

Use fancy OOP features解決しようとしている問題に対して明確で実証可能な利点があるためです。あなたは笑いますが、私はいつもこれを見ています。ほとんどのプログラマーは、好きではないオブジェクトに出会うことはありません。私はそれが他の方法であるべきだと思います:これらの技術はKISSの裁判所で無実であると証明されるまで有罪です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.