サーバエンジニアとして活躍している人は、Linux/Unix OSとWindowsの両方に関して技術知識があると思います。
会社によってはWindows担当とLinux担当など分けているかもしれません。
これらは特徴から扱いまで全くもって別物ですので、専門的になればなるほど知識がかい離していきます。
LinuxとUnixもサービス管理系などに関してはディストリビューションで全然違います。
RHELならsystemctlですし、Solarisであればsvcadmです。
オプションも全く違うので専門知識を持っている人がいると非常に助かります。
ここで今回、サーバエンジニアとして転職する際にOSの専門性がどう影響するのか書いていきたいと思います。
タイトル通り、私個人の経験ではLinux/Unixの専門性が高い方が有利だと感じました。
その理由について紹介していきます。
Windowsは万能であるが故に市場が狭い
素人でもなんとかなる
システムのプライオリティによりますが、Windows Serverを使用するにあたって、必ずしもスペシャルな技術者が必要になるわけではありません。
素人向けと言いたいわけではないですが、インストールにあたって設定項目はほとんどないですし、インストール後もNICの設定などで困る事もほとんどありません。
ユーザビリティが高く誰でも容易にサーバを構成出来るので、専門性が無くても出来る人が多いのが最大の特徴だと思います。
私はどちらかとUnix/Linuxの技術者なので、Windows特化の案件や作業、求人に応募したことはないですが、サーバエンジニアの求人ではWindows Serverに詳しい技術者よりUnix/Linuxの技術経験を条件にしている会社が多いと思います。
Windows系の求人もあると思いますが、Linux/Unixの技術を求める求人の方が圧倒的に多いです。
なので、Windows系の技術者は転職に不利であるというのではなく、Unix/Linux系の方が求人が多く転職しやすいと言えます。
応募できる求人が多い時点で転職は有利になります。
また、やはりミッションクリティカルなシステムはUnix/Linuxで構成されているケースが多いので技術的に優れている人は何人いても良い会社が多いです。
転職市場がWindows系より広いという事は、優秀な技術者が辞める可能性もたくさんありますし、誰かが抜けても他に優秀な技術者がいれば問題ないですからね。
求められるのはADやExchangeやAzure
Windows系で転職が有利に働くのは特定の製品知識に特化している場合だと思います。
社内SEであれば、Active Directoryの知識は必須であると言えます。
また、SIerではクラウド系の案件が増えているのもあって、Windows Serverの知識よりAzureの知識の方が重要です。
SIerであれば転職が有利になるかもしれないですが、最近はMicrosoftもLinuxを推しています。
SQL Server on Linuxがリリースされたように、AzureだからWindows Serverが多いとも限りません。
ADのドメイン参加もWindows Serverであれば簡単にできますが、Linux系のドメイン参加はWindows特化だと出来ない人もいると思います。
Windows製品に特化していてもやはりUnix/Linuxの知識は持っておくべきだと言えます。
社内システムが全てWindowsで構成されている会社であればWindowsの知識だけでも良いですが、そんな会社は少なくとも私は見たことがありません。
なので、Active DirectoryやExchange Server、Azureに関して特化しないと今の転職市場で理想の転職を実現するのはタイミングもありますが中々ハードルが高いと思います。
差別化が難しい
Windowsは万能であるので、技術力に依存せずにサーバでもPCでもOSとして扱える人が多いです。
そのため、知識の差別化がものすごく難しいと思います。
バッチが書ける、VBSが書けるなどもちろん差別化は出来ますが、やはりミドルウェアやアプリケーションなど基盤ではなくシステムに関わる経験値では中々出来ません。
理由はWindowsでのミドルやアプリのインストールは難しくないからです。
Linuxであれば、リソース制限やカーネルパラメータの設定など少し深堀する必要がある作業や設計が必要なケースもあります。
しかし、インストーラさえあえば簡単に構成出来るのがWindowsのメリットでもありデメリットでもあります。
使いやすいのはメリットですしWindowsを否定したい気持ちは全然ありません。
ですが、Unix/LinuxでWindowsと同じようにシステムを構成する方が技術力が必要です。
さらに、Unix/Linuxのメリットを享受する事でWindowsより性能を出せる技術力があれば尚技術者としては優秀です。
Microsoft製品で何を専門にするかで差別化は確かに図れますが、Unix/Linuxで差別化出来る方が技術力が高く見えます。
実際は違う人もいると思いますが、個人的にはやはり転職市場が狭く差別化も難しいと感じています。
実際にサーバエンジニアとして転職
UnixとLinuxに関する質問の方が多い
純粋なサーバエンジニアとしての転職ではないのですが、基本的にはサーバの知識を活かした転職をしました。
実際に面接に行くとUnixとLinuxに関する技術知識の質問の方が多かったです。
もちろん、私もADとEchangeの経験はありました。
Unixで何を構築・運用していてどこまで作業が出来るかや、Linuxで得意な作業は何かとか様々です。
シェルスクリプトに関する質問も多く、逆にバッチが書ける書けないは聞かれたことがありません。
私個人の経験なので、他では聞かれるのかもしれません。
私はOracleの知識があるので、Linux+Oracleでどんなシステムを構築して、スクリプトはどのような処理を書いていたのかなどが多いかったです。
やはりWindowsの詳しい知識より、Unix/Linuxの技術知識がどのレベルなのかを確認する担当者が多い印象です。
OSに関してはWindowsしか作業出来ないよりは、UnixとLinuxも出来た方が間違いなく良いと思いますし、私はLinux+Oracleで差別化が出来ていたと思います。
Unix/Linuxベースの製品も多い
VMwareもそうですが、製品自体がUnixやLinuxで作られている事も多いです。
作られていると言っても、CLIでしか解決できないトラブルや作業などあるので、そもそもLinuxに関する知識が不足していると出来ない事もあります。
もちろんHyper-Vを使っている会社もあります。
ですが、転職では仕事の幅が多い方が有利です。
ハイパーバイザもVMwareだけではなくOracle VM Serverも使えた方が良いですし、少し製品が違いますがIBMのVIOSなども出来る方が良いです。
このように主要な製品をラインアップすると、Hyper-V以外はほとんどCLIで作業がありますよね。
GUIよりCLIの方がハードルを感じる事も多くより詳しい人がいると様々な製品で知識が活きます。
例えVMwareの技術経験が無くても、Linuxで高い技術があればESX CLIで作業するのもWindows特化の人より断然出来ると思います。
なので、転職するのであればサーバエンジニアとしてWindows一筋よりUnixとLinuxである程度の作業が出来る方が有利ですね。
最後に
Windows製品も便利です。
しかし便利で誰でも扱いやすいが故に、特化していても需要が少ないように感じました。
出来る人が多い仕事で転職しようとしても、転職は出来ても有利であるとは言えません。
実際はWindowsのみに特化しているサーバエンジニアって少ないと思います。
なので、UnixやLinuxの知識を深堀していくとより転職が有利になると思っていただければと思います。