直交する技術から複数のものを学ぶ
http://d.hatena.ne.jp/naoya/20051205/1133791191
そうやって直交する技術カテゴリ、技術レイヤっていうのを考えていくと色々出てくるのですが、結論はそこじゃなくって、そのレイヤを二つ以上またがって知ってるとすごく価値があるんだなあと感じたという話です。
「ポートフォリオとして、二つの専攻を選択することで、結果的にNo.1からOnly.1の人材になるのがもっとも賢いキャリアアップの手段である。No.1になる労力の方が、Only.1になるよりも何倍も大きいから。」
というのが、ITビジネス特論Bでの小杉先生の言葉ですが、技術の多角化がエンジニアという単体ユニットにも、異なる技術知識を持つことでそういう価値を構築していこうという話。
もちろん、最高の方法は、No.1で自動的にOnly.1ってことなんだろうけど、それは本当に茨の道。なので、技術に関してはシナジーを発揮する組み合わせがある程度決まっているため、逆にそこからどういう風に逸脱するのかが重要なのだと思う。
カテゴリー的に、
- バイナリ、コンパイラをいじるネイティブ層
- セキュリティを満たし、サーバーサイドの実装をするサーバー層
- 数式を駆使してアルゴリズムを組み、大量のデータから最適解を抽出、選択する人工知能層
- デザイン、ユーザービリティを満たすことができるインターフェース層
- C++、C#でソフトウエアを設計、構築するアプリケーション層
みたいなものを思いつくけど、人工知能の知識はアプリケーションの知識にすぐ応用可能だし、インターフェースの知識もアプリケーションの知識にすぐ応用できる。ただ、インタフェースが得意な人が数式を駆使して人工知能的な分野もこなすとなったらたしかに価値があるなーと思う。
なんか、本気でエンジニアを目指すのなら、一通りすべてを学んだ上で、形にとらわれることなく、自分にとって一番おもしろく、得意な道を模索する必要があるのかな。
ただ、インターフェース層はすごい人にはどうやってもかなわない持って生まれたものの差を感じるので、できるだけすごい人と組むのが最善なのかなーと思いました。