冬なのに怖い話

いや~ねぇ、あるシステムの開発をベンダーに頼んだんですよ。

発注先のベンダーも委託しているディレクターに聞いて紹介してもらってね。
紹介なら間違いないだろうって期待してたんです。

……ところが。

納品されたコードを開いた瞬間ですよ。

いやね、なんか嫌な気配がするんですよ。画面越しにね、冷たい風が吹いたような……そう、あの……山奥の廃屋に踏み込んだ時みたいな、不気味な空気を感じるんです。何かが違うっていう感じ。最初はね、『まぁ、ちょっとクセがあるだけかな』って思ったんですよ。でもね、どんどん読み進めるうちに……だんだんとゾッとしてきましたよ。

読み進めるうちに……あぁ、これは……って思ったんですよ。

その時、心の中で、はっきり聞こえました。

『これ、クソコードだ』って。

テストが書かれていなかったり、テストが書かれていても中身がなかったり、
enumで宣言しているのにenumを使わずに、なぜかIDで判定していたり、
viewで呼ばれている参照メソッドで特定IDの時だけ更新が走ったり(しかも結構重要な更新)、

1
def profile_info(user, role, profile_id = nil, group)

みたいなメソッドシグネチャがあったり

1
profile(user, user_role.role, profile.id)

それを上記みたいな呼び出し方をしていたり(ちなみにprofile.idはgroupに入ります)

rspecの最初でseedをぶちこんでいるんですが、それをテストの途中で書き換えたり(6000件あるテストのうちどこで変えているのか不明)

リファクタリングしがいのあるコードが満載です。

システムを受託会社にお願いする時、うまく行くかはベンダー次第で、これをベンダーガチャと自分は言っているんですが、webのベンダーガチャは名前がそれなりにある会社以外は基本的にだいたいハズレと思った方が良い気がしてきました。

8割、9割はハズレ。同じベンダーでも人次第ではハズレになる。

ちなみに申し訳ないことに自分自身がハズレになったこともあって、自分以外まともにコード書けない6人チームを組まされた時ですね。辞めましたけど。

結局不確実性の高いベンダーに頼むよりも、社内の人間をたてて、そこにフリーランスで集めて作ったほうがコントロールしやすいし、結果的に安くて良いものができる気がする。大変ですけどね。

でもそれは出来るまで大変なだけで、出来た後の地獄の方が問題だなぁと思う今日この頃。

ベンダーにたまにいるめちゃくちゃやばい奴も、フリーランスなら普通に仕事なくなるので体感的にあまりいない気がする。

経験積んだフリーランス集められれば管理も思ったより楽なはず。やるべきことを理解しているから。

問題はそんなフリーランスを集められるかというところ。お金積めば集められると思うんだけど、どうなんだろうか。 シニアエンジニア足りてないらしいしなぁ。

生成AI誕生により誰でもコードは書ける世界が来てしまったので、コードが書けるだけのジュニアエンジニアには価値がなくなってしまって、生成AIが表現できない領域で戦えるシニアエンジニアはそりゃ貴重になるよなと。

労力は外注できるが、能力は外注できない

こう言うかっこいい言葉を使える大人になりたい。

Comments