本当に「大企業でも安泰ではない時代」なのかデータを調べてみた

まずは過去25年ぐらいの企業全体の倒産件数の推移を。

ä¼æ¥­åç£å¹´æ¬¡æ¨ç§»

引用元: 2017年(平成29年)の全国企業倒産8,405件 : 東京商工リサーチ

 

あれ、なんか倒産件数自体年々減ってきてない?

直近25年ぐらいで最低水準じゃん..。

 

 

一応、もうちょい長いスパンのデータも見てみた。

 

倒産件数・負債額推移(全国企業倒産状況) : 東京商工リサーチ

 

上記のリンクにあるデータを見ると、2008年から一貫して倒産件数が減り続けていることが分かる。

 

直近30年の倒産件数と比較しても、2014〜2017年までの総倒産件数はトップ5に入る低水準。

 

バブル崩壊時の1990年とその前年度の水準と比べても大差無いほど少ない件数。

  

この時点で「大企業でも安泰ではない時代」とかいう言説がデマというか、なんの根拠も無い思い込みなんじゃないの?って結論出しても良い気もするけど、もうちょい調べてみます。

 

もしかしたら、大企業だけに限定すると倒産件数増えてるデータがどっかにある可能性も無きにしもあらずなので。

 

一応、大企業の倒産件数は上場企業の倒産件数で近似できると仮定して、上場企業に絞った倒産件数の推移を見てみる。

 

http://www.tsr-net.co.jp/image.jsp?id=16658

引用元: 2017年の上場企業倒産状況(速報値:12月29日17時現在) : 東京商工リサーチ

 

んー、まあ2000年代前半とリーマンショック直後がちょい倒産件数多めだけど、全体的に増加傾向にあるようには見て取れない。

 

例えば非上場企業含めた全体の倒産件数を見ると2008年は1万5000件近く倒産していて、その内上場企業の倒産件数は33件ってことでしょ。

 

もちろん企業の数自体は非上場企業の方が圧倒的に多いだろうけど、普通に考えれば景気のしわ寄せってまず中小企業に行くわけで。

 

ちなみに下記の上場企業数の推移のデータを見てみると、1990年代と比べて2018年の上場企業数は2倍近くに増えてる模様。

https://www.jpx.co.jp/listing/co/tvdivq0000004xgb-att/tvdivq0000017jt9.pdf

 

つまり30年前ぐらいと比較して倒産件数が2倍になっててもトントンってこと。

 

しかも、"大企業"をもうちょい絞って捉えるなら、ほぼ東証一部上場企業とかに絞れると思うんだけど、そうなるとさらに倒産なんてめったに起こらない。

 

というわけで、「大企業でも安泰ではない時代」とかなんの根拠も無く適当な感覚だけで言ってるだけでは?という疑いが濃厚に。

 

むしろ「過去に引き続き今でも大企業の方が安泰」なのでは...?

 

それとも何か別の統計調査があるのか、別の見方をすると大企業が潰れやすくなってるデータが浮かび上がってくるのか。

 

正直、たまたま直近でどこか大企業が倒産した例外的な事例だけを見て「大企業でも潰れるんだ!」と条件反射してるとしか思えない。

 

いやむしろ、就活生や大多数の中小企業勤めの人向けの煽りマーケティングとして恣意的にデマを流してるんじゃないか。

 

過去のデータの推移を見れば、バブルの時代も倒産してる企業はたくさんあるし、むしろここ10年は倒産件数は右肩下がり。

 

仮にもし根拠もなく適当な煽り文句として言ってるとしたら、就活生や社会人に誤情報を与えて誤った判断を招きかねないめちゃくちゃ悪質な行為だと思う。

 

 

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

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

 

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

 

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

 

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

 

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の案件とかに好んで潜り込んでいくのも、そういうハックが効くからだったりします。

 

Hadoopエンジニアの年収が高い理由

どこかに正確な統計が出てるわけではないけど、Hadoopの構築や運用を扱うエンジニアの求人は全般的に給与水準が高い。

 

なぜ給与水準が高いのか。

 

昨今のビッグデータブームのトレンドの中でHadoopエンジニアへの需給バランスが崩れて需要が増えてるからではと考えがちだけど、実は給与水準と需要は必ずしも連動していない。

 

エンジニアに限らず、基本的に給与水準というのは企業の規模や商流でほぼ決まる。

 

例えば同じJAVAシステム開発職でも、孫請け以下の人売りベンダだと年収300〜500万、一次請けベンダだと年収500〜800万みたいなことはザラにある。

 

で、Hadoopの求人は基本的にこのレンジの下限が高めに設定されていて、その結果として給与水準が高くなっている。

 

裏を返すと低い給料の求人が少ないわけだけど、なぜ少ないかというと孫請けベンダとかにまで仕事が流れていかないからで、なぜ流れていかないかというと「外注に出しにくい仕事だから」というのが最大の理由。

 

これは一般的に、データウェアハウス、データ分析基盤というシステムが企業の色んな業務課題と日々の業務フローに密接に結びついているというシステムの特性上の問題と、そもそもそのようなデータ基盤を必要とする企業というのは一定以上のスケールの事業体であるという企業規模の問題の2つが関係している。

 

企業内の色んな課題や業務と密結合になっているのでアウトソーシングができず、結果として多重請負で給与水準の低い中小のIT企業にまで仕事が流れて行かない、従って給与水準が低いエンジニアが採用市場に出回っておらず、出回っているのはそこそこの給与水準を得ている事業会社or1次請けベンダのプロパーが多いから、結果としてある程度の給与を提示しないと採用できない、という構造。

 

というわけで、Hadoopエンジニアは昨今のビッグデータブームによりバブル的に給与が上がっているわけではなく、構造的に高い給与が支払われるポジションなのです。

 

金を持っている企業の事業課題と密結合のテクノロジーというのは金になる、というお話でした。

 

僕がデータ(分析)基盤エンジニアへのキャリアチェンジを選択した最大の理由

 

僕は元々Web屋のフリーランスエンジニアをやっていました。

 

Web屋と一言でいっても、バックエンドやフロントエンドやモバイルやインフラや色々ありますが、僕の場合は近年の需要の流れの中でとりわけモバイル(スマホアプリ)の開発案件を中心にやっていました。

 

ここ5年ぐらいはスマホアプリ開発案件へのエンジニアの引き合いはずっと高く、ここ1,2年は多少落ち着いたものの、まだまだ高単価でエンジニアの募集がかけられているのを目にします。

 

スマホアプリ開発に関しては何案件もリードプログラマとして割と先進的な案件に関わってきたので、正直そのまま続けていても結構な単価で仕事を請けられていたし、割と良い待遇で正社員の職にありつくことも今ならできると思います。

 

だけど、今まで積み上げてきたそれらの技術スタックを完全に捨て去って、データ分析基盤というスマホアプリ開発とは立ち位置的にもスキル的にも対局にあるような領域に飛び込むことに決めたのが1年前です。

 

なので、まだ今の僕にデータエンジニアを名乗る資格も、データ分析基盤のなんたるかを語る資格もないのですが、誰も見ていないだろうからといい加減なことをべらべらと書き綴っていたら、思っているよりもアクセスがあるので、なんか多少でも似た境遇の人の参考になることが書けたら良いなという気持ちになり、今こんな記事を書いています。

 

で、僕がなんであえてデータ分析基盤というニッチで地味目なポジションにスキルシフトしたかというと、もちろん技術的な興味も多分にありますが、何よりも生存戦略上の理由が大きいです。

 

30を過ぎたあたりから、どうやって今後生き残っていくかということを割と切実に考えるようになりました。

 

僕が開発の現場で一番感じていた危機感は、自分が今身に付けている技術や経験の”水物感”です。

 

昨今のフロントエンドの技術の変遷の流れを見ていても分かるように、エンドユーザーに近い位置にある技術というのは半端じゃなくトレンドの波が激しいです。

 

スマホアプリもご多分に漏れず、例えばiOSのアプリなんか3年前ぐらいまでObjective-Cがメインの開発言語だったのに、今はもう新規案件は全てSwiftを採用します。

 

フリーランスというスキルを売る商売をやっているとより痛感しますが、3,4年前に経験した案件や身に付けたスキルが、全部とは言わないまでも50〜70%ぐらいリセットされるという状況に直面するわけです。

 

だって、Objective-CとSwiftって、COBOLJavaぐらい全然違う言語なんですよ。

 

仮に新規のiOS開発の案件で人を取る時に、 

 

Objective-Cの経験10年間 Swift経験0年の32歳

と、

Objective-Cの経験0 Swiftの経験3年の25歳

 

のどちらか取りたいかといえば、少なくとも技術スタックだけで比較したら今なら後者の方が需要が高い可能性もあるわけです。

 

と思っていたら最近はPWAなんかが話題になって実際にReactNativeを採用する企業も出てきていたり、、

 

こんな頻繁に積み木崩しが発生するような領域でじじいになるまで続けてられんわ。。

 

となって、今まで多少なりとも積み上げてきたスマホアプリ開発という技術スタックを全て捨て去ることを決めたわけです。

 

どうせ自分から捨てないでもそのうち勝手に消失していくだろうし。という理屈で。

 

 30間際になって水商売を卒業する感覚。とかいうとスマホアプリ開発やってる人たちに怒られるかもだけど、そういう要素が少なからずあるのは事実。

 

やっぱりイキの良い新人と同じリングの上でガチで殴り合わないといけない領域ってしんどいし、不利だと思うわけです。

 

エンジニアとしての生存戦略についてはすごい時間かけて色々考えましたし、今も考え続けていますが、息長くやる上で一番重要なのは、自分が過去に経験したことや身につけたスキルが陳腐化せずに積み上がっていくかどうかだと思っています。

 

という観点で、

・なるべくエンドユーザーから遠い場所の技術領域
積木くずしが発生しにくい領域
・かつ今後需要が伸びていきポテンシャルのある領域

 

という要素を考えた時に、データエンジニアリング、データ分析基盤という領域はまさにその条件に合致すると思い、今のキャリアを選びました。

 

いや、もちろんデータ分析基盤なんて昨今のデータサイエンスというビックウェーブの流れの渦中に位置しているので、新しいOSSがバンバン出てきているし、技術の移り変わりは相当激しいですが、フロント寄りの技術と違って積み木が崩れにくい性質が強いと思っています。

 

例えばOracleのデータベースについての豊富な経験と実績がある人がいたら、HadoopやらBigQueryやらの最新のスキルスタックをガシガシ使ってるような現場でも普通に採用してくれるところはたくさんあると思います。

 

データベースとかのインフラ寄りの業務というのは、どういうミドルウェアを使おうが現場で求められる能力というのは通底していて、例えば

 

・業務要件に基いて適切なミドルウェアを選定したり、

・テーブル設計したり、

・ハードウェアやサーバーの性能要件見積もったり、

・パフォーマンスチューニングしたり、

 

といったような、特定の製品やフレームワークの知識に依存しないような業務経験がモノを言う領域だったりするからだと思います。

 

これがスマホアプリやWebのフロントエンドだったりすると、Swiftの言語経験とか、iOS10での開発経験とか、Reactの経験とか、より具体的な知識やフレームワークの経験が求められガチだったりします。

 

なので、例えばスマホアプリの開発なんかだと、独学でこんなアプリ作りました、っていう実績があれば普通に即戦力で採用されるチャンスもありますが、インフラの技術を独学で身に付けるのは難しいし、前述の通り業務経験がモノを言う領域なので、若さとやる気だけでは越えられない壁というのがあります。

 

これはすごく重要で、SESとかの人売りだったり、最近話題のプログラミングスクールとかに市場を荒らされにくいのです。

 

たとえば今データサイエンティストの職はSESやSIerやコンサル屋に荒らされまくっていて、ITスクールや講習等も乱立していますが、これはデータ分析職が大学時代の専攻・研究経験や独学での実績を比較的重視される性質があることも大きな理由だと思います。

 

その影に隠れて、データ基盤の領域はなんとなく地味で、花形っぽくないから、社会経験の少ない学生とか若いエンジニアが憧れにくいというイメージ上の問題もあり、そのイメージ自体が参入障壁になっています。

 

これは社会にとっては損失かもですが、僕個人の競争戦略としてはある意味チャンスとも取れます。

 

インフラの中でもとりわけデータ分析基盤ともなると、業務フローや事業のあり方にも深く関わってくる領域なので、色んな事業部の業務要件をとりまとめて全体のシステム構成を考えたり、エンジニアやデータサイエンティストとかと連携しつつ最適なインフラを整備し、改善し続けないといけないため、外部のベンダーに丸ごと外注するのは難しいです。

 

外注ができないということは、誰にでもできる形で業務を切り出すことが難しいことを意味します。

 

つまり、単に技術を知っているだけではダメということです。

 

組織のこと、事業やサービスのこと、会社が抱えているビジネス上の課題、技術上の課題、それらを把握している必要があります。

 

そうなると、新しい技術に対するキャッチアップ能力だけではなく、調整能力、交渉能力、業務遂行能力、課題解決能力、アーキテクト能力などなど、年齢を重ねることによって鍛えられていくような能力が必然的に求められることになります。

 

おっさんになっても最先端の技術に食らいついてエンジニアリング能力だけで食っていくというキャリアがネットでは礼賛されがちですが、僕はおっさんだからこそ発揮できる力を付けたいし、若者には供給できない価値を提供して、結果として会社から必要とされ、高い給与をもらいたいし、おっさんにしかできないことをやってのけるおっさんこそがかっこいいと思っている。

 

最新の技術に対する感度みたいなところだけで若者と張り合っても仕方無く、おっさんにはおっさんの役どころがあると、30を過ぎてそう思うようになりました。

 

つまり、僕はかっこいいおっさんになりたいのでデータ分析基盤という領域を専門にしてキャリアを積み上げていくことに決めました。

 

以上。

プログラミング能力で生産性なんて大して変わらない

ある界隈では「プログラマーによって生産性に10倍、100倍差が出る」とかいう風説が流布されてるけど、それって具体的にどういうシチュエーションを想定して言ってるのかがあまり話されないのってどうなのって毎回思う。

 

たぶんプログラマーという職種やプログラミングという営みはもっと評価されるべきであり、不当に貶められているという意識が根底にあって、その裏返しとしてそういう話が持て囃されやすいんだと思う。

 

で、それとは対比する形でディレクションとかマネジメントとかいわゆる上流工程の能力を評価するような声はまるで聞こえてこないし、むしろそういうプロマネ的な立場の人に対しての軽蔑やら怨念ばかりネットでは目にする。

 

自分はプログラミングもプロマネ的な仕事もどっちもやるけど、生産性という観点で言えばぶっちゃけプロマネとしての能力の方が遥かに大きな差を生むことを色んな現場で実感してきた。

 

逆にプログラミング能力で生産性に大きな差が出る場面ってそんな見たことない。

 

まあ派遣で実務経験無いのに経歴盛ってプロジェクトに紛れ込んだ人とかは例外としても、それなりの経験値を持った人同士で比較した場合、せいぜい2倍か3倍程度の差が出るのが良いとこだと思う。

 

だけど、上流工程のスキルは、同じぐらいの経験値でも人によって生産性に10倍以上の差が生まれることがザラにある。

 

理由は単純で、そもそもクライアントの要件を取り違えていたら、どれだけ早く高品質なコードを書いたところで全て無駄になってしまうからだ。

 

プログラミングとマネジメントの決定的な違いは、プログラミングは具体的に作るものが決まっている状況で、それをどう作るかを考えるのに対して、マネジメントは何を作るべきか、本当に作るべきものは何かを考える点にある。

 

そもそも何を作るべきかの情報が不足してたり、正しく認識できていない状況下で、どれだけ早く正確にプログラミングしたところで、ギアの外れた自転車と同じでペダルは空転し続けるだけ。

 

これは至極当たり前の話で、プログラミングというのは、要求分析や要件定義や設計やクライアントとのネゴシエーションといった諸々の土台の上に乗っかっているものであり、そういう意味ではSIerにおける「下流工程より上流工程の方が上である」という考え方自体はあながち間違ってはいない。

 

 

生産性ってのはペダルを早く漕ぐことよりも、漕いだら漕いだだけ車輪に全ての力が伝達し前に進んでいく状態にギアをチューニングすることで決まる。

 

逆にそれができるプログラマーはプログラミング能力が平凡でも、他のプログラマーの10倍の生産性を時に発揮する。

 

つまり、本当に10倍の生産性を発揮しているプログラマーがいたとしたら、それはプロマネ的な役割を兼務しているからに過ぎない可能性が高いということ。

 

でもこういう話は、技術志向のプログラマーには絶対に受け入れられない。

 

論理的にモノを考えるクセが付いているはずのプログラマーも結局は人間なので、自分が見たい現実を見ようとする性には抗えない。

 

実はマネジメント能力で生産性がほぼ決まる、という見たくない現実はフタをされ、ネット上にはある種の技術信奉だけが広まることになる。

 

1点補足しておかないといけない点として、上で「プログラミングは上流工程という土台の上に乗っかってくるもの」だと言ったけど、"上流工程のスキル"に関しては逆にプログラミング能力という土台の上に乗っかってくるという点。

 

ちょっとややこしくなってきたので要点を整理すると、

 

・プロジェクトにおける生産性や成否は、上流工程の良し悪しでほぼ決まる

・上流工程で失敗すればどれだけ高度なプログラミングスキルを駆使してもリカバリーできない

・ただし上流工程を正しく導くためにはプログラミング能力が必須である

 

SIerの最大の間違いは、下流工程と上流工程は分業可能であり、それぞれに必要な能力は異なっているという前提で、プロジェクト体制を組んでしまう点にある。

 

技術的な判断と、要件定義のような上流工程における判断というのは相互に関係していてるものなのに、それを無理やり断ち切ってしまえば、片翼の外れた飛行機のようにコントロール不能に陥って空中分解するのは当然なのに、その当たり前の認識が欠落している。

 

結局何が言いたかったかというと、

 

「プログラミング能力よりも上流工程の方が圧倒的に生産性に差を生む。しかし、上流工程のスキルはプログラミングスキルによって支えられており、プログラミングと上流工程を相互に行き交うことで、プロジェクトを正しく導いていくための意思決定ができる。」

 

というのが結論になります。

 

今データサイエンティストを目指してる人の7割が5年後に年収350万にしかなれない

 

昨今のデータサイエンティスト求人の高給に釣られてこれからデータサイエンティストになろうとしてる人の多くは、望むような収入にありつけないと思う。

 

理由は簡単で、日本にはびこるITベンダとは名ばかりの人売りベンダが、こぞって「データサイエンティスト募集!未経験応募可!」求人を出しまくってるから。

  

 

こいつらこそが日本のプログラマの地位と待遇を貶めてきた悪の親玉、ITに巣食う病理、悪性リンパ腫、諸悪の根源。

 

多くのデータサイエンティストの卵たちが、3〜5年後には「こんなはずじゃなかった」と唇噛み締めてる姿が手に取るように浮かぶ。

 

今後どういうことが起こるかというと、まずはこういう人売りITベンダがかき集めたド素人を適当にラッピングして”でーたさいえんてぃすと”に仕立て上げ、IT音痴のバカなユーザー企業に高価な値札を付けて大量に売りさばく。

 

そうするとどうなるか。

 

「データサイエンティストって役立たずじゃん、何の価値も生み出さないボンクラだな、こんなやつらに高給払うのはありえん」ってことになり、データサイエンティスト自体の市場価格が下落する。

 

例えば今だとフリーランスの分析案件なんかだと単価100万以上で募集かかってることも結構目にするけど、こんなのは今後そう遠くない先に崩壊する。

 

なぜなら、ITベンダーが「データサイエンティストに憧れを持つ人たち」を割安価格で大量に仕入れ、自社で実務経験を積ませることもなく、大した教育もせず、適当な研修を受けさせただけで"実務経験"を粉飾し、無知な企業に割高価格で売りさばくっていう詐欺行為を"今まさに"行っているからだ。

 

結果どうなるかというと、紛い物が大量に市場に出回ることによってユーザー企業はITベンダが売り込んでくるようなデータサイエンティストを信用しなくなり、「どうせ大したスキル無いんでしょ。まあ雑用的なことなら多少経験あるだけでも任せられるから、こんぐらいの金額なら出せるけど」って感じで買い叩くようになる。

 

で、そこまで高度な専門性を必要としないような(例えばAPIでモデル作ったりシステム組んだりするような)案件だけが安値で出回るようになり、しかもITベンダによって大量生産されコモディティ化した人材が市場に溢れかえり、彼らにとって憧れのデータサイエンスの仕事の奪い合いが起こり、さらなる単価の下落が起こることになるだろう。

 

本来、エンジニアリングの中でも特別な価値を持つはずだったデータサイエンスの職能が、他の一般的なシステム開発の職能よりも市場価値が低くなるという逆転現象が起こり得るわけだ。

 

そもそも機械学習やら統計解析やらが必要な案件って本来は限られているはずで、今はPoCとかの"とりあえずお試しで実験的にやってみる"系の案件が出回ってるから人材需要が一時的に高くなっていて、それに相まってスキルを持った人材がいないから求められるスキル要件も低くて仕事にありつきやすいけど、ある程度企業の中で出来ることと出来ないことの知識が蓄積・共有されてくると、全体の案件数自体は減る可能性が高い。

 

そうなった時に、大半の大した実績やスキルのない、TensolFlowとかscikit-learnとかの機械学習フレームワークでとりあえずモデルを組めるだけのエンジニアは職を失うことになるか、低い単価に甘んじて耐え忍ぶ未来がやってくる。

 

これはIT業界で何度も繰り返されてきた歴史の反復。

 

とりあえず人を送り込みさえすれば継続収入が入ってくる人売り企業が素人の毛の生えた人たちをかき集めて、バカな企業に押し売りしてく。

 

そうやって日本のエンジニアの市場は破壊され、人売り企業にかき集められたプログラマーはスキルも経験も無いのに即戦力として企業に売り飛ばされるから、大した経験もスキルも積めないような誰でもできる仕事をやらされるハメになり、スキルが付かないからそこから抜け出せないまま出向元の人売り企業に上納金を収め続けるという蟻地獄。

 

結局、一部の特別なスキルや実績のある人材だけが高待遇にありつけて、それ以外の人売り企業のマーケティングに引っかかった元美容師や元飲食店のプログラマー(人売り企業の求人でよく見かけるパターン)は、年収350〜400万ぐらいの年収しかもらえずに一生を終えることになるんじゃないかな。

 

そういう二極化する未来がやってくると思う。今、プログラマーの職がそうなっているように。

 

大学初等の数学もできない。確率統計も入門書1冊読んだ程度。TensolFlowやscikit-learnでモデル組めました、程度のノリでデータサイエンティストにでもなろうもんなら、どういう未来が待ってるかはお察しの通り。

 

ちなみにタイトルに書いた「7割が5年後に年収350万になる」ってのはなんとなくの数字。

350万じゃなくて400万かもしれないし、450万かもしれないけど、少なくとも700万とか800万とかそれ以上の給与がもらえるポジションにはほとんどの人がありつけない。

 

それでもデータサイエンティストになりたい人は、週に10時間以上かけて数学と統計と機械学習の基礎的な学習を継続して本や論文の数式からプログラム起こせるレベルになって、かつ高度なスキルを証明できるような成果物や実績を作るか、コンサルとかシステムアーキテクト的な上流スキルを身につけて機械学習との合わせ技で戦っていくか、人売りベンダーが入り込みにくいデータ分析基盤のインフラ屋に転向するか、何らかの戦法を考える必要があると思う。

 

要は、コモディティ化しないスキル、大量生産できない職能や実績を身に付けてトップ10%に入ること。じゃないと、お寒い未来が待っていることになる。

 

偉そうに言ってるけど、これは自分への戒めでもある。

 

ということで、未来予測のような占いのような与太話でした。

 

データ(基盤)エンジニアというブルーオーシャンな職種

AIや機械学習、またそれらを専門とするデータサイエンティストという職業がフューチャーされてる昨今だけど、その影で密かに需要が増えまくってるのがデータ(基盤)エンジニアというポジション。

 

実際、1年前に比べて明らかに求人増えまくってるのを実感してる。

 

というかなんでこんなに注目されないのか逆に不思議です。データサイエンスの領域にかなり近いというか、一部として含まれているのに、なぜか世間ではデータサイエンティストやアナリストばかりがオイシイ職種として毎度フィーチャーされる。

 

あんまいいたくないけど、競争率低い割に同じぐらい待遇良いし、参入障壁も高めのかなり堅牢な職種なのに。

 

データ基盤エンジニアという存在のイメージが浮かびにくいかもだけど、実際にデータを分析したり機械学習モデルを作ってそれを自社のサービスなり製品なりに活かそうと思えば、まずそれを支えるためのインフラが必要になるわけです。

 

インフラというのは具体的にはサーバーとか、その上で動かすDBとかDWHとか、分散処理基盤とか、生成されたデータを集計、加工し、DBなりDWHに流し込むためのデータパイプラインとか。

 

 

実際に現場でデータと日々戯れてる人たちにとっては周知の事実だけど、外からの印象だととりあえずデータ分析者にデータ渡しさえすれば良いんじゃないの、みたいな誤解もあり、中々データ基盤エンジニアという役割が取り上げられることは少ないのが実情。

 

だけど、実際には純粋にデータの分析をしたり機械学習のモデル作ったりするのは、全体の中のごくごく一部で、そのためのインフラの整備や運用、データの前処理、可視化ツールを作ったりするような地味で泥臭い作業の方が大半を占めてたりするわけです。

 

と、ここまで書いて、こんなん界隈で色んな人がすでに言ってるし今更自分が言う意味も無いな、と思ったのでこの辺で辞めときます。

 

そもそも誰に向けて何を書くのか、全然考えず暇つぶしに書き始めたわけで。

 

ほぼ誰も見ないだろうし、一般的な業界の実情なんて書くより、個人的に今これ勉強してるとか、データエンジニアとしての生存戦略とか、同じようなポジションで仕事してる人たちが見て多少なりともおもろいと思うようなことを書いていこう。

 

とりあえず適当に付けたタイトルに結論を合わせると、実はデータ基盤エンジニアというのは注目度低い割に需要が高く、専門性もそれなりに高い領域なので、結構な高給で職に有りつけるし、そこまで競争激しくないし、データ利活用のインフラというのは今後当面は需要が上がり続け、無くなることも無い、息の長い職種になっていくと思ってます。

 

正直、機械学習とかデータ分析とかの領域ってかなりレッドオーシャンだと思う。

 

今は高給なのが話題にもなって注目されてるから、素人でも機械学習エンジニアになれる!とかうそぶいて人かき集めてる人売り企業が湧いてたりして、こうなると偽モンが大量に紛れ込んでくるので、その中でちゃんとした待遇にありつこうと思えば偽モンではない証明が必要になるわけです。

 

例えば大学での研究実績だとか、論文通してたりだとか、kaggleとかのデータコンペで上位になったりだとか。

 

しかも、そういう偽モンがはびこりつつある中でも、トップの方には本当にガチの人たちがわんさか集ってたりもして、それこそ東大やら京大やらで研究者してたとかどこぞの研究機関でリサーチャーやってただとか、数学オリンピックで入賞しただとか、kaggle masterだとか、そういう天才達と勝負しないといけなくなるわけです。

 

お前、プログラム少しかけるぐらいで、大企業の研究職で自然言語処理10年やってました、みたいな人に敵うんか?って話で。

 

もちろん、年収500万ぐらいで良いなら、たぶん普通のプログラマでも機械学習エンジニアとしてTensorflowとかのAPIでシステム組むような普通のポジションには就けると思いますよ。ただそれでどこまで生き延びれるかは分からないけど。

 

話がそれたけど、とにかく機械学習の華やかさに誘惑され、ゴリゴリの理系カーストの頂点にいるような人たちが集うデータサイエンティストとかいうレッドオーシャンを目指すよりか、地味だけど実は面白いし、給料的にもオイシイ領域であるデータ基盤エンジニアとして息長くやっていくという選択肢もありなんじゃないでしょーか。

 

というところで、今回はこの辺で。