大学を卒業してエンジニアとして働いています。
今年で6年目になります。
経験した現場は、4件です。
エンジニアを目指すならば、知っておいて損はないと考えます。
約6年目のエンジニアが感じている良くある事です。
良くあることを知っていると耐性もできやすく、行動もしやすいです。
皆様の参考になれば幸いです。
システムの全体を把握している人が居ない
システムの構成、仕組みを理解している人が現場、チーム内に存在しないことがあります。
この人に質問、訊けば大丈夫だと思える人がいません。
弊害は正解が分からない中で作業することです。
要件が挙げられてもすぐには返答できません。
障害が発生した場合、原因が他チームにあるのかという判断、対応策がすぐには分かりません。
テストを実施したが、想定と異なる結果となりました。
想定と異なる結果ですが、システム本来の結果です。
要件のためプログラムを修正したが、システム本来の動きで修正が意味をなしていないとなります。
設計、プログラミングが間違っていた、要件の検討が必要だったとなります。
全体を把握している人がいるとすぐに分かります。
ただ、居ない場合はともかく原因を調査する必要があります。
テストが終わらず、スケジュールがどんどん遅れていきます。
調べても確証が得られず、しかし、進めなければいけないとう状況となります。
最も厳しい状況です。
腕の良い人も現場から離任する
全体を把握している人、仕事のできる人も離任します。
Aチームはこの人がいれば問題ない、回るという人が離任します。
逆に腕の良い人ほど現場を離任する可能性が高いです。
作業の負荷も高く、忙しい状況です。
離任後、これから大丈夫なのかと考えると思います。
もう、大丈夫にするという選択肢のみです。
そうすると別の人が離任者の分まで、カバーするまで働きます。
そして別の方の負担が増えていきます。
別の人という自身も含むということです。
単価の兼ね合い
腕の良い人ほど離任する理由としては単価です。
IT業界で働くエンジニアには、単価があります。
プロジェクトには予算があります。
プロジェクトの予算が減れば人を減らすしかないです。
1人あたり30万が6名いれば300万となります。
予算が250万となれば、5名へ変更する必要があります。
1人あたりの単価も異なる場合もあります。
高い人や低い人もいます。
腕の良い人は単価も高い傾向にあります。
予算内に収めるには、腕の良い人を減らすのが手っ取り早いです。
良く実施されるのが、ベテランの腕の良い人と新人をセットにする方法です。
新人はすぐには活躍できませんが、その分は腕の良い人でカバーさせてくださいという方法です。
リリース後、プロジェクトが落ち着けば開発の分の予算が減ります。
この段階で全体を把握している人が離任する可能性があります。
そして、2年ぶりの改修となりだれも全容を把握してない状況となります。
とりあえずコピーで進む
過去のプログラムをコピーしてきて、使いまわします。
必要な部分だけを修正します。
コピー元のプログラムには必要な処理だったが、今回の修正では不要な処理が残ってしまいます。
記載内容の意味が分からず作業をしているため、とりあえず入れておくということが発生します。
呪文です。
削除すると本番で動かないのは困る、ならば、書いておくという思考です。
テストでも正常に動作するし、プログラムをレビューする側も意味を理解してないと指摘もしません。
その結果、不要な呪文が記載されたコードが積み重なり、結果として保守性が悪くなります。
既にリリースされ稼働しているため修正できない、修正する場合は無駄な記載がある冗長なコードを読み修正していきます。
無駄が多いと障害の原因となることがあります。
まとめ
すべての現場が、以下ではないです。
- システムの全体を把握している人が居ない
- 腕の良い人も現場から離任する
- 単価の兼ね合い
- とりあえずコピーで進む
約6年の中で良くあったことを記載します。
特に白黒をはっきりとさせたい人には苦痛に感じる可能性もあります。
良くあることを知ることで皆様の参考になれば幸いです。
コメント