/note/tech

VB.NETとSIer

次に、VBを開発言語として採用しちゃう業界の問題。

上記のような業界は、どうしてか悪い日系IT企業の悪いところ全部盛りになってしまっているんですよね。

  • コードに変更加えたら、変更前のコードはコメントアウトして、コメントに日付書け。バージョン管理?なんですかそれ
  • 一つの画面のコードは一つのファイルにしろ。OOP?クラス設計?デザインパターン?横文字むずかしいね
  • グローバル変数!参照渡し!副作用たっぷりメソッド!単一責任原則?DRY?カプセル化?変更容易性?マネジメントの話ですか

自分が最初にアサインされたプロジェクトの環境が良すぎたっていうのはあります。左記のプロジェクトは技術検証っていう名目の自社開発で、かつチームのメンバーが、プログラミングに対してそこそこ意識が高い人達だったので、新入社員だった僕が「いいコードとはこういうコード」を学ぶには絶好の環境でした。実際、コードレビューも充実していましたし、自分の直属の先輩も設計やプログラミング手法といった抽象的な観点をたくさん提供してくれました。だからVBに対して、特に悪い印象は抱いていなかったのですが……。

この秋からアサインされたプロジェクトは、もうやばいです。上記のとおりです。ドキュメントなんてあるわけないし、頼みのコメントは' 変更 2000.01.01 XX. T.Yamadaみてえな。いらん、そのコメントは。'☆ ここにコメント ← あと謎に☆つける文化。なんだこれ。

それはもう、一日が経つのがおそいおそい。自社開発期は毎日アレコレ勉強して、調べ物して、試行錯誤して…だったのであっという間でしたが、今は前任者が残したクソコード(ドキュメントなし)と8時間にらめっこです。

とはいえ、アサインされてしまったものは仕方がないし、二ヶ月というお約束までついているので、むしろ「バッド・ノウハウのお勉強」だと思って最近は業務に就いています(先輩の受け売り)。このページにも書いたようなフラストレーションが、きっといつかの品質向上につながってくれるでしょう。つなげるのは僕だけど。

20年前から全く進歩してない開発現場が未だに存在するのシンプルに戦慄するな。

寿命の長いシステムをメンテナンスしているSIerがニッチに過剰適応して生きた化石になるというのは、それこそ20年前から見た光景だが、そこに若者をアサインするのは犯罪的である。老人達がきちんと最後まで看取るべきだろう。

プログラミング言語の覇権が定期的に入れ替わる理由は、あるプログラミング言語のニーズが高まると質の悪いエンジニアが大量に流入してきてとんでもない技術的負債を作り上げるので、新しい言語を学ぶスキルやモチベーションのあるエンジニアが別の言語に脱出を敢行するためである。

VBという言語が悪いのではなく、それしかできない・進歩しないエンジニアが悪いということであるな。