オルタナティブ・ブログ > ビジネスをデザインするブログ >

事業開発ほどクリエイティブな行為は他に無いと思いこんでいる人間の日常

MS系エンジニアVSLinux系エンジニアだとLinux系の方がイケテルと感じる理由についての考察

»

MS系とLinux(OSS)系のエンジニアと仕事をした場合、Linux系の方が「イケテル」あるいは「使える」と感じることが残念ながら?多いのでが、その理由について、私なりに考察してみました。

最初に言及しておきますが、このエントリはMS系エンジニアのバッシングでも、Linux系エンジニアの賛美でもありませんので、念のため。

理由1:単なるイメージ

よくある話ですが、GUIで何かをやっているより、CUIでコチョコチョやっている方が、イメージとしてカッコイイというのはあるのかもしれない。が、これは、根本的+くだらない理由なのでこれ以上言及しません。

理由2:Linux系の方がスキルが完結している(ように感じる)

Linux系のエンジニアは業務上のカバレッジが広く、結果としてスキルが完結しているように思えます。例えば、簡単なWebサイトを構築するような案件であれば、サーバの手配から、設定、開発など全てを完結できる傾向にある。デザイン以外は全て頼めることが多いです。MS系のエンジニア(プログラマ)に、「悪いけどルーターの設定もやっといて」とか頼むと、「えっ、それはネットワークエンジニアの仕事ですよね?」とか言われることがある。

このような傾向は、それぞれの学習プロセスが影響しているものと考えています。本屋に行ってそれ系の技術書を見てもらうとわかるのですが、「PHP入門」とか「MySQL入門」という本があった場合、その内容に必ずチュートリアルとして、「ブログの作成」とか「ショッピングカーとの作成」とかが題材として登場しています。さらに、それらを公開する手順として、概要程度ではあれ、ApacheやBIND、sendmailなど、言語やDB以外の内容も含まれており、実務で必要となる一通りのツールの設定や注意点が網羅されていることがほとんどです。

一方、MS系の書籍で「C#入門」、「SQL Server入門」的な本を購入すると、延々と文法やクラスの説明や、SQL文の解説などに終始するものが多く、読破したところで、結果として何かができるようになれるものは少ないように思えます。

これは、書籍に限らず、ネット上のソースなどにもこのような傾向が見られると思います。

このような現象は文化の違いに加え、GUIをベースとするWindows系ツールの操作を書籍化する場合と、CUIをベースとするLinux系ツールの操作を書籍化した場合、同じページ数だと明らかにLinux(CUI)系の書籍の方が内容が濃く、また、書籍化にも向いているといったことも影響しているように思えます。

いずれにせよ、結果、Linux系のエンジニアは仕事で使う一通りの知識があり、MS系のエンジニアはC#2.0とC#3.0の差には何かと詳しいが、結局、案件を自己完結する力が弱いという印象が成立しているように思います。

理由3:MS系には変な分業主義が定着してる

これは、理由2と同様かもしれませんが、MS系(これはJava系にもいえるかもしれません)のエンジニアの方には、変な分業主義が定着している場合があります。「プログラマ」、「SE」、「ネットワークエンジニア」、「データベースエンジニア」などなど。
プロジェクト単位の機能的な分業なら理解できますが、先にあえたような分類は職業として分けるほどの価値はないと思います。少なくとも(他業界からみたと言う意味で)客観的には、十分一人でまかなえる範囲の知識だと思います。

一方、Linux系エンジニアにはアジャイルやXPなどを「カッコイイ」と感じる人が多いため、MS系ほど強い分業意識はないと感じます。

金融分野などでの大きなプロジェクトでは知りませんが、今の世の中、少人数で手早く作るというのが主流だと思いますので、時代へのフィット感ということも含め、Linux系エンジニアに一日の長があるように思えます。

理由4:Webアプリが時代の主流となっている

一昔前まで、アプリと言えばWindowsアプリでしたが、今は、業務システムも含め、Webアプリが主流です(ガジェットなども含め)。社内システムはともかく、外部サービス向けのWebアプリを作る場合、Web Formを主軸としたASP.NETはちょっと抽象化され過ぎのように思えます。モバイルアプリ(日本の携帯電話向けWebアプリ)においては絶望感さえ感じます。まあ、MVCフレームワークの登場により、今後は期待できますが・・・。

とにかく、普通に.NETだけを使っている範囲では、Webの深部に触ることは無いので、乱暴に言ってしまえばMS系エンジニア=Webに弱いという構図が成立していると感じるのは私だけでしょうか。

理由5:MS系は目的指向で知識をつける人が少ない(ように感じる)

Linux系のエンジニアは、サーバを立てて管理したいとか、何かWebサイトを立ち上げたいとか、オープンソースプロジェクトを立ち上げたいとか、目的を持っていることが多いのですが、MS系のエンジニアの方は「サーバの管理者になりたい」とか「MCPはとった方がいいですか?」とか、目標が漠然としていたり、ツール自体の習得をゴールにしている人が多いように思えます(まあ、Linux系の人にもいますけど)。

このような差が、結果としてLinux系の人間は速戦力で使える知識が多く、MS系は「うーん」って感じることが多いのでしょうか。

理由6:MS?のサポートが悪い

MS系のツールの多くは有償のものが多いですが、その一方で、マニュアル、特に初期導入(イケテルエンジニアになるまでに必要となる)における情報が不足しているように思います。Linux系というかOSS系のツールはググればなんとか情報を集められますが、MS系のツールは厳しいものがあります。以前も書いたのですが、MSは、中途半端なバージョンアップをするより、一度、ツール間の連携強化やドキュメントなどの充実に投資をした方が良いと思います。

まとめ

自分で書いていて、いろいろ論理的な矛盾はあるかと思いました。が、まあ、気にしません。あと、結局のところ(私の感じる)エンジニアの良し悪しは、本人が意識しているかどうかは別にして、広い意味でのITを「道具」として使えているか、「道具」に使われている、あるいは、道具自体の体得がゴールになっているかどうかの差だと感じました。

Comment(0)