エンジニアの葛藤

理想主義

サーバーのOS?そんなのLinuxに決まってるよ。安上がりだし、動作も軽いし、何より安定してる。Windowsなんてマシンスペックはやたら要求されるし、そのくせセキュリティホールだらけだし、パッチが信用できないから適用しようとするたびに動作検証が大変だし、ふだん動かしているときだって不安定だから何が起こるかびくびくしながら使わないといけない。そんなのOSと呼べるかっての。

Linuxは設定とかが難しい?WebminとかHDE-Contorollerとか知らないの?最近はWebブラウザだけでいろんな設定ができるようになってるんだよ。vi知らないと使えないとか思ってない?それにviの操作くらい簡単じゃん。それくらい覚えようよ。エンジニアは勉強するのが仕事って言ってなかったっけ?

Windowsが苦手なバッチ処理の類も、Linuxだったらスクリプトを駆使して色んなことができるけど、Windowsはそういうのぜんぜんだめだよね。お客さんが「システムのログを監視して特定の文字列が現れたらメールで通知したい」とか言い出した時、Linuxなら楽勝だけど、Windowsだったら面倒だよ?

なんといってもオープンソースだから、最悪の場合でもOSのソースを修正して対応とかができるからねえ。Windowsがトラブった時ってMicrosoftにサポート料とか巻き上げられて、結局解決できなかったりとかあるじゃん。そういうコストっていうのは結局お客さんに跳ね返ってくるわけでしょ。Microsoftと心中したいのでなければ、Windowsなんてもう捨てるべきなんだよ。

現実主義

Linux?そんなのお客さんに提案できるわけないじゃん。電源の切り方ひとつまでちゃんとマニュアル化しないと、何されるかわからないよ。Windowsで問題ないでしょ。Windowsだったらシャットダウン操作なんて誰でもできるし、いつも使っているPCと画面の見た目も同じだから安心感があるよね。だいたいお前の開発環境もWindowsじゃないか。

挙動が不安定?お前が作ろうとしているシステムは、そんなにクリティカルな業務を担当するわけじゃないでしょ。5年も10年も使うようなシステムでもないし。現代のビジネスの変化ってのは速いんだよ。このシステムの寿命もせいぜい2〜3年ってとこだ。動きが怪しくなったら再起動、これでオッケーじゃん。お客さんもWindowsだからってことで大目に見てくれるよ。

自動処理が苦手?Windowsだって、WSHとかタスクスケジューラとか、バッチ処理をするのに必要な機能はひととおり備わってるよ。そういうのを無視しようとするのは、ちゃんと勉強してないお前のスキル不足なだけ。エンジニアは勉強するのが仕事って言ってなかったっけ?

オープンソース?業務システムの構築においてそんなに重視すべきことなの?だいたいOSのソースを修正できるようなスキルを持っている人間が、そんなにごろごろいるわけないじゃない。そんなことよりも、お客さんが「プリンタをつなぎたい」「スキャナを使いたい」とか言い出した時、Windowsなら楽勝だけど、Linuxだと大変だよ?その大変さってのは、ビジネスとして考えると最終的に手間賃という形でお客さんに跳ね返ってくるわけだろ?真にお客さんのためを思えば、Windowsしか選択肢はありえないじゃん。