私の最後の3つの仕事では、私はコードのメンテナーでした。 3つのケースすべてで、私は採用されましたafterプロジェクトのコードの大部分はすでに記述されています。
私は独学のプログラマーです。私が初めてプロとしての仕事を始める前に、自分のベルトの下で数十のプロジェクトを開始し、成功裏に出荷しました。
新しいコードの作成と既存のコードの保守は、2つのまったく異なる仕事です。航空エンジニアと航空機整備士を比較するようなものです。
それは特に、あなたが飛行機を何らかの方法で論理的または保守しやすいように設計することを試みなかったエンジニアによって設計された飛行機で作業している航空機整備士である場合には、うんざりします。
私はプロジェクトが最初に始まるときに周りにいるように感じ始めています。あなたはそれらの1人でなければなりません特別何らかの形でコンピューターサイエンスの分野の他の人々を超越しています。その立場になるには何が必要ですか?
この質問には簡単な答えはないようですが、誰かに洞察を与えることはできますか?新しいプロジェクトの1階に行ったことがありますか?そこにたどり着くまでに何がかかりましたか?
メンテナンスは人によって異なることを意味し、さまざまな理由で発生します。
ここでいくつかのことを試してみてください:
保守の役割は、いくつかの方法であなたの利点に変えることができます。
これをすべて言っても、私はロールモデルではなく反例です。この視点の多くは、経験と観察から来ています。
まだ作成する必要がある多くの新しいプログラムがあります。
準備ができていれば、意外とすぐに作業ができるようになります。
私はあなたに悪いニュースを持っています:人類のニーズの多くのアプリケーションはすでに書かれています、それはそれらが常に変化する環境に微調整されるべきであるということだけです。
いつか、新しいモジュールなど、システムの新しい部分を書くように求められ、グリーンフィールド開発に関する知識を活用できます。
それまでは、レガシーアプリケーションをリファクタリングしてモジュールをクリーンアップする方法を学ぶことができます。
「レガシーアプリケーションの操作」と「パターンへのリファクタリング )」元のRefactoring(Fowler)を読んでいない場合は、読んでください。そして、テスト駆動開発(TDD)を学び、常に役立ちます。
PHPを使用している場合のために、私は ハンズオン記事 を記述しました。このコードは引き続き実行されます...
楽しんで!
脱出する最も簡単な方法は、プログラミングのスタイルを完全に変更し、同時に新しいスキルを追加することです。たとえば、研究者になろうとします。それは最初の年の名誉の仕事ではないかもしれません、そして確かにそれは通常のプログラミングの仕事ほど高額ではありません業界の他の部分とほぼ同じですが、今日見つかる最も困難な問題に取り組むためのスキルは間違いなくあります。そのような仕事の後、あなたは次のボスに見せるためにいくつかの興味深いプロジェクトがあれば、より良いポジションに簡単に飛び込むことができます。