皆さんこんにちは、Class of 2024 の T です。
今回は MBA/ MPCS (Master's Program in Computer Science) Dual Degree のプログラムについて、実際に体験した授業内容や1年を通しての所感について述べていきたいと思います。
シカゴ大学の MBA/ MPCS は1)通常の MBA と授業料が変わらない点 2)2年間で2つの学位を取得できる点 3)文系バックグラウンドでも応募が可能な点 などから近年人気を博しております。また最近は Chat GPT などの生成 AI の登場やコンピューターサイエンス領域への関心が高まっていることに関係してか、本プログラムへの質問やお問合せを頂く機会が大変増えております。よって過去記事の内容と若干の重複はあるかもしれませんが、実際に私がアプライした背景や1年を通しての学びとなった部分について触れながらお話をさせて頂きます。
<背景>
まず、このプログラムを応募した背景については1)コンピューターサイエンスという学問への純粋な興味 2)就活軸 の2点が主なきっかけです。
1)については多くの方が一度は考えたことがあると思いますが、近年話題となっている 機械学習、深層学習、生成AIなど、テクノロジーの根本を理解したいという動機から来ていました。私自身、前職(テック企業のビジネス部門)にて勤務していた際に、実際に AI を活用したマーケティングツールを販売したり、日本での拡販戦略・企画などに携わる機会が多くありました。しかし AI/ アルゴリズム/ 機械学習 etc. と口には発するものの、それが一体なんぞや?と聞かれた際に深いレベルまで理解できない自分に常に悶々としていました。例えば、よく自分が答えられなかった質問として、そもそもどうやってアルゴリズムの構成を組み立てられているのか?どんなインプット(ユーザー情報)を読み込んで学習していくのか?機械学習がうまくいかない場合なぜ製品は不安定な挙動をとるのか?等々様々ありました。安易ではありますが、 CS を専攻する事でこれまでぼんやりとしていた技術に対する疑問や解像度が少しづつ上がるのではないか、と勝手ながら考えていました。
2)もう一つは、PM 就活(プロダクトマネージャー)をする上で CS の学位が優位になると考えた点です。上述の通り、前職では最後の2年は日本・APACでの製品・営業戦略を企画する立場として米国の PM などと接点をもつ場面も少なからずありました。とはいえ日本やAPAC 市場のニーズを実際に製品に反映させる様な意思決定・裁量権まではなかったので、より製品開発側に近い仕事をしたいと思い立ち、PM を就活の軸として考えるようになりました。PM は今でこそ日本でも少しずつ人気は出始めていますが、要するに製品開発の責任者です。コードなどは基本書きませんが、プロジェクトオーナーとしてエンジニアや各ビジネス部門と共同しながら製品開発を進めていくので、技術に対する素養や知見も求められます。よって、ビジネス(MBA)とエンジニア(CS)の両側面を学べる Dual Degree が最も最適ではないかと考えたのが、もう一つの背景です。
実際に入学し1年経った上で、2つの仮説に対する考えは少しずつ変わってきたと思います。
1)まだ1年目の必修を履修している段階なので、正直素人に毛が生えたレベルだとは思います、、がネットなどで目にする記事なども含めて技術的に何が書いてあるかは少しづつですが分かる様になってきている実感があります。具体的には後ほど記述しますが、 Chat GPT に使われている基礎技術や SNS や Google Map などに使われているアルゴリズムの概念など、徐々に理解がついてきたように思います。それに伴って、日頃の情報感度やアンテナなども少しづつ変わってきた様に感じますが、1年目は比較的理論ベースが多かったので、2年目以降はコンピューターアーキテクチャなどに加えて、ビジネスサイド(例:プロダクトマネジメントや UI/ UX) などの実践的な授業の割合も増やしていくことでよりビジネスへの応用編を学んでいきたいと思います。
2)については、実際には想定と違ったというのが正直なところです。もちろん CS の学位を持つことは Resume 上強いのですが、PM を目指す上では実務経験が何よりも大事だと就活を通して実感しました。これは会社によって Preference が異なるのですが、例えば Tech PM 一つとっても、学位 vs 関連した職務経験でいうと後者の方が圧倒的に強く求められています。(*会社によっては CS が Must to have の会社も存在します)必ずしもトレードオフではないですが、仮に PM 就活だけを最優先事項とした場合は、CS の学位取得よりかは Pre-MBA インターンなどで PM 経験を積むか、In-semester インターンなどで経験を積んだ方が優位に働くでしょう。また、シカゴ大学の CS の評判として、他大学と比較してもアプリケーションより理論ベースに重きを置いている為、就活的な観点のみならず、入社後もPMとして活躍できるような実践的な授業の履修やインターン等で職務経験を積極的に積むことが大変重要であると感じました。
過去のブログにも記載がありますが、とにかく Workload が多く、1授業あたりにかかる時間が週20時間を超えることもざらにあり1年目は大変でしたが、中長期的に自分のキャリアパスを技術部門へ広げてみたい方や、純粋にアカデミックへの興味が強い方へは特におすすめのプログラムとなっています。またこれは予想してなかったのですが、同じ Dual Degree の人たちは皆辛酸をなめながら過ごしているので、結束が強くなり結果としてとても仲良くなりました。笑
<授業内容>
最後に、1年目に私が実際に履修した授業の簡単なまとめです。
・Concept of Python Programming(パイソン)
プログラミング未経験者向けの導入科目ですが、なかなかのボリュームをすごいスピード感で学んでいきます。実際にソフトウェアエンジニアや経験者の方は事前の Placemenet Exam をパスすれば履修の必要はありません。
・Python Programming(パイソン)
必修科目の一つとして、経験者もソフトウェアエンジニアの方も履修が必要なクラス(場合によっては他言語、また中・上級者向けのクラスも履修可能です)。自分は初心者だったので、こちらの授業ももれなく週10ー15時間程度の Workload はかかりましたが、Pythonで使う基礎的なものから中上級向けの概念にほとんど触れることができます。最後の Final Project では、マルコフ連鎖モデルという今流行りの生成 AI(*テキスト生成技術)の原型とも言えるモデルを活用したコードを書いてみました。具体的には、クリントン、オバマ大統領2人の原稿スピーチをデータとして読み取り、誰が書いたかわからない状態の原稿を見た際にどちらの大統領の原稿に近いかを統計的に予測していくモデルです。Chat GPT は現在マルコフ連鎖とは全く異なる精度・アプローチをとっていますが、ある意味そうしたさわりの部分に触れられるのもこのプログラムの醍醐味ではないでしょうか。
・Discrete Math(離散数学)
シンプルに離散数学を学んでいく授業で、アルゴリズムに向けた導入科目になります。内容としては理論・証明、組み合わせ理論、グラフ理論等。
・Algorithms(アルゴリズム)
CS の必修のクラスのうちの1つです。学ぶトピックとしては、並び替え、最短経路の算出、ダイナミックプログラミング、分割統治法、ネットワークフロー問題、P/NP 問題 etc.など多岐にわたります。例えば Google マップなどに使われる始点から終点までの最短経路探索やSNSでのネットワーク探索(友達おすすめ機能?)などは授業で習う様なアルゴリズム等がベースとなっています。その他にもネット上でのオンラインストアへの送客の仕組みや、様々なアプリケーションに使われているコンセプトを理論ベースで学び、そのアルゴリズムの計算量や効率的な計算、正確性の証明などを学んでいきます。
2年目以降は以下のクラスを履修することでより実践的な内容を身につけてきたいと考えています。また余談ではありますが、シカゴ大学は量子コンピューター(Quantum Computing)領域の研究が非常に有名らしく、学部の授業ではありますが余裕があれば受講を予定しております。
・Product Management
・Intro to Computer Systems
・Database
・User Interface and User Experience Design
・Big Data Application Architecture
長々と1年を通じた所感と授業の学びについて記述してみましたが、如何でしたでしょうか。Dual Degree にご興味をお持ちの方でさらに詳しく知りたい方は、是非お問い合わせください!