回答:
コードを作成するより良い方法が常にあります。
あなたが書いたコードがどれほど優れていても、数年後にそれをレビューすれば、それがどれほど悪いか驚くでしょう。数年前に、今日知っているパターンや、その間に学んだ言語機能などに気付いていなかったからです。
コーディングを始める前に考えてください。
一時的な解決策ほど永続的なものはありません:)
問題を解決するのが非常に難しい場合、問題自体が最初からひどく引き起こされている可能性が高いです。
あなたのソフトウェアは、あなたがそれを書いた時点で考えているよりもかなり長く生きます。
私は80年代にキャリアを始めました。私は70年代に起源を持ち、90年代にまだ使用されていたソフトウェアで始めました(おそらく、その運命についてはわかりません)。私自身のオープンソースコードの一部は、20年の半分を過ぎています。
新しい言語の学習は仕事の一部です
80年代に学校で4つのプログラミング言語について学びましたが、そのうちの1つを仕事で使用しました。私は4つの仕事に就きましたが、使用するために雇われた言語さえも知りませんでした。
全体的に、FORTRAN、c、c ++、c#、java、perl、Tcl、ruby、groovy、awk、python、sh、batch、DCL、javascript、少数の小さなDSL。少し計算してみると、多くの重複がありますが、私は数年ごとに新しい言語を平均しているようです。
私のキャリアで何かが不変だったら、それは変化です。
毎日勉強を続けてください。今日の知識は明日は時代遅れです。
皮肉なことに、この答えは明日も時代遅れになるはずです。しかし、実際には、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開発者でした。しかし、それから私は開発者が少なくともすべてのことを少し知っている必要があることを学びます。
試しはありません
4日かかると推定されるタスクまたはタスクの束があるとします。その後、上司またはプロジェクトマネージャーは、何らかの重要な理由で2日間で完了できるかどうかを尋ねます。良い、柔軟な従業員になりたいと思うと、あなたは言いたくなるかもしれません。これによる結果として最も可能性が高いのは、締め切りに間に合わないか、それを達成するために半ばばかされたハックを行うことです。そして、それをあなたに頼むことはあなたの上司のせいではありません、それが彼の仕事です。ノーと言わないことはあなたのせいです。これがあなたの仕事です。
時間と交渉することはできません。スコープと交渉できます。プロフェッショナルになり、空売りしないでください。
「それは決して起こらない」とは、実際には「生産の最初の日まで決して起こらない」という意味です。