データ(基盤)エンジニアが高給を得るためのスキルセット一覧

なぜかキャリア論みたいな与太話ばかり書いてしまう。

 

ということで、今回はデータ(基盤)エンジニアが高給を得るためのスキル要件をリストアップしてみたいと思います。

 

ちなみに僕は求人情報調べるのが趣味で日々多くの求人を見てるので、データ(基盤)エンジニアの求人に関して言えばたぶんその辺のキャリアコンサルタントよりよっぽど情報量多いと思う。全然自慢にならないけど。

 

以下、重要度が高い順で並べます。

 

1.データ基盤のアーキテクチャ設計の経験

システム全体のグランドデザインを描いて、技術面を主導する立場でデータ基盤の立ち上げを行った経験を持っている人は今引っ張りだこ。なぜかというと、今まさにデータ基盤の立ち上げ段階にあったり、今後立ち上げを予定している企業がたくさんある時期だから。  

2.NoSQLの設計、運用経験

HBase、Cassandra、MongoDB等のNoSQLの経験があると望ましい。分散データベースの設計や運用は、データ基盤における技術スタックの中核なので、当然それらの経験やスキルは求められる。

3.データパイプラインの設計、構築経験

生成されたデータを加工・集計してDWHに入れるまでの一連のデータフローの設計、構築経験があると評価される。Hadoopスタックで言うとSpark、Kafka、Storm、Embulk等のバッチ処理・ストリーム処理の開発経験など。

4.RDBの設計、運用経験

データ基盤上ではNoSQLだけでなくRDBを稼働させる現場も多いし、仮にNoSQLのみの現場でもデータベース全般のスキルや経験は評価される。

5.インフラ(サーバー・ネットワーク)の設計、運用経験

データ基盤はHW・OSレイヤーから検討、構築することが多いため、いわゆるインフラエンジニアに近い技術スタックがかなり求められる。クラウドの経験があるとなおよし。とりわけAWSのRedshiftやGCPのBigQueryの経験があると評価される。

6. JavaScalaPythonでの開発経験

HadoopスタックはJVM上で動いてるので言語的にはJavaScalaの開発経験が一番求められる。

MapReduceやSpark等の分散処理システムの開発経験があればなお加点。最近はPySparkなどPythonに標準対応したフレームワークも増えてきてるので、Pythonも重要。

あとPythonはデータ分析のエコシステムが整っていて分析系業務では一番使われてるので、現場や業務内容によってはPythonが一番求められたりする。

 

当然企業やポジションによって重要視される経験やスキルは違うわけですが、全体的な傾向として上のような要素が評価されやすいと思う。

 

ちなみに僕は上記の要素を断片的にしか持っておらず、今まさに一つずつ拾い集めてる最中なので、あまり人に語れるような立場ではないんですが、給与レンジが高いデータ(基盤)エンジニアの求人のスキル要件はたくさん見てるので、そこそこ当てになると思います。

 

あとちょっと話が反れるけど、エンジニアのキャリアの積み方として個人的に違和感感じてるのは、みんな優秀な人がいる場所に行きたがる傾向が強いところ。

 

優秀な人がたくさんいる場所に行くと、自分の価値が上がる経験って実は積みにくいと思っていて、そこは世間では中々理解されてない気がする。

 

たとえば上に挙げた「データ基盤のアーキテクチャ設計」の経験とかは、自社サービスを展開してるインターネット系の企業とかだとすでに構築済みで運用フェーズから担当することになるケースが多いため、基盤の刷新を行う機会に恵まれないと中々経験は積めなかったりする。

 

むしろ技術力が高い人がそんなにいないSIerの新規案件とかに立ち上げフェーズから入った方が、アーキテクチャ設計の経験も出来て、しかも自分が技術的にリードする立場に立ちやすいので、上に挙げたような経験が積めたりする。

 

僕がフリーランスとしてあえてSIの案件とかに好んで潜り込んでいくのも、そういうハックが効くからだったりします。