メインコンテンツまでスキップ

ITがつまらんとか言ってるのは老害だけ

Sato Taichi
yak shaver

最近は、ITが面白いだとかつまらんだとか言って盛り上がってるけども、面白いってのは、どういうことか、ちょっと考えてみようか。

知識と学習

一つ目は、学習するに足るだけの知識体系がそこにあるかどうか。

知らない事を知る、出来なかったことが出来るようになる快感ってのは、何度経験しても最高なんであって、一人でも多くの人にこの体験をして欲しい。素晴らしいことに、ソフトウェア技術だけに範囲を絞ってもまだ理解できてない事は大量にあるし、増え続けてる。

生成AIがアシスタントしてくれるけど、ちょいちょい嘘をついてくるってのが、また熱いよね。AIが言ってる事だけを真に受けちゃダメで自分でちゃんと試さないといけない。そして、インターネット上に無い情報について、やつらは手も足もでない。

最近は新しい技術が出てこないなんて言ってる連中もいるようだが、現実の社会課題を解決し、それを付加価値として提供できて初めて新しい技術だろ。ゴミみたいなチュートリアル一通り触って、それでおしまいじゃ専門知識とは言えねぇよな、俺達はプロだぞ。

まともに使えるエディタがあり、Lintやコンパイラで細かい作業ミスやアンチパターンをきちんと潰せる。まともなバイナリを吐けるコンパイラがあり、それらを一貫したプロセスでビルドできるCI環境があり、各種デプロイ環境やツールがそのバイナリを受け入れる体制がそろってる。そして、細粒度の監視だの、実行プロセスの異常検知だの、エラー時の対応だのが現実的な工数で対処できる。そういうランタイムなんて、そう多くはねぇ。そして、その状態まで技術が進展するのには10年単位の時間がかかる。

んで、今挙げたような事を、全部一通りまともに扱えるような技術者なんて、ほとんどいない。つまんなくなったとか言ってねぇで学習と訓練をしろ。サボってるやつに限ってつまんなくなったとか言い出すんだよな。

俺たちのJavaは幸いこういう事が高度に実現されているから安心して使ってられるわけだな。最近だと、Goはあっという間にこのレベルまで育ったわけで大変に素晴らしい。Rustはまだまだ不足かな。個人的にはPythonなんかも安心して任せられる言語だと思ってる。

TypeScriptはJavaよりもJavaだなって思いながら使ってる、色んな意味で俺はTypeScript大好きだよ。UI作るのにも、サーバ作るのにもいい。NodeのGCはJavaに比べるとアホだけど、あんま重要な事を任せなければ可愛いもんよ。どうせ今時のアプリケーションは1プロセスで信頼性を担保することなんてできねーし、アプリケーションプロセスの手前にはちゃんとロードバランサがいるんだ。気にせずプロセスは落としていけ。

UI作るフレームワークはもう何年もReact中心だよな。もう飽きたなんて思ってるやつは少数派だよ。そうでなけりゃ、useEffectの使い方解説するだけで、みんなが 大喜びするわけねぇだろ。どいつもこいつも雑に使いやがって、おかしな使い方するから画面がチラついてしょうがねぇんだよ。

そういうのは、実装の詳細であってバッドノウハウだから本質ではない、とか言っちゃう?おおー、上から物言えば後はどこからか集められた皆さんが勝手に作ってくれるアーキテクト様は偉いねぇ。俺は少なくとも、そういう所にはいねーんだわ。要件定義から運用まで見れる範囲のものは全部責任を持って最高の状態に仕上げる。こちとら、そういうスタイルで仕事してんだわ。だから、文字コードがおかしくてうまく動かねー古いJavaScriptと格闘したりもする。とは言え、こういうのはマジで最悪だからみんなはやんない方がいい。

サーバについても同じよ。Javaだと大体JAX-RS使っとけみたいな所で落ち着いてるけど、社会課題をまともに解決するレベルに使いこなすってのは大変な事よ。確かにチュートリアル動かして雑なアプリケーションデプロイする所までは1日でいける。色んな事が整備されまくってすげー簡単になったなって思うよ。生成AI様に、使い方教えてくださいって言えば、細かい嘘混じりだけど何でもポンポン教えてくれる。それをコピペして動く範囲のものなら簡単に作れる。

でもよ、そんなんじゃ仕事は始まってもねぇんだわ。いや、確かにその程度の事が出来れば良い役割ってのはある。あ?なに?僕ちんはすごい「ぎぢつりよく」あるのに、こんな簡単な仕事しか任せて貰えなくてつまんないでちゅーって事?残念なこったな。

問題解決