プログラミング、データサイエンティストを生業にする手段と実態について述べる。
具体例、境界値の例として私個人の話もするが、なるべく一般性のある話をする。
言いたいことは4つだ。
- プログラミングスクールをディスるなら代わりの方法を提供しようよ。
- もう「未経験文系から3ヶ月でデータサイエンティストで一発逆転物語」を止めろ。
- おじさんは人生逆転したいならちゃんとやれ。
- 若者はワンチャンじゃなくて、ちゃんと化け物になれよ。
- a. 入門は辛い
- b. プログラミングスクール論
- なろう系資料一覧
- ちゃんとしてそうなYoutubeの動画を見る。
- ・(ついでに)安いノートPCの選び方
- ・初心者向け動画講義まとめ
- ・ Python入門
- ・ 100本ノック型チュートリアル (3兆本やれ)
- IT勉強会
- ・本のリスト
- 1.オススメのデータサイエンス初心者本
- 2. 算数なにもわからない人向け
- 3. 「データアナリスト」の為の本
- 4.プログラミング教本
- 5. プログラマ脳
- c. インターンの話
- d. 就職の話
- e. 業界の話
- f. 仕事に就く方法
- g. データサイエンティストになったら
- 応援メッセージ
- 注釈
a. 入門は辛い
私は20代後半の若手データサイエンティストとして仕事をしている。
通った大学はたいした所ではないし、専門もコンピューターサイエンスではなくいわゆる「クソ文系」だった。
私は独学で入門したが、確かに一人でプログラミングを学ぶのには困難を伴う場合もある。*1
先日、自社主催のIT勉強会に出た折り、中年のおじさんに「転職するためデータサイエンスを学びたいがPythonの動かし方がわからない」という質問を受けた。ググって出てきた記事を参考にして動かしてみて下さい、と答えた。
半年後にそのおじさんと顔を会わせたとき「Dockerというのを使うのが良い方法、という記事を見て私のWindows Homeで記事をマネたが動かない」と相談をされた。
「『python.jp』を見て下さい」と最初に私が言っていれば、おじさんの半年は無駄ならずに済んだのかもしれない(?) あとクソ記事書いた奴は○ね。
私も最初はCygwinのバグと対峙して入門までに2ヶ月無駄にした記憶がある。
VMが動かない程度に低スペPCだったのでWindowsを消して対処した。今ならWSLがあるし、パソコンも安い。
b. プログラミングスクール論
じゃあ入門で躓かないためにプログラミングスクールに行くのが良いか、と言われば私の意見は「No」だ。特にデータサイエンス分野。
定年のジジイやヒキニートがプログラミングを趣味、ボケ防止、社会復帰に始めるなら接待も良いが、職業にする奴が通うには講師の質、コースもディス。
知人経由で大手スクールの講師(時給1500円)のデータサイエンス担当の採用試験問題を得たが問いの過半数は出題ミスだった。(何を言っているのかわからねーと思うがおれも何を言ってるのかわからなかった。)
シラバスの内容はUdemyで2000円の初心者向け動画10時間分を薄めたものであり、90万円と書いてあった。検証不能な難癖はここまでにする。
仮にn万円払ったところで、クソプログラマーに中途半端な解決法を教わるくらいなら無限にトライアンドエラーを繰り返した方がプログラミングは上達する。
それにスクールの代替は存在し、ちゃんとした人によるわかりやすい入門講座が(ほぼ)無料で存在している。下に入門者向けコンテンツをまとめておいた。
データサイエンスに限っていえば、初心者は人に相談しないと先に進められない、ということはない。どう処理が動くのか、この制約は何か、など高度な脇道への疑問が湧くことはあるかもだが糞講師はそれに答えない。良いプログラマー、数学者の友人を作るか、Stack OverflowやGitHubを見るしかない。
新しいことを始めるときに詰んでしまう、という人は難易度を下げて進める技術、検索技術を身につけよう。どうしても無理なら頼れるメンターを探そう。
SNSで質問するのも良い。
下の資料を見てもわからない、メンターが居ないからスクールに入る!!というのなら、それは意義のある決断だ。良いスクールを見つけて欲しい。
なろう系資料一覧
用意されているAIをColaboratry上で5秒で動かす。
入門以前の本
上の方がより入門向け。下の方がより実務より*2
一般向け
- 『イラストで学ぶ 人工知能概論』
- 『実践フェーズに突入 最強のAI活用術』
- 既読。最近の現実的なビジネス例が無数に書いてある良書。セミナー通うよりこれ読んだ方が早いし良い。 - 『業界別!AI活用地図 8業界36業種の導入事例が一目でわかる』
- 『AIをビジネスに実装する方法 「ディープラーニング」が利益を創出する』
- 『課題解決とサービス実装のためのAIプロジェクト実践読本』
実装する側向け入門
- 『事例で学ぶ!あたらしいデータサイエンスの教科書』
- 『見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑』
- 『あたらしい人工知能の教科書 プロダクト/サービス開発に必要な基礎知識』
- 『エンジニアなら知っておきたいAIのキホン 機械学習・統計学・アルゴリズムをやさしく解説』
- ↑はコンピューターサイエンス(CS)の基礎とかわかってないと読めなそう。 - 『まずはこの一冊から 意味がわかる統計学』
- 『データ収集からWebアプリ開発まで 実践で学ぶ機械学習活用ガイド』
ちゃんとしてそうなYoutubeの動画を見る。
・私は一切見てませんが…
- 【LIVE】 質問に答えます【データサイエンスのリアルと未来】 #VRアカデミア。
- 【就活】仕事の将来性を語る:AIエンジニアやデータサイエンティスト【転職】
- 【データサイエンティストに聞く!】AI人材 どうしたらなれるの?
- パネルディスカッション:データサイエンスの競技者、Kagglerたちが活躍する職場とは
- Data Science at Work | Peter Grindrod | TEDxNewcastle
・(ついでに)安いノートPCの選び方
『Inspiron 15 3593』 : 充分コーディングに耐えうるパソコンが7万円で買える。*3
・初心者向け動画講義まとめ
- 【世界で18万人が受講】実践Pythonデータサイエンス | Udemy
・ Python入門用で質と量と日本語が完備されている。3億倍速で見てコーディングの苦手意識を消したらAndrew.ngへ - [Machine Learning by Stanford University | Coursera=Machine Learning by Stanford University | Coursera]
・ Andrew.ng が機械学習とは何か教えてくれる。時間と体力は必要だが機械学習入門に必要。 - eラーニング教材・講義動画配信 | 数理・データサイエンス教育強化拠点コンソーシアム
・ データハンドリングなどの入門者講座はUdemy の方が良いが、時系列解析・データ活用講座に関してはこれより良い教材は無い。
・多分、動画の[1,2,3]を理解していてコードが書けて、学歴があるならTier4 のインターン・バイトは受かる。 - DeepMind x UCL | Deep Learning Lecture Series 2020] ・Deep Learning 講座、タイトル通り
・ Python入門
- Python3 Documentation
・公式チュートリアルを流し見するのが良い。Tips は後で役立つ。 - Code Style — The Hitchhiker's Guide to Python
・必見のPython の書き方。 - Effective Python: 90 Specific Ways to Write Better Python, 2nd Edition, 2019 (本)
・2の発展。もうすぐ邦訳本が出る。 Python の邦訳本はこれまで読みにくいのが多かった。
・英語だと本の選択肢が増えるし邦訳のタイムラグも無いので英語で読むのもオススメする。
・ 副読本になりそうな本として Practices of the Pro Python や Hands-On Software Engineering with Python などがある。
・Python以外の言語に詳しいなら読まなくても良い。
・ 100本ノック型チュートリアル (3兆本やれ)
- 1データサイエンス100本ノック(構造化データ加工編)| GitHub
・SQLの入門には良いかも知れないが、文法がわかるならTJO推薦のSQL本を動かす方が良い。
・ 懸念点として、Dockerの環境構築の難易度とバージョンが固定されてなくテストも無いのでdatascience-notebookの破壊的変更、ライブラリAPIの変更、依存関係のコンフリクトが起きるとユーザPC上でマジの「何もしてないのに壊れた!」が発生する。 - 言語処理100本ノック2020 (Rev 1) - NLP100 2020
・ 余裕で出来る課題は飛ばすと早く終わる。必須ではないが自然言語処理する上でこれが解けないなら作業は止まる。 - 画像処理100本ノック
・(未読) OpenCVはUdemyの講座、オライリー、公式ドキュメントで学んだ。研究室に入る以外のハイウェイがあるなら私も知りたい。
・ 場合によってはopenCVはPythonではなくC++から叩く方が良い。 - 『統計的機械学習の数理100問 with Python』 (本)
・(未読) 最近出た本、刊行は続いていくらしい。
IT勉強会
- 互助会のような親切な会もあるが、個人や怪しい会社が「学生対象!」「未経験歓迎!!」「すぐに稼げる 参加費5万円!!!」とかやってるのには近づいてはいけない。
-
あと軽々しく勉強会って言うけど、ワナビー向けからガチ勢限定、就活面接まであり、何もわからないまま不適切なムーブ(特にハラスメント)や粗相をすると界隈からBanされるまであるので、規約や文化をよく調べてから参加した方が良い。
-
規約の例
- Code of Conduct - FOSS4G Hokkaido
- Code of Conduct(行動規範) | Ubuntu Japanese Team
- ruby-jp.slack.com code-of-conduct| ruby-jp
・本のリスト
- ここには基本的な知識の習得に必要なことしか意図的に書いてない。複数上げられているのは自身に合うものを選ぶか併読すれば良いと思う。
- 専門的なことが知りたければ、大学で人工知能の研究を謳っているの研究室に入るか論文を読むなりTier3 以上の会社にインターンや転職をするのが良いだろう。
- この辺をしっかり読んでれば学生の上位5%以上くらいの知識はあると思うので、コーディング技術などをGitHubやkaggleでアピールすれば何処かに入社出来る可能性がある。
1.オススメのデータサイエンス初心者本
- 実務の専門家として機械学習や統計分析を手掛けたい人にオススメの書籍(略) 渋谷駅前で働くデータサイエンティストのブログ
ー 既に公開されている入門者向けリストとしてはこれが一番良い。統計はRを使って習得するのが早いし効率的だと私も思う。
ー 尾崎さんが詳しくない画像処理や自然言語処理、ランダムウォークを含むファイナンス系は載ってない他、逆に医学統計、古典統計はプッシュされている。(「詳しくない」は実務家以上専門家未満という意味だ。) - TJOリストを意識しながら、特に読んだ方が良いもの、追記する必要のあった本、代替の本を下に載せる。
- ビジネス技術の本やハウツー本は載せない。
- 『データサイエンティスト養成読本 ビジネス活用編』
・ 他に『戦略的データサイエンス入門 ―ビジネスに活かすコンセプトとテクニック』。
・あとはアナリストのところにある。 - 『計量経済学の第一歩-実証分析のススメ』 、『データサイエンスの基礎』
・ データリテラシーに効く薬。TJO推薦の医療統計本は専門知識が無いと読めない。
・他に(未読ですが) 『ビジネスデータの分析リテラシーと活用 -Excelによる実用データサイエンス入門』、『はっきりわかるデータサイエンスと機械学習』、 『データ分析のための数理モデル入門 本質をとらえた分析のために』などがある。 - 『ビッグデータ分析・活用のためのSQLレシピ』
・これは動作環境構築が面倒なので、ワンコマンドでセットアップが完了するdockernized版を勝手に作った。
・ メンテしないのでデータの入力ミス、バグ、ドキュメントの必要があったらフォークして。出版社に怒られたら消す。 - 『機械学習のエッセンス -実装しながら学ぶPython, 数学, アルゴリズム』
・Python入門レベルからガチ向けまで対応している。
・他に『ベイズ推論による機械学習入門』や
『統計的学習の基礎 ―データマイニング・推論・予測―』などがある。 - 『Rによるやさしい統計学』
・ Rも数学も触りたくないなら、『大学4年間の統計学が10時間でざっと学べる』。(普通に良い本)
・後は数学書の所に書いた。 - 『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』
・他に『ゼロから作るDeep Learning ❸ ―フレームワーク編』などが人気だ。コーディングなしなら『機械学習スタートアップシリーズ これならわかる深層学習入門』(未読)がある。真面目にやるなら『ベイズ深層学習 (機械学習プロフェッショナルシリーズ)』。 - 『機械学習スタートアップシリーズ Pythonで学ぶ強化学習』
・強化学習についてはここではあまり記載しない。 - 『基礎系数学 最適化と変分法』
・『意思決定のための数理モデル入門』 や 『錐最適化・整数最適化・ネットワークモデルの組合せによる最適化問題入門』(未読)など。コーディングありなら『最適化手法入門』(未読)がある。 - 『金融データ解析の基礎』
・ファイナンスに全編ノータッチになるのが嫌なので一応加えておく。誰得
2. 算数なにもわからない人向け
・ 算数なにもわからなくて専門書読めない人用。マセマよりもレイアウト、問題と解説の量が良い。別売の対応教科書はレイアウトが読みづらく数学科数学科の教科書があれば別に要らなかった。
・数Ⅲ・数Cやってなくても、気合があるなら読める。(新手のマスハラ)
・後は『統計学』(久保川)や『計量経済学のための数学』 ,『多変量解析入門』(小西)、 『現代数理統計学の基礎』、『工学系の関数解析』あたりを読めば良いと思います。
3. 「データアナリスト」の為の本
何チョイスしたら良いかわからなかったのでテキトーに書いた。
意識高そうで死ぬ
- 『データ分析プロジェクトの手引 データの前処理から予測モデルの運用までを俯瞰する20章』
- 『ビジネスデータサイエンスの教科書』
- 『アクセンチュアのプロフェッショナルが教えるデータ・アナリティクス実践講座』
- 『意思決定のための「分析の技術」』
- 『データ分析の教科書』
- 『確率思考の戦略論 USJでも実証された数学マーケティングの力』
- 『ワークマンは 商品を変えずに売り方を変えただけで なぜ2倍売れたのか』
- 『CIA極秘分析マニュアル「HEAD」 武器としてのインテリジェンス』
- 『Storytelling with Data: Let's Practice!』(未読)
- 『データビジュアライゼーションの教科書』
- 『データ視覚化のデザイン』(未読)
4.プログラミング教本
・ 私はプログラマー(PG)としては才能の無い3流以下ですが、参考までに読んで良かった本のタイトル、言語と対象レベルと雑感を載せる。
・ DSとして充分に強いなら不要かも知れませんが、実務の中でPGとしての素養は要る。マネジメント・開発手法・インフラ、ドキュメンテーション・プレゼン技術に関してはここでは書かない。
- 『リファクタリング 既存のコードを安全に改善する(第2版)』
・JavaScript(Ruby版もある)。中級者(コーディングに苦手意識の無い人)向け。私は暇なときにPythonに書き直したが、定期的に眺めたり辞書に使うのに適している。 - 『リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック』
・C++、Python、JavaScript、Java(言語は関係ない)。初心者から中級者向け。Effective Pythonの補足になる。 - 『Design Patterns: Elements of Reusable Object-Oriented Software』
・C++、GitHubでデザインパターンのコードを集めて眺めるのが一番楽。 - 『ドメイン駆動設計入門 ボトムアップでわかる!ドメイン駆動設計の基本』
・C#。中級者向け。業務によっては優先度は高い。 - 『テスト駆動開発(KentBeck)』
・Java。中級者以上。Javaの読解がツラかったので、今だったら『知識ゼロから学ぶソフトウェアテスト』や『テスト駆動Python』が良いかもしれない。 - 『CODE COMPLETE 第2版 上 完全なプログラミングを目指して (日本語)』
・古いC++。初心者(文法覚えた人)から上級者まで。章を切りとって容易にした代替本はあるが多分これが原典。色々なことが書いてある。体力が必要。 - g. **『プログラミングコンテストチャレンジブック』
・C++、中級者以上。通称『蟻本』
・ちゃんとアルゴリズムをやるなら『The Algorithm Design Manual』(未読)やThe Art of Computer Programming(日本語版)一巻、2巻、3巻を読むのが良いではないでしょうか(未読)
・蟻本より簡単なものとして、『新・明解Pythonで学ぶアルゴリズムとデータ構造』(未読)、『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造』がある。
面接対策として『世界で闘うプログラミング力を鍛える本 コーディング面接189問とその解法』がある。 - 『コンピュータの構成と設計 第5版』
・演習問題付きで時間があれば誰でも読める。通称『パタヘネ』。
・ちゃんとCSやる人はちゃんとした本を読むと良いのではないでしょうか(私はやりませんが)。
・他に『みんなのコンピュータサイエンス』や、『教養としてのコンピューターサイエンス講義』(未読)がある。
・歴史トレンド読み物として『角川インターネット講座 』や『魔法の世紀』がある。
・『オブジェクト指向でなぜつくるのか』と『プログラムはなぜ動くのか 第2版』も読んだが、この辺りはDSが必要に駆られて読む本ではない。 - 『達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ』
・RDB,読み物。続編に設計編(未読)がある。 - 『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版』
・PHP。PHPが書ければ読める。 - 『ソフトウェア要求』
・資格を持ってる訳でも専門家でもないので人に自信を持っては勧められないが、この辺の能力も要る
5. プログラマ脳
良いメンターや友人に質問しろ、と言ったが非エンジニアはパブリックなところでコーディングの質問はしない方がよい。
「適切な質問」をするには技術が必要で、それが出来てPGとして半人前だ。(私はPGではありませんが…)
質問のガイドライン
- 『良い質問をするには? - ヘルプ センター - スタック・オーバーフロー』
- Asking Better Questions - Stack Overflow Blog
- 『Stack Overflowの使い方 - Qiita』
適切な質問には検索力が必要だ。
エラーメッセージを読む技能も重要だ
上のリンク先の内容が正しく理解できていれば、プログラミングコミュニティのSlackにある質問チャンネルに問題を投稿しても問題はないだろう。
c. インターンの話
こんな感じで入門コストは暴落し、バブル崩壊前夜の今、DSのキャリアに入る難易度は未だ最高値を更新し続けている。
それが一体どういうことなのか未経験文系とかには具体的に説明しないとわからない気がするので5年くらい前に私がインターンに潜り込んだ話をする。
「私は確率統計や数学、科学哲学、ビジネスの知識・素養がめちゃくちゃあり実分析に応用した例もあります。またプログラミングで実現出来る革新的でお金になりそうなアイデアを見つけ、それを現実的な難易度に落とし込み短期間で実装しました。ビジネス・エンジニアリング・データサイエンス、どれもイケてる成長株です。GitHubはこれです。」
そんな感じの自己アピールをした。そんでプログラミング入門から半年後には、有名データサイエンスチーム(Tier 2)のインターン選考を(面白・ビックリ人間枠で)運良く突破し、そこでなんとか結果を出し実績を積むことが出来た。このインターンに受かったのが客観的にはターニングポイントに見えるだろう。運とはいえ、打算的に動いた結果だ。
プログラミング入門から3ヶ月はコードを書くのが楽しくて、質の低いWebサイトを作ったり、しょうもない画像認識、IoT遊びや競技プログラミングごっこなど目に付いたオモチャを順番に試し学生の時間を無為に過ごした。しかし小遣い稼ぎに申し込んだデータ分析インターン(Tier 4)の選考ではオモチャ遊びは全く評価されず、その辺の雑魚未満とされ落選した。
傷心で寝込みながら自らの立ち位置と比較優位を自覚し戦略を練って行動したら3ヶ月で目的は達成できた。(『データサイエンティストは3ヶ月で成れる!!』じゃん)
当時でも他のインターンは実績人を殴れる出来るガチ勢ばかりだった。ガチ勢というのはプログラミング始めたのは高校の部活で、有名大に留学経験があり、コンピューターサイエンスや関連分野の有名研究室で優れた結果を持ってますが何か?みたいな奴らのことだ。
若くして優秀みたいな話は大概、先天的文化資本チート野郎であり、
個人の能力 = (1 + 才能)× (1 + 希少性)× [文化資本] × (1 + 努力 × 効率 + 勢い + 運)
だと思った。左側のパラメーターの方が重要度は高い。
この世界では先天的な文化資本はあればあるだけ強く、都内に自宅があり幼稚園の頃に親から500万円分の教育機会をプレゼントされた上でやっと中流スタートが出来る。若い内に能力があると認められればCERNやベイエリアで効率を上げたパワーアップも可能だ。そして「清く正しく毎日生きてきただけなのにトップスクールPh.Dナウ♪」とかSNSで呟いていられる。
強い学生界隈には他に、必要な努力を必要なだけ即するやつ、天才っぽいのや世渡りの巧さで実力を付けた奴とかが居た。高専出身の強い学生ルートというのもあるが、あの背後には強く成れなず踏み出いになった屍の山がある気がする。
d. 就職の話
就職の話もついでにする。
私が見積った就職・転職の際の市場評価関数は
市場評価 = 個人の能力 × 需要 × [経歴・見込み実績・伸び代] × (自己アピール + [性格・社風マッチ・学歴フィルター]) だった。
転職回数、宴会芸、外見、性別などが加わる所もある。雑魚スタートアップでも40のおっさんプログラマーは企業文化に合わないとして落とされてる。
上位層との市場評価の差を少しでも埋める必要があった私はインターンの経歴の他にも学内外の賞で経歴を埋めた。賞は稼ぐことを意識・執着し、かつトップ層のやり口を知っていれば、労せず誰でも稼げると思った。なので時間も趣味コーディング、趣味の論文読み、分析のバイトにばかり費やしていた。
Kaggleは自身には比較優位のある感じがせず、参加し続ければ意欲は証明出来るかも知れないが、業務が出来るアピールには繋がる気がしなかったのでやらなかった。
そんなこんなで就活ではそれまで縁のあったTier2からTier4の会社から声がかかった。大学に残りたかったが親の強い反対と金銭の都合で諦めた。Tier 1,2で活躍したいなら進学して結果を残す必要がある(例外は少ない)。
勉強時間が圧倒的に足りてないのにCSトップ層とハードワークで渡り合っても辛い。社内で比較優位性を持てること、興味が湧くデータ・業務が良い。ということでTier 3の会社に入社を決めた。
自分語りし過ぎだろ、と思われるかも知れないが、自分のようなラッキーケースでしか一流未満大卒、無能、文化資本無し男による皆さんが望む「未経験文系からデータサイエンティストで人生一発逆転エンターテインメント!! 倍返しだ!」は存在しないし、ほぼ無理だと思う。
(最近は、大学入学と同時にKaggle、分析インターンに打ち込みました。文学部卒でもTier 2データサイエンティスト!みたいな戦闘民族も居そうだが。)
e. 業界の話
みんなデータサイエンティストに成れるとして、業界の話をする。
データサイエンス部署の仕事・求人を以下のように分けて考えるとよい。
- Tier 1 業務内容が研究業務。世界規模のデータを扱う。
- Tier 2 業務の一部として最先端の研究・実装をする。国内最大規模のデータを扱う。
- Tier 3 最先端ではないが、先行研究を素早く理解・実装する。国内大手企業のデータを扱う。
- Tier 4 sklearnやTensorflowのAPIを叩く。有名企業のデータ分析をする。
- Tier 5 Pythonにチャレンジ。Google Analyticsを活用する。
他に、会社の業績動向・ビジネスモデル、企業規模、担当する業務・求められているのは何か、どのような人が居るか、活躍・成長出来るか、自分とマッチしてるか、という会社毎の調査もした。ただ業界通のベテランに近づき聞いた評判や内部情報、優良企業情報が一番役立ち正確だった。
Tier毎の業務には壁があり、例えばTier 2の会社の研究部署にインターンから入社した人柄が売りの友人は周囲のサポートで猛成長し国際学会で発表をしていたので、分析的雪かきをしていた私からは羨しく思えた。
Tierの違いはキャリアの違いだ。Tier 1は常にトップランナーとしてキャリアを歩むことが出来、選択肢も多いように見える。そして交通事故で死ぬ。
Tier 2はビジネス状況・案件状況、研究職と非研究職の配属の差によるキャリアの差が若干ある。担当業務と興味があってれば生涯それで良いと思う。技術トレンドを大きく読み違えると死ぬ。
Tier 3は能力では優秀な後発にドンドン抜かれていくのでビジネス寄り、エンジニア寄りの強いアウトプット・経験を貯めてかないと景気悪化で死ぬ。
Tier 4はDSとしての専門性はその辺の学生以下なのでビジネス技能、エンジニアリング技能との組合せでデータサイエンス能力を発揮する必要がある。データサイエンス技能だけなら給料は並以下・景気悪化で無条件に死ぬ。
Tier 5は一人月や営業職兼任として存在する。勉強してキャリアアップするか、データサイエンティストになるための情報商材販売やスクール講師などの副業をする必要がある。Google検索アルゴリズムの変更とかで死ぬ。
ワナビーは今一度、憧れの『DS版 逆転人生』はどこの世界の物語だったのか思い返して欲しい。
f. 仕事に就く方法
現実的な話をしたところで、もう一度データサイエンス関連業務に就く方法の話をする。
データエンジニア
『iPhoneアプリとサイトQAにAIを搭載したいので、AWS資格を持つTier4レベルのデータサイエンティストを募集します。AI、バックエンド、インフラ全部お願いします。』
『東大発イケてるスタートアップです。Tier 2クラスの強い院生求む!!』
最近はこんな感じの公募求人を良く目にする。*4
後者のようなスタートアップ求人は採用人数が少ないのでマス向けには忘れるとして、前者の需要は行動するワナビーやプログラマからの転職を消化しきれる程度にはあり、それなりに高給だ。
実際に目指すなら、Greenなどのエンジニア求人サイトを見て直ぐに応募出来る求人があるか、スキル不足ならどう満たすかの作戦を練るべきだろう。こうした「データエンジニア(DE)」枠としてTier4などでデータ分析業務に携るための競争はDSの道に比べれば緩い。AWSの資格を取るだけなら独学でも3ヶ月から一年で達成できるだろう。とはいえ適正が無いければ辛い道程にはなる。
ビジネスマンルート
DSでもDEでもなく職業としてAI・人工知能に携るにはTier 4にビジネスマンとして入るか、営業やコンサルタントから分析PM・営業としてTier 3,Tier 4に転職する方法がある。これは普通にハッピーな話だ。賢者に転職出来るのは仕事を積み重ねてきた者だけだ(嘘)
無職転生
どうしても無スキルから転職したい、という地獄を心にお飼いなら専門学校に行って技能を身に付けるのはどうだろうか。(頼れる学費サポート|日本電子専門学校)
昼の4年制大学は、若いならアリだが無スキルおじさんは入っても鬱で退学になる。電気通信大学の夜間 や通信制の諸大学、放送大学なら年齢に関係なく可能だ。(留年しないとは言っていない)
学士、または大卒程度の能力があるなら大学院大学、大学院でCSを学べる。無から研究計画書を錬成し、入試を突破するのはそこいらの資格試験突破より超難題ですが……
学位が重要でなければおっさんの就職・転職対策は大学より専門学校、専門学校より独学、独学より大学院の方が効率は良いと思う。(独学が可能ならな)
海外のオンライン大学、オンライン大学院に夢を見るのは止めた方が良い。
YouTubeで大学講義を見るのとは異なり、興味がない講義も取らないといけないし定期試験の準備に膨大な時間がかかる。サポートも少なくオフラインの学位より評価されない。*5
学生ガイドライン
高校生は偏差値が高くて大都市・大都市近郊にある大学の理系に進学しよう。
未経験三流文系は普通ではどうやったってどうにもならんでしょ?(笑)
理系大学生は勉強して能力を付けてインターンや学会発表したら良いのではないのでしょうか、知らんけど。
g. データサイエンティストになったら
最後に、見習いデータサイエンティストになれた後の話をする。
最終的にどうなりたいのか、目標を持ってないとやってられない職業だと思う。曖昧だと転職も出来ない。
『私は、スーパー能力があるからアーリーリタイアのことしか考えてないです。』と公言して憚らない人もいるし、底辺YouTuberとして成金アピールするのが生きがいの人もいるが、その辺は例外としよう…… 人生は冒険や!
一般に動機や目標は具体的であった方が幻滅せず継続できると思っている。『「データサイエンス」って言葉の響きがかっこいいから』では言葉の響きと現実の差に直面すると死ぬ。(よくいる)
遊びや趣味の週末データサイエンティストや他の技能で優位があるなら別だが、一般に職業としての「見習いデータサイエンティスト」には安定は無く、遊んでられる週末も高給も無ければ未来もない。理由なしに選んで後悔しない道ではない。
Tier 1, Tier 2のDS(データサイエンティスト)はデータサイエンスの話だけをしていられる場合もあるが、それ以下は[https://www.ipa.go.jp/files/000083733.pdf:title=『データサイエンティストのためのスキルチェックリスト/タスクリスト概説』]に書いてある諸雑務の遂行能力や営業スキル、コミュ力、世渡り能力が要求される。なければコストカットだ。また新卒のデータサイエンスの技能レベルは毎年、上がっている中、あなたの保有技能がそれを下回ればDSとして経験を積む機会は消える。
一応、熟練データサイエンティストになれた後の話もする。
そのまま社内で管理する立場に回る、分析エース・分野の専門家としてビジネス実績を積む、論文やkaggleなどのコンペで対外成果を出す、OSSに貢献する。もしくは転職、VCに転身、起業、フリーランスになる、研究者を目指す、アーリーリタイアなどになるだろう。
先発優位が強い上に先行者の数は多いので、業界や会社が急成長しない限り今から普通の「見習い」が上まで登り詰めるのは難しい。どこでも良いなら別の山へどうぞ。
どうなりたいか、に関係するが、100点満点を目指すより自身の目的に特化した方が良い。DSかくあるべき論でよく聞く内容のうち、私は情報幾何や計算理論、渡辺ベイズはちゃんとは理解してないし、Tensorflow・PyTorchの実装も見てないし、CSのトップジャーナルに論文は載ってない。C++やFPGAで高速化チューニングが出来る訳でもなく、 Kubernetesは使い込なせず、NoSQLとRDBの違いも説明出来ない。データサイエンティスト協会とやらによれば、Associate Data Scientist以上Full Data Scientist以下だが、スキルセットに記載されているセキュリティ技能やブロックチェインなどには興味もない。
俺やっぱDSの紛い物だったわ
業務においてもデータサイエンティストブラックホールになっているアドテクには殆ど興味がなく、画像認識の先端研究にも関心が持てず使い込なす技能も無い。そのため他の専門知識を増やしてなんとかサバイブしようとしてる。
応援メッセージ
と、まぁ紛い物への成り方とノウハウは書いといたので未経験文系の皆さんとかも3ヶ月とかで、でーた?カイエン?なんちゃらら?とかいうのになって人生逆転してみて下さいw
注釈
「データサイエンティスト」(以下、DS)が示す内容は、
データサイエンス,CSのPh.D研究者「(マジの)DS」、研究従事者「DS(狭義)」、データサイエンス応用業に従事する人「DS(広義)」
データサイエンス技能のこと「DS(技能)」、DS協会のいう雑務含めた諸技能「DS(協会技能)」、分析技能保持者のこと「DS(保持)」
データを扱う業務に携わっている人「DS(関連業)」、資格を持ってる人「DS(ブロンズ・実装師)」、協会認定者「(協会認定)DS」、
kaggleやってみた人「DS(titanic)」、Python触ってみた人「DS(Python)」、詐欺師の人「DS(情報商材)」などが混在している。
あとPython書けないデータ分析業務従事者のことを「データアナリスト」って呼ぶのマジで止めろ。