私がSESを毛嫌いしている理由
さて、前回の「SES求人の見抜き方」ではあくまでも外から見えるSESの問題について書いた。
しかし、自分にとって、それらの問題は表層的なもので本質的な問題ではない。
前に勤めていたSES企業で、私は航空券予約サイトのテックリードをしていた。開発は人数が少ないうちはそれなりに進んだが、上流の度重なる仕様変更により何度も手戻りが生じるようになった。結局本社勤務だったのが、そういうトラブル対応のために常駐先勤務になった。
それまでの経験から最初にルールを定めておかないと、後でカオスになることが目に見えていたので、コーディングルールは開発初期の段階から厳格に定めるよう心がけていたが、人数が増えてくると、ルールを守らずインデントを勝手にtabにしたり、深いif文だらけにされたりと、品質がどんどん悪化していった。
極めつけが、「契約期間終了」という開発には全く無関係の理由によって、完成を待たずしてプロジェクトが自分の手から離れたことである。引き継ぎのときに、例えばconsole.logはデプロイ時には出さないコマンドを使うように指示していたが、ローンチしたものを見てみると、あろうことか、ブラウザの開発ツールに大量に開発のときに使ったデバッグログが出力されている有様であった。
失望感は半端なかった。
このように、SESという中途半端な立場で仕事をしても、影響力は限定的である事がよくわかった。また、人が増えても開発速度が若干上がる程度で、コード品質は下がるしマネージメントも大変になる。
何なら、人間の部下は不要で、生成AIに道から外れないよう適切な指示を出して開発したほうがよっぽど効率がいいんじゃないかとさえ思う。結果、ハルシネーション起こして開発が遅延しても、「自分の指示が悪かったからだ」と諦めがつくし、赤の他人に微妙なコードを作られてレビューするよりだいぶ精神的にはマシだからである。
他人と同じ場所で働くというのも、ガヤガヤしているか、キーボードのタイプ音やサーバーマシンの冷却ファンの音などのノイズが多いだけで何の効率も見いだせない。(それ以前に、持病で満員電車に乗れないというのもあるが)
私は、開発した製品がとりあえず動けばいいという考え方とは相容れない。長期的視座を持ってきっちりとこなしていきたい。
最も、誰からか指示をされて、そのとおり作るだけで満足するタイプの人間ならそれでもいいのかもしれないが。