全文ただの愚痴なのでスキッププリーズ。さあ読み飛ばせ。
プログラマが楽しいのは開発だ。特に0から1を作り出す作業が楽しい。要求仕様は外からくる場合でも、どう実装するかはおれが決めるぜ。
Windowsがパーソナルコンピュータを独占していた時代、アプリケーションはWindows向けに作ればよかった。作る。完成する。多少のバグフィックスやアップデートは残るにしても基本的に終わり。
さあ、次はバージョン2か新作か。どちらにしろ完全に切り替えて新しい仕事に取り組める。
出荷したアプリケーションは自分の手を離れユーザの下で何年も働いてくれる。プログラマもユーザもWinWinだ。なんて素晴らしい。
やがてネット時代になりスマホ時代になり、いまや多くのプログラマの主戦場はサーバかスマホアプリだ。
サーバアプリはリリースして終わりじゃない。始まりだ。細かい調整もするし障害対応もする。調査依頼なんて毎日来るし、改修もする。発生確率0.0001%のレアバグだって百万トランザクション/日であれば毎日発生する。緊急対応レベルの重大バグだ。振り回される日々。
クライアント側の変化やセキュリティの強化にも対応を求められるし、DB、ミドルウェア、OS、ハードウェアも日進月歩でアップデートされるしEOSLも来るからそのたび対応の工数がかかる。いつまでも面倒を見るわけだが、ぶっちゃけプログラマにとって一番楽しい仕事ではない。
「自分は新規開発専門だ。ドキュメントは整備して引継ぎもした。後は他人に任せられるお膳立てした」って?それもどうなのよ。やりがいの無い仕事は押し付けてるってことじゃん?開発ベンダーのエースであれば、企業の理屈として新規案件に投入するけどさ。
スマホアプリもプログラム作成以外が面倒。開発環境、開発者登録、商用ビルド環境、試験のための配布手段ともろもろ縛られる。ストア登録の審査も面倒くさい。公開してもサーバアプリ並に保守がついてまわる。スマホOSは毎年新バージョンが出てくるし、今年はこれを対応しろ修正しろと強制される。一度作った公開アプリはずっと利用できるわけじゃない。ユーザーが利用し続けるためには、アップデートを続ける必要がある。作った後にも手間がかかり続ける。仕事じゃなきゃ無理。
現代のプログラマは作って終わりでなく保守も主業務になった。仕事なら仕方ないけど、趣味ではやりたくないことはやらない。残り限られた人生、やりたくない作業に掛ける時間は無い。
ブラウザ上で動くゲームなら作って放置でいいだろって?そうかもしれない。プラットフォームとしてはアリだけど、言語や開発環境的にまだ気に入らない。NetscapeもまさかJavaScriptが本格的なゲームの開発言語に使われるとは思ってなかっただろう。いまやWebブラウザは第二のOSだから、Javaバイトコードの実行エンジンくらい標準搭載してもいいのに。(脱線がひどい)
自分の作品は愛おしい。物書きも漫画家もイラストレーターも作曲家も自分の作品を残しやすくて羨ましい。ゲームだって作ったらなるべく現行ハードでプレイアブルな状態で残したい。何年たっても遊んで欲しい。でも保守に手間をかける気はない。となるとWindows一択だ。Microsoftの互換性維持は神がかっている。CPUもバスもグラフィックもハードウェア的には昔と全く別物なのに、Windows95向けに作ったアプリが今のWindowsで動く。何十年前だよ。なんならWindows3.1向けアプリだってエミュレータ上で動く。
ありがとうMicrosoft
コメントは締め切りました。