twitterのタイムラインで「同じような技術だけ使ってると詰んじゃうと困る」というような書き込みがありました。
まあ内容的にはC++だけじゃなく、C#もできないと困るよね、というような内容です。
これどうだろう、と思ったのでちょっと書いてみます
■転職で有利なのはどっち?
私は何回か転職をしています。
その経験から行くとですね、基本的にスペシャリストのほうが転職はしやすいように思います。
中途採用の募集というのは実際に「このプロジェクトで人が足りない」という状況が起こったときに発生します。
良い人がいれば採用したい、というのはないこともないのですがじゃあ実際に採用するか?という段になって見送られることが多いんですよね。
FPSのプロジェクトがあって人を募集する、そこに経験者とそうでない人が応募すれば経験者のほうが採用されます。
5年経験している人と7年経験している人であれば7年の人のほうが有利ですし、使用している言語でも使用年数が高いほうが採用率も高いでしょう。
ということはいろいろな技術が使えるよりも、一つに特化しているほうが良いのでしょうか?
■募集があるかどうか
でもまあ実際に募集があるかないかという部分でいうと広く技術を持っていたほうがいいですよね。
10年格ゲー作ってました!という経験があってもなかなか格ゲーのスペシャリストの募集はなかったりしますし。
知り合いのつてなどで転職するのであればいいのですが、コンサルを利用する場合などはある程度客観的にわかる親和性が求められます。
コンサルさんも転職先の企業の人事の方も、わかりやすいマッチングをまずは良しとすることは確かなので。
■多くの技術が使えるかどうかではなく
個人的に思うに、広く技術がわかっているという所は別に採用の大きな要素にはならないと思うんです。
必要なのはその技術が「どれくらい深いか」。
言語はどうであれ、その言語をどれくらい理解しているか、という部分がわかれば採用しても安心ですよね。
言語仕様そのものに詳しい、効率の良い作り方が理解できている、という部分がわかれば別の言語でもそれが望めたりします。
なので人事の方もコンサルの方も「C++ができる」、「C#ができる」という基準ではなく「C++(C#)のどこまでわかっている」という所を採用基準としてほしいですね。
その方が現場も転職する人も幸せになれると思うのですよ。
そう考えると「広げる」よりも「突き詰める」方がいいですよね。