プログラミングを学習するにあたって何から始めたか
2020年11月末から始めて2023年6月に内定が出たので約2年半の期間ですが、学習を当初はデータサイエンティストを目指していました。途中からWebデベロッパーへと方針転換したので、データサイエンティストを目指した学習と、Webデベロッパーに方向転換してからの学習で、2つに分けてまとめたいと思います。
データサイエンティストを目指していた期間の学習内容
- 機械学習の実装で人気があるPythonを学習し始める
- 機械学習の基礎を学ぶためにcourseraのMachine Learningを受講
- データサイエンスコンペのkaggleとsignateの学習コンテンツを受講
- 自分の経験と知識では機械学習エンジニア転職の難易度が高いことを認識する
【機械学習の実装で人気があるPythonを学習し始める】
マーケティング会社でリサーチや企画の仕事をしていたことから、機械学習で需要予測するモデル(k-means法)があることを知り、実務で使えるようにならないかと思い、Pythonの勉強を始めました。Pythonを学習するにあたっては、PaizaラーニングのPython入門コースが非常に学びやすかったです。Paizaのコーディングテストにも一時期ハマり、最終的にはAランクまで行きました。
【機械学習の基礎を学ぶためにcourseraのMachine Learningを受講】
機械学習ってそもそも何なの?どういう仕組みなの?と疑問に思い、学習ツールをネットで検索していたところ、courseraというオンライン学習プラットフォームでスタンフォード大学が提供しているMachine Learningという3ヵ月コースが無料で学習できると知り、こちらを受講することにしました。文系出身で計算式に書かれている「Σ」の意味すら知らない状態から始めたのでかなりきつかったです。最終回の講義でAndrew Ng先生の言葉にはグッと(涙)くるものがありました。
少し前にコースの内容が更新されたとのニュース記事を見ましたので、今のコースは自分が受講したものと全く同じコースではないかもしれませんが、英語が出来る方で機械学習に興味があるなら是非お勧めしたいコースです。
【データサイエンスコンペのkaggleとsignateの学習コンテンツを受講】
学習を進める中で、コンペサイトの存在を知り、コンペサイトにある学習コンテンツを活用しました。同時にUdemyのコースを受講し、Pythonを使って訓練データの加工の仕方や、機械学習モデルにテストデータを読み込ませて予測値を算出するといった手法を学びました。初心者向けの学習コンペに参加して、与えられた訓練データを加工したり、特徴量の取捨選択などを通じて機械学習モデルの精度を上げていったりしつつ、次第にプログラミングの面白さにハマっていきました。
この頃学習したコンテンツは下記のとおりです。
- Kaggle(無料)
- Signate (サブスクで1年契約)
- AI・データサイエンス入門コース
- DeepLearning入門コース
- 自動車環境性能の改善:回帰問題
- 健康経営のための疾患リスク予測:分類問題
- 宿泊予約サービスにおける価格推定の適正化:回帰問題
- 債務不履行リスクの低減:分類問題
- 食品ロスの削減:回帰問題
- スポーツのチケット価格の最適化:回帰問題
- 株価を予測せよ:分類問題
- 金融機関におけるテレマーケティングの効率化:分類問題
- 鋳造製品の欠陥検出:分類問題
- ECサイトにおける購買率の最適化:分類問題
- Udemy
Udemyは定期的にセールをしているので、その時に買って受講しました。
【自分の経験と知識では機械学習エンジニア転職の難易度が高いことを認識する】
コンペサイトでの学習を通じて、転職を意識し始めました。そこで、実際に求人状況や、コンペに参加している方々の経歴、記事などを探して読んでみたのですが、厳しい現状が見えてきました。
日本ではAI人材や機械学習エンジニアが不足している、といったニュース記事を見たことがありますが、自分が調べた範囲では、コンピューターサイエンスの学位や、実務経験が必須という求人が多く、また、人材を募集している企業も少なかったように思います。仮にKaggleでゴールドメダルを複数回取得してKaggle Masterの称号を獲得する、といった実績があればポテンシャル採用の可能性が生まれるかもしれませんが、Kaggleでゴールドメダルを獲得すること自体、自分にはハードルが高いと感じました。
Webデベロッパーに方向転換
データサイエンティストを目指すにもハードルがちょっと高すぎるなと思いつつ、40代以上でエンジニアになった事例がないかと探していたところ、次の記事を見つけました。
なるほど、日本ではないけれど、アメリカではプログラミング・ブートキャンプのコースを受講して短期間でエンジニアに必要な知識が技術を学ぶ、という方法でソフトウェアエンジニアになる事例がある、とのこと。
転職にあたって、アメリカでは日本ほど年齢で足切りする、ということは少ないようなので、こういったケースもあるのだなと思いつつ、日本でもプログラミング・ブートキャンプみたいなものってあるのだろうか?と探してみると、いくつか検索でヒット。
日系のブートキャンプは年齢制限があるので40代の自分には申し込み不可、ということで年齢制限なしのCodeChrysalis一択、ということに。後から知ったのですが、他にもle wagonというブートキャンプコースもありました。
この時、Webデベロッパーに方向転換することを検討し、JavaScriptを学習し始めました。次回はブートキャンプ受講時に学習したことについてまとめたいと思います。
コメント