コードメンテナーの役割からどのように抜け出しますか?[閉まっている]


13

私の最後の3つの仕事では、コードメンテナーでした。3つのすべてのケースで、プロジェクトのコードの大部分が既に書かれた、私は雇われました。

私は独学のプログラマーです。初めてのプロの仕事を始める前に、私は自分のベルトの下で十数個のプロジェクトを開始し、成功して出荷しました。

新しいコードの作成と既存のコードの保守は、まったく異なる2つの仕事です。航空技術者と航空機整備士を比較するようなものです。

特に、飛行機を何らかの方法で論理的または保守しやすいように設計することを試みなかったエンジニアによって設計された飛行機で作業する航空機整備士である場合、それは残念です。

プロジェクトが最初に開始されたとき、私は周りにいるように感じ始めています。あなたは何らかの形でコンピュータサイエンス分野の人々の残りを超越した特別な人々の一人でなければなりません。その位置にいるには何が必要ですか?

この質問には本当に簡単な答えはないように感じますが、誰かが私に洞察を与えることができますか?新しいプロジェクトの1階に行ったことはありますか?そこに着くのに何が必要でしたか?


Code Maintainerジョブに応募しますか?
ジェームズ

@ジェームズのすべてのジョブはコードメンテナーのジョブ、または少なくとも私が出くわすすべてのジョブです
...-nbv4

がっかりしないでください。技術では永続的なものはありません。メカニック対エンジニアのように感じるかもしれません。しかし、独学の指導者や高度な学位を持つ働きバチを持つ多くの企業があると思います。正式な教育を順守するための地位、知識、および努力には何らかの報酬が必要ですが、「最近私のために何をしましたか」に対するあなたの答えはありますか?より良い、それは長い道のりを行きます。
DeveloperDon

回答:


6

メンテナンスは、人によって異なることを意味し、さまざまな理由で発生します。

  • 最悪の場合、最初のシステムが急いで一緒に放り込まれ、最初のチームがそのすべてを評価しました。彼らは80/20ルールに従いました。したがって、販売可能な最小の実行可能な製品があるかもしれませんが、多くの顧客は多くの修正と小さな改善を必要とします。多くの問題がありますが、栄光はあまりありません。あなたには最も困難な仕事があり、その感謝はありません。これがあなたの状況ではないことを願っています。
  • 良い例として、作業に注意を払い、フィールド化された製品を破壊することなく変更を加えることができることを示しています。残っている問題は、元のシステムを一緒に叩いた人にとっては難しすぎる。たぶん彼らはシステムを最後まで構築できなかったのかもしれませんが、おそらく彼らの代わりとして、物事を正しく設定し、顧客、プロジェクト、利益を救うためにあなたがいるのです。
  • おそらく、プロジェクトコストの60%がメンテナンス中に発生します。おそらくそれはタイミングであり、おそらくあなたの組織は新しい開発とメンテナンスを分離していますが、私たちの多くがメンテナンスを行っているため、あなたは3/5の大多数です。

試してみることがいくつかあります。

  • 素晴らしい仕事をし、優れた態度を持ち、アイデアリーダーになる。
  • 可能な限り、単独ではなくチームで作業してください。
  • 新しい言語を学ぶ。
  • 新しいプラットフォームをご覧ください。
  • 小規模なプログラムで作業するためのリクエストは、おそらく小規模な企業にも適用されます。
  • スキルを身に付け、ドキュメントに参加してください。プロジェクトが開始されると、ウォーターフォール後の時代であっても、ロードマップ、文書化、評価、要件の明確化のために多くの書面による調整が必要です。
  • プロジェクトが要件管理、見積もり、リスク評価を評価していない人の手で開始するのは危険なので、できる限りこれらのスキルを学び、実践してください。
  • より正式なトレーニングまたは認定資格を取得します。これにより、ステータスが向上し、新しい開発プロジェクトのチームが形成されるときに、より魅力的な選択肢になります。
  • 側で会社またはコンサルティングを開始します。これにより、好きな種類の作品をターゲットとする創造的なアウトレットが得られ、コードやドキュメントなしで始めるのがどのようなものかをよりよく理解できます。
  • 上司や新しいプロジェクトを計画している人々に近づきましょう。
  • 逆に、テスターとQAに非常に近い場合、それらの出力は多くの場合、メンテナンスへの入力です。
  • できるだけ多くの友達を作り、できるだけ多くのグリーンフィールド開発者の尊敬を勝ち取りましょう。
  • 新しい開発者はできる人なので、批判や否定性のヒントには注意が必要です。責任や判断なしに、自由にあなたの考えを伝えてください。あなたのアイデアを紹介する必要はありません。私たちはこの方法でこれを行っていた、またはそれがうまくいかない、と言ってはいけない、これを試してください。決してわからない、私にはわからないが、これはうまくいくかもしれない。アイデアを言ってください。または、それを見せてください。
  • 新しいプロジェクトになる可能性のある概念実証を構築する機会を見つけてください。
  • 誰があなたに仕事を割り当てているかに注意してください。通常、それはあなたの指揮系統の誰かであるべきです。それがあなたの仲間なら、時々押し戻してください。それがあなたが監督する人である場合、コントロールが反転している正当な理由が必要です。QAまたはテストの場合、コマンドチェーンにとって重要であり、以前に約束した作業を遅らせるような方法でスケジュールされていないことを確認してください。
  • 完璧に注意してください。新しい開発は、目を交差させてtにドットを付けない場合でも、多くの場合、高速の人々のために予約されています。
  • 開発ラインに適したプロジェクトの早期スキルを学び、実践する時間を費やしてください。これには、ソースリポジトリの作成、ビルド環境の定義、常時統合サーバーの構成、ハードウェアチームとの緊密な連携によるボードサポートパッケージを備えた新しいボードの作成、セルフテストの書き込みなどが含まれます。購入して新しい開発ツール、トレーニング、COTSハードウェアを購入する方法を知ることも役立ちます。
  • メンテナンスプロジェクトが終了する前に、チームリーダーやマネージャーに社内で、または社外でスキルを購入するなどして、必ず先に進んでください。
  • 知っているすべてのテクノロジーに精通し、多くのテクノロジーを知っています。

メンテナンスの役割は、いくつかの方法であなたの利益に変えることができます。

  • グループや会社が作成するすべてのプロジェクトに潜在的に取り組むことができます。
  • 新しい開発と保守が分離されている場合、潜在的に競争力の低いリーダーシップトラックに従うことができます。新しいプロジェクトのリードは非常に切望されていますが、メンテナンスリードが求められる場合があります。励ましやメンタリングを与えれば、そのチームのメンバーはもっと感謝するでしょう。
  • プロジェクトがメンテナンス中の場合、顧客とやり取りする可能性が高くなります。間違って処理され、これはキャリアを終了します。正しく処理されれば、開発者の外では前向きな注意を引きますが、管理者にならないと見つけるのは困難です。

これをすべて言ったが、私はロールモデルではなく反例です。この視点の多くは、経験と観察から来ています。

まだ作成する必要がある多くの新しいプログラムがあります。
準備ができたら、驚くほどすぐに作業することになります。


4

悪い知らせがあります。人類が必要とするアプリケーションの多くはすでに書かれています。それは、絶えず変化する環境に合わせて微調整する必要があるということです。

いつか、新しいモジュールなど、システムの新しい部分を作成するように求められ、グリーンフィールド開発に関する知識を活用できます。

それまでは、レガシーアプリケーションのリファクタリングを学習して、モジュールをクリーンアップできます。

良い読み物は、「レガシーアプリケーションの操作」および「パターンへのリファクタリング」です。」です。オリジナルのリファクタリング(ファウラー)を読んでいない場合は、そうしてください。また、常にテスト駆動開発(TDD)を学びます。

PHPで作業している場合のために、 このコードがまだ実行実践的な記事 ...

楽しんで!


1

脱出する最も簡単な方法は、プログラミングのスタイルを完全に変更し、同時に新しいスキルを追加することです。たとえば、研究者になろうとすることができます。それは最初の1年間は名誉ある仕事ではないかもしれませんし、確かにそれは通常のプログラミングの仕事ほど高くはありません業界の他の部分とほぼ一致しています)が、それは間違いなくあなたが今日見つけることができる最も困難な問題に取り組むためにあなたのスキルを置きます。そのような仕事の後、次のボスに見せるための興味深いプロジェクトがあれば、より良いポジションに簡単にジャンプできます。

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