熱脳しゃちょのブログ -4ページ目

熱脳しゃちょのブログ

おせっかい焼SE兼プログラマ兼……の辛い日々と、思う事なぞ

契約は今月末までで。

本当は今日までって言いたいんだけど。

 

って表情に出てる。

色々、ヤクザやな。

金の問題もでかいけど、一人80万出しても高すぎると下に見ていた業務委託に、プロジェクトを大きくひっくり返された、ってのが主因だろうと思う。

業務委託って、ただのコーダーも多いけど、短期的に社内に存在しない、知見のある専門家を投入する手段でもあるって、理解できてねぇのが多すぎるんじゃね?

教育でなんちゃらとか綺麗事アピールしていてこれかい、と。

業績見りゃ納得ではある。

 

今回は(も)、エンジニア、プロとしての助言義務・説明義務(警告義務)が存在しているから(それが仕事)、代替案も竹梅揃えて(当初案が松)、それぞれのプランBも用意した上で、プロパーエンジニアは少なくとも納得させられたわけで、組織統制と専門性の衝突の事例としては、まぁ、間違ったことをしたわけではないと思ってる。
いくらgolangがPHPに比べて速いって言っても、10倍以上速くなるってことはねぇよ。だって大部分はDBのクエリとデシリアライズだし。そこを解決しようとしたら、どう頑張ってもその予算では達成できないよ、って物理量の話をしただけなんで。

 

そんなところで方向性変えさせるのはバカだよ、的に言われることはしょっちゅうあるけど、現に去年関わってたチームは、去年11月リリース予定だったサービスはまだ影も形もないという、予想通りというか予告通りというか予言通りというか、の展開(この後無理ぐりリリースして、第二弾、第三弾と予定されてる機能追加はさらに輪をかけた困難に見舞われるだろう)になってるし、そうなった時に、「お前は何も言わなかった、しなかった」って責められる可能性は高いし。

そもそもそういう組織とは早々に縁を切るべきだろう。

そういう組織ばっかり、ってのは頭が痛いんだが。

「八甲田山 死の彷徨」って浅田次郎の小説は、八甲田雪中行軍遭難事件を元にした「フィクション」だけど、まぁ、最低限読んでおけよ、とは思う。

八甲田山なんてノースリーブで無問題! そこの案内人、手配しろ。
と言われたら、案内人としては当然止める。
それ以前にどんな経緯で決定がなされたとしても、
その警告に従わないなら、その部隊に同行なんでまっぴらごめんだ。

「皇軍を舐めるのか、木こり風情が!」
って言われても、いやお前ら、そもそも技術力が無さすぎて助け求めてきたんだろ、と。


他社の事例を教えて欲しいとか、取って付けたように言ってきたけど、技術力、採用力皆無でその知見が役に立つわけがない。

golangが速いって!
という話だけで、golangに移行したら全てが解決するとか考えてしまうようでは。

役立てる判断能力も、マネジメント能力も戦略立案遂行能力もない。

 

やっぱね、ソースを見たら、その組織のカルチャーがよくわかる。
SIerに見積もったらそんなにかかるって言わなかった!
って言うと思うけど、ソース見ないで画面数機能数だけで見積もったら、そんなにかからんのよ。

おいらも、ここまで困難な移行プロジェクトだとはこれっぽっちも思わなかった。

機能自体、さほど数があって複雑というわけではないと認識してたし、実際そうだったし。

多分、NHKの営業基幹システムのリプレイスの見積もりをした日本IBMもそうだったと思う。

環境構築時はまだ楽観的だった。
アホほどマイクロサービスが乱立してるわけじゃなかった。

酷いところだと、5日かけてなんとか、みたいな。動かないたびに、Slackで聞いて、「さっきあげたPR取り込んでください」「チェリーピックしてください」ってのが五月雨に降ってくる、なんて状態。そこはマイクロサービスが70とかあったっけかな? 最後段のサービスだったから、全部立ち上がらないと話にならんかったんだ。

環境構築時はまだ楽観的だった。
でも、ソースを読み始めたら、これはあかん、となった。
コード追加はするけど、リファクタの痕跡が、ない。
if文の嵐。
自動テストなし。

でも、共有しまくり。
アドホックなパッチで短時間で機能追加、障害対応ができるのが「腕のあるエンジニア」。

新機能の追加が生産性、価値で、それ以外は負債、悪。

だからあちこちに動脈硬化の症状が現れてる。

まぁ、そう言ったカルチャーなんだろう。

今までの炎上現場、そういう傾向が全くなかったとは言わないけど、わかっていた。わかっていたがここまでとは……。って漏瑚になりそうなほど酷いところはなかったなぁ……。


もう困ってるところを優先的に助けにはいくまい。

と思った。
 

同じ口で、ヨーロッパやイギリス、アメリカ、日本に流入する不法移民の犯罪率の高さなんかを指摘するの、矛盾してないか?
いろんなバックグラウンドを持った民族が混ざる形でブリカスたちが地図上に線を引いて、国として成り立たせろと言われたら、強権的、抑圧的にならざるを得んだろう。

イラクもアフガニスタンも。

 

「今動いてるんだから、簡単に別言語に移行できるでしょ」

 

とかいうノリ、マジ勘弁してくれ……。

 

「PHPからgolangに移行しようと考えてるんです」

 

ふむふむ。

まぁ、今時のプロジェクトだね。

 

「現行のPHP版、むっちゃ古くてセキュリティ的に不安だから移行したいんだけど、開くのに1分とかかかる管理画面とか出るようになっちゃったから、むちゃくちゃ速いっていうgolangにしたら一瞬で開くようになるんでしょ?」

 

……は?

開くのに1分……?

どうなってんのよ、中身?

 

ORM使ったO(n+1)の重ね重ねの無礼講。

普通のインスタンス変数のノリで、お手軽にあちこちでDB呼び出しが発生する。

いや、キャッシュされないのか?
同じ物なのに、呼び出し経路で別インスタンスになって増殖増殖。

インフラ層にいるはずのORMのDataAccessObjectが、プレゼン層のHtmlTemplateで乱舞乱舞。

なんでやねん!

「いや〜、クリーンアーキテクチャとか、採用してなかったんで」


おけ。
3億歩譲ってそれを飲むとして、これ、そのままgolangに移行……、

できるわけねぇだろ!

しかもこのDAO、いろんなところから参照されてて、参照元によってif文で複雑に構成されてて、どこから呼び出されたどういう条件がどうなってるんだか、全部あげるの一筋縄じゃいかないし、なんかの不具合解消のためか、空配列が追加されてたり、カオスカオス。
 

いや、遅いの、PHPのせいじゃないね。

で、今動いてるから、チャチャーっと言語移行?

できるわけねーでしょが!

PHPでフレームワークをモダナイズしつつ、DAOの突き抜けを解消したり、安易に使っちゃうからORMの廃止と……。
同一言語なら、DAOの突き抜け解消とORM廃止はパフォーマンス的に厳しくないところは一旦手を抜けるから……。
golang移行で想定される予算の4/1くらいにできそうかなぁ……?


と思ったら、その金額でも想定予算大幅オーバーって、どれくらいでいけると思ってたの?
何年もコツコツと積み上げてきたプロダクトでしょ?
段階的移行の手間考えたら、真っ当にやったらかけてきた人月金の3倍かかってもおかしくないんよ?
NHKの営業基幹システムとか、大変なことになってんの、聞いたことない?

ちゃんと動いていて、稼いでるプロダクトの移行は、規模等々、一筋縄じゃいかないんよ。

マンションと同じでさ、日々のメンテにも金出さないといけないし、大規模修繕も計画的定期的に行わないと、こういう時にやってなかった場合の数倍のお金と時間が必要になってしまう。
盆栽も同じやな。

SIer出身者には一度作ったプログラムは永遠に資産。作ったら終わり、って感覚かもしれないけど、日々機能追加だなんだ行うSaaSプロダクトとかは、常に形を整えてないと、すぐ腐っちゃうんだよ。

 

でさ、この辺りのメンテ、多分生成AIはうまく回し続けられないんじゃないかと思うんだよな。


大丈夫か? w