文系大卒でもコンピュータサイエンス(CS)の修士号をとれば普通にエンジニアとしてアメリカで就職できる可能性はあります!

みなさんご機嫌いかがでしょうか。今日は、コンピュータサイエンス(CS)の科目の教授(若手中国人)に今後のキャリアについて相談に行きました。ちなみに私のスペックは日本の大学文系卒⇒日本で(非IT系)会社員⇒アメリカ大学院修了です。

Contents

教授から文系大卒→CS修士でも何ら問題はないと激励される

教授曰く、文系から理転しても全然問題ないとのことです。大学時代から情報系学んでた人に比べるとちょっとハードだけど、彼ら/彼女らも1、2年の間は教養科目学んでる(からそこまで進路に差はでない)し、教授の奥さんも会計が専攻だったけど、コンピュータサイエンスに鞍替えしたとのことです。他にも、化学からの専攻変更の例もあるから、気にしないでよってことでした。そもそもこの分野は(エンジニアの)人手不足みたいです。私の同級生でも建築学、グラフィックデザインからの転向やMBA持っているけどCSの修士課程に入りなおしたって人がいます。アメリカ人だけど、歴史学部卒業して10年位英語の先生として教鞭をとりつつ、最近になってCSの院に進んだって人もいますね。(趣味でKotlin使ってアンドロイドアプリ作ってて私よりコーディングスキルあります。)

教授も学部時代は理論数学専攻だったけど、理論数学がわけがわからなすぎてこちらの分野に大学院から鞍替えしたということです。学部は中国の大学で、修士・博士はアメリカ南部の州立大学院で学んだとのこと。

その後、教授の奥さん(会計学科卒)と一緒の授業取ることになり、なかなかにカオスでしたが私も彼女も落第することなく無事修了できました。

  ※注:私はほぼ未経験で大学院のCS修士課程に渡ったこともあり、大学のCS授業も並行履修していることから卒業時期が若干後ろ倒しになるのでそれはご注意ください。文系大卒の無難なキャリアは日本のIT企業でエンジニアとして3~5年くらい働いて経験つんでから大学院に入ればそれほど授業も苦労しないでしょうし、2年(あるいは1年半)で卒業できる可能性も高まります。それと大学院入試でも就活でも実務経験は結構みられているので、焦って新卒で理転するよりも日本でエンジニアとして何年か働いてから、こちらに来ることをお勧めします。急がば回れということですね。
正直、修士課程は長居するところではありません。さっさと卒業して仕事に移った方が無難です。一年制の修士課程もありますのでそういったところに通うのがよさげですね。

追記

※追記:実際、アメリカで就活してみて、仕事を選ばなければ(日系企業のシステムエンジニアやソフトウェアエンジニアなど待遇が悪くてもよいならば)こちらで比較的簡単に残る(実際私でも複数内定もらえる)ことはできるけど、待遇の良いばりばりの米系ソフトウェアエンジニアを目指すとなると、現在の私のレベルでは厳しいかなっていうのが正直なところです。実際、ウェブ開発者としてのオファーももらえることにはもらえるのですが、今の私のレベルですとあまりにも待遇が悪いオファーしかなくて辞退するレベルです。これなら日本で開発やった方がって思うレベルのオファーもありますからね。

大学院の宿題に四苦八苦するレベルで、fizzbazzもリファレンスがないとちょっと迷ってしまいますからね。逆に小さいころからPCまわりに触れるのが好きで自分でコードずっと書いてたって人なら難なくアメリカでもソフトウェアエンジニアとしてやっていけるのではないかと思います。あと競技プログラミングのatcoderで青色以上持っている人とかはおそらくアメリカの中堅州立大学院であればそれほど授業のコーディングパートで困ることはないのかなと。(周りのみなさんはアルゴリズムなんか簡単よっていうけれど、私はさっぱりです笑)

周りの専攻変更組のクラスメートもカスタマーサポートエンジニアやグラフィックデザイン関係のエンジニアには合格している人はいるけれどソフトウェアエンジニアはそれほど多くはないですね。インド系の留学生は案外ソフトウェアエンジニアとしての職を見つけてこちらで残っている方もおりますが、東アジア系につきましては(レベルのあまり高くない私の大学の場合)就職状況はそれほど芳しくないですね。中には、中華系の学生でテキサスでソフトウェアエンジニアとしてオファーもらった人もいます。彼は母国のスタートアップでソフトウェアエンジニアとして数年職歴あって今は中華系企業でバイリンガルエンジニアとして働いていますが、例外的な感じです。(彼は上海・復旦大学で情報科学学んだエリートですからね。)就活が芳しくなかった例としては母国でデベロッパーとして5年以上職歴ある方でも仕事が見つからず母国に戻ってしまった方も少なからずいます。とはいえ、帰国先では結構いい待遇でみなさん働いているみたいです。留学生は将来を考えて帰国する人が大半で残るのはインド系が多いかなと。

ちなみにですが(レベルの低い私の大学の場合)学部留学生はCS専攻であっても9割方母国に帰っています。学部生は残りたいと思って就活しつつも仕事が見つからずに残念ながら帰っちゃうパターンが多いですね。周り見渡していてもアメリカでソフトウェアエンジニアとして残れているのは自国でソフトウェアエンジニアとして就業経験のある修士以上の学歴の方が多いです。中には学部卒でマイクロソフトでソフトウェアエンジニアの内定もらえたナイジェリアの留学生がおりましたが彼も例外ですね。それと私の大学院の同期はアメリカの大学でデータアナリストの職をコントラクトだけど得ることができました。もしソフトウェアエンジニアが無理な場合は若干ビジネスよりの職種を狙ってみると割といい方向に転がるかもしれません。

個人的に今の私のキャリアでアメリカに残るのであれば、働き方が柔軟で経営も安定している(気持ち大き目の)米系企業に最初はネットワークやインフラ周りで入って研鑽を積みつつ、趣味でコーディングを続けるとともにミートアップにも参加してソフトウェアエンジニアの方面にも将来的には触手を伸ばしていけたらと。それが無難なのかなって思ったりしますね。

ちょっと話はコンピュータサイエンスからそれるかもですが、アメリカの州立大学院でMBAとったグリーンカード持ちの人でもいい仕事見つけられずにネイルサロンで働いていたりするので、本当に大変な社会ですね。その分、能力さえ高ければ外国籍の人でもどこにでも行けるチャンスはあって、たとえば私の大学に以前在学していたCSの教授は現在、転職してシアトルのアマゾンでシニア・ソフトウェアエンジニアとして働いていたりもするので、すべては自分の能力次第ってことでしょうか。

機械学習系のエンジニアは博士必須だけど経済的に今はむりそう

機械学習のエンジニアにも興味があって教授に聞きに行ったんですが、この分野は博士必須だとのこと。アメリカで博士課程に行きなよ、君ならできるよとアドバイス頂いたんですが、経済的にも時間的にも余裕がないので、修士卒業後直接博士課程は無理かもですね。そもそもcomprehensive (qualified) exam通らなそう。私自身は日本に戻ってweb系のエンジニアとして働きつつ、社会人博士とることも視野に入れています。博士課程に行きたい気持ちはやまやまですが今はそのタイミングではないのかなと。それと機械学習のエンジニアは先行者優位的なところもあるのでたくさんの方が学び始めた今、教授と同じようなキャリアを歩めるかは不明、というかできない可能性が高いですので。(てか、教授も給料低いってめっちゃ嘆いてますし。。博士課程修了してもなかなか経済的には難しそうですね。(最優秀層を除く))

ただ、機械学習のエンジニアやデータサイエンティストは無理かもですが、ビジネスアナリストあたりだとそこまで専門的知識も要求されないのでアメリカでは穴場かもしれないと。院の一個上の代の人がシカゴでビジネスアナリストとして機械学習に近いことをやっているみたいです。ただ、ビジネスアナリストっていうと日本では4大卒の商学部出身の方が未経験でも新卒でつける職業でもあるので、そこまでしてという思いはあります。

文系学生なら大学在学中に理系科目とっておいたほうがいいかも

放送大学という選択肢

あと今、総合大学に通っている文系の大学生の方であれば、理系学部の提供するアルゴリズム、データ構造、C++、Java、Python、Linux、微積分、線形代数、統計学、離散数学あたりを取っておけば、それが大学時の単位として換算され、pre-requisite courseが免除される可能性があります。私は学部時代に微積分、線形代数や統計学はけっこう履修していたので、こちらで受講せずにすみました。もう卒業しちゃったよって方は(天下の)放送大学で履修すれば勉強になるし、単位として認められるかもです。

放送大学の講義内容は本当にすばらしいです!あとは、講義の話し方などをよりよくすれば、おそらくもっとたくさんの方に視聴されるのかなと。

アメリカのUniversity of the Peopleという選択肢

(私は通ったことがないですが)最近はUniversity of the Peopleというアメリカのオンライン大学(なんと学費無料!)も存在するそうですので、こういったところで科目を受講してみるのもよろしいかなと。高卒で現在日本で働いている方であっても働きながらオンラインで学位取得目指してその後でアメリカ大学院留学ってのもありえますからね。

ちなみにwebエンジニアの石田友樹さんの記事を参考にしました。この方の向学心には敬服します。

GPA最低3.0は欲しいところ

私の申請した大学院では申請条件として確かGPA3.0以上と掲げておりましたので、学部時代にできるだけGPAは高くしておく必要がありそうですね。ちなみに私の学部時代のGPAは3.5以上でしたのでGREやIELTSなど英語の点数は足切りに近かったですが無事に申請が通りました。学部時代のGPAが低いよ、どうしようという方は大学によっては多少GPAが低くても(2.5でも)、職務経験があれば入学を考慮してくれるところもありますので、そういった進学先を探すのがよろしいかと。

私であればGPAが低ければ無理に留学をしようとせずに日本のIT企業でエンジニアとして研鑽を積みつつ海外駐在の機会を伺う方が可能性高いように感じます。正直、留学はコストかさむし、仕事がうまくみつかるかもわかりませんのでおすすめとはいいがたいですからね。仕事先見つかって3年位働いてやっと留学時のコスト回収できるっていう感じじゃないでしょうか。

新卒カードを有効利用して最初は日本でエンジニアとして働いた方が無難

海外就職って焦る気持ちはあるかもですが、やっぱり日本は新卒ほぼ未経験でもエンジニアとして採用しているというメリットもありますので、新卒で研修充実しているところに入ってかつ業務知識を身に着けてからでも遅くはないかと。(余談ですが、こちらの大学院でオールA(GPA:4.0)の方は10年近く母国でエンジニアとしての勤務経験もありましたので、やっぱり母国で勤務経験があると大学院進んでも有利になったりします。)

親御さんが裕福で何年でも留学させてあげるっていうのであれば、新卒で直接留学に行った方がいいかもですが、職歴積んで貯金もためてから留学した方が人生詰みにくくなりますからね。自分の人生を自分で選択できている感もあって、こちらの方がおすすめだったりします。

金銭的な事情を抱えて慣れない環境で激しい学業に取り組むのは精神衛生上よろしくないので、まずは日本で3~5年働いて貯金貯めてからの方が遅くはないかもしれません。それといつまでも親御さんに頼りっきりなのもよろしくないですからね。

お金のみが目当てならエンジニアになるのはやめた方がいいかも

仮に高収入を目当てにIT業界に入ってくるのなら、やめた方がよろしいかなと思います。というのも、エンジニアは日々勉強勉強で自身をアップデートする必要がありますので、本当に学問が好きじゃないとなかなか続かないからです。そういったことが目当ての文系の方であれば、日本で不動産ディベロッパーや商社に入った方が(身体ははるかもだけど)比較的楽に稼げますからね。

大学院の勉強も生半可な覚悟では続くものではなかったので、自分が何をやりたいかは事前に自己分析しておく必要がありますね。単にホットな分野だから、稼げる分野だからって入ってくるとこんなはずじゃなかったのにってなりかねませんからね。実際IT系の離職率が高いのもこういった事情が絡んでいそうです。
近年のアメリカ留学ならコンピュータサイエンス一択や、未経験から一発逆転的な風潮には(一種の情弱ビジネスであることから)正直辟易しております(しかもそういうのに限って声が大きい)ので、ご自身のやりたいことをやったほうがよろしいかなと。ご自身の興味と仕事で求められていることが一致して長く続けられるのが好ましいかと思います。実際エンジニア職に就いている方って必ずしもIT系の専攻とは限らなくて自分の身の回りでは医療工学、物理学、数学等様々な専攻の方がいらっしゃるのでキャッチーなコンピュータサイエンスっていうのにあまり引っ張られる必要はないのかなと。

正直、アメリカの修士課程でCS専攻していた学生や教授でさえもコーディングあまり得意でない人いたので、そこまで気負いしすぎる必要ないかも

自戒の意味を込めての話となるのですが、アメリカの修士課程でCSでマスターとった私もあまりコーディングは得意でなく、クラスメートも一部のバリバリ職歴ある方を除きコード書ける人はそれほど多くはありませんでした。また、教授であってもコーディングがそれほど得意ではない方も見受けられました。彼らはアルゴリズムなどの知識は豊富ですが、コーディングは私より得意ではなかったので、ある意味それを知れたのはアメリカに留学した甲斐があったのかなと。同時に、アメリカでCS学ぶハードルもすごく下がってよかったですね。

思うにコーディング得意な人は企業に行って、コーディングが得意ではない人はアカデミアに進む傾向がありそうですね。 (あまりレべルの高くない私の大学の場合ですが。)ですから、ばりばりコーディング力をつけて同僚と切磋琢磨したいっていう方は大学で教育受けるより、企業入った方が数倍早く成長できるのではないかと思います。もちろん大学も自身の興味のある分野をとことん深掘りができて知的好奇心が満たされるというメリットもありますし、卒業後に米国にとどまりやすくなるということもあるのですが、このあたりはよく検討の上、ご自身の進路を決めるのがよろしいかなと。そもそもアカデミアはリサーチに重きを置いているのであって、コーディング力の向上とかはやっぱり独学や実務で身に着けるしかないのなと。

学歴あろうがなかろうが、(たとえ、修士・博士課程であったとしても)コーディングについては書けない人は書けないので(おそらく千三つ)、アメリカコンピュータサイエンス修士留学でバリバリのソフトウェアエンジニアになれる、人生一発逆転とお考えの方がいらっしゃったら、それはたぶん違いますのでよくよく考えてみた方がよろしいのかなと。
留学は人生の中でとても大きな選択ですし、学生さんに変な夢や期待を持たせて留学を煽るようなことはしたくないのでご自身の中でよくよく考えてみるのがよろしいかと思います。

アメリカの三流大学・大学院でCS学ぶよりは、旧帝大・東工大や大学院大学等で情報学学んだほうが無難

アメリカの三流大学・大学院でCS専攻するよりも旧帝大・東工大や大学院大学等で情報学学んだほうが学生の質及び教育の質は明らかに高いです。何より学費も格段に安くすみますからね。アメリカのトップレベルの大学・大学院でCS専攻できる(なおかつ全額給付奨学金もらえる)のであればもちろん留学すべきだとは思いますが、そうでなければ無理して留学する必要はないかと思います。

正直、人生長いので海外で働くチャンスなんていくらでもあると思いますから無理する必要はないですね。私もアメリカで就労できなければ間違いなく留学はペイしなかったでしょうから。

アメリカの宿題文化はよろしくないもの

コンピュータサイエンスの分野でさえ、どうしようもない宿題をたくさん課してくることから、自学したい私にとっては妨げでしかなかったです。特に母国の学部卒でアメリカの修士博士一貫課程とって民間企業に努めた経験のない外国人教授だとその傾向が強いのでこのあたりは注意が必要ですね。小さい頃から宿題漬けの環境に身を置いていたのなら違和感は感じないでしょうが、今振り返ってこの宿題が役に立っているかというと答えはノーですね笑

アメリカの学部・修士はインプット重視ですが、正直この方がいいかというと私は日本の方が(より自分の好きなことに邁進できるという意味で)よりよいのかなと思います。

アメリカのCS修士課程と企業勤めを比較するなら、企業勤めの方が正直経験値は上がる

夢を壊すような話をして大変申し訳ないのですが、アメリカのCS修士課程で学んだ内容はほぼ教科書で学べる内容+論文はほぼ独学だったので、あまり大学院で伸びた気はしないです。むしろ自分の論文テーマについては指導教官より自分の方が詳しくていろいろ大丈夫なのかなと思った次第ですね。

日本では博士課程に行く人はそれほど増えていないなんていうニュースがよく流れていて政府が最近博士課程の待遇改善に向けたテコ入れをしているみたいですが、正直修士課程より企業勤めしている方が経験値が上がっているような気がします。というのも、特にCS分野の場合、メガテック等の研究開発職につけるのであれば、大学よりも最先端の内容に触れられますからね。大学で博士課程とっていないとなかなかつけないポジションがあったり、自分の好きな研究に邁進できるっていう大学のメリットはあり、それはかけがえのないものだとは思いつつも、今は企業勤めの方が大きなインパクト与えられるのかなとも思ったりしますね。

企業勤めは学べること多いので一度は経験してみるといいかもです。

基本情報技術者試験は合格しておいた方がいい

コンピューターアーキテクチャーやオペレーティングシステムの基礎が凝縮されていて、留学後でも本当に役に立ちます。基礎情報技術者試験の作成元は偉大ですね。余裕があれば応用情報技術者試験もとっておければなと。日本のIT企業に就職した場合、企業によっては資格補助も出してもらえるところもありますからね。

大学院留学前に読んでおくといい教材

以下の教材はアメリカの大学・大学院で実際に使われている教材でいずれも名著です。私も授業で使っていました。大学院留学前に日本語版のものでかまいませんので読んでおくといいかと思います。(いずれも初学者にとっては難易度高めなのでまずは読み飛ばすだけでもよろしいかと。)

私の所属していた大学院のcomprehensive exam(大学によってはpre-limとも呼ばれる)は下記3つの科目でした。私の所属する大学院では論文コースとコースワークコースの2つがあり、コースワークコースの方はcomprehensive examをパスする必要があります。私は論文コースで修士論文書いたので本来はcomprehensive exam受ける必要ないのですが、department chairに(いつか博士に行くかもしれないから試しに受けさせてくれと)無理言ってcomprehensive examもお試しで受けさせてもらい、(正式な証明書は発行されていないけど)無事パスすることができたらしいです。オペレーティングシステム・アルゴリズムの問題は比較的平易でしたが、コンピュータアーキテクチャは鬼門だったのでしっかり事前に学習した方がよさげですね。

アルゴリズムとデータ構造

日本語版はこちら
英語版はこちら

アルゴリズムは私が最も苦手とする分野で試験の出来も散々でしたし今読み返しても理解できているとはいいがたいですが、こちらの本を読んでいけば世にある基本的なアルゴリズムは網羅されているかと思います。辞典のように調べものするときに使うのもよろしいかと。一回で全部覚えようとしても無理なので基本的なアルゴリズムを雰囲気つかんでいくような感じですね。

オペレーティングシステム

日本語版はこちら
英語版はこちら

通称『恐竜本』ですね。こちらはオペレーティングシステムの名著です。初学者でもとっつきやすいです。個人的にCPUスケジューリングや並列化等とても参考になりました。Banker’s algorithmやDining Philosopher Algorithm等様々なアルゴリズムもわかりやすく説明しています。

コンピューターアーキテクチャー

日本語版はこちら

英語版はこちら

日本語版はこちら

英語版はこちら

こちらはヘネシーさんとパターソンさんが執筆したコンピュータアーキテクチャーの名著です。低次元のアセンブリ言語やパラレリズムを学ぶことができますね。上の教科書がへネパタ本、下の教科書がパタヘネ本として知られています。ヘネパタ本はアセンブリ言語の記述ばかりで少々難易度高めなので、まずはパタヘネ本から読めばよろしいかと。

上記の教科書がだいたい読んでわかるようになれば、コンピュータサイエンス関連の大学院でもなんなくついていけるかなと。

大学院選びはできるだけいい大学かつ都市部かつ奨学金もらえるところが基本

私は学費の面を考慮してアメリカ南部の田舎の大学院に進学したのですが、不便で不便でしょうがありませんでした笑 ちょっと歩くと牧場があるレベルです笑 そもそも移動が困難ですし、南部英語もいまだに何言っているのかわかりません笑 都市部に遊びに行ったりすると英語が聞き取りやすくて驚きましたね。それと入学当初は卒業できるか不透明だったので意図的に少しレベルを下げたこともあり、教員の質、クラスメートの質も日本にいた頃と比較するとそれ程高くはありませんでした。ネットワーキングや就活もオンラインが中心となり、とても不便でしたね。ミートアップやキャリアフォーラムに参加する機会なども限られてしまいますので、田舎はおすすめしません。

都市部は一般的に言って家賃は高いですが、学生向けのシェアルーム等が整っていて、月1,000ドル以下で借りられるところも多いですのでちょっと生活費はかさむかもですが都市部に住んだ方がよろしいかと思います。物価については物流がよい分、都市部の方が田舎より安いです。金銭的な面から考えた場合、都市部に行った方がよさげですね。

月1,000ドル以下で済むのであれば東京で住むとの大差ないですからね。

奨学金は学費半免のをもらっていたのですが、生活がぐっと楽になりましたね。夏休み中にCPT使って有給のインターンできたりもする(インターンでも月20~30万円は優に稼げる)のでかなり生活は楽になりますし、学内でもRAとかの募集ありますのでそちらに利用しているのもよろしいかなと。(学内バイトはあまりにも給料が低かったので費用対効果が悪いと思い、私は行いませんでしたが。)

金銭的に余裕のない場合、有名校の奨学金なしオファーとちょっとランクの落ちる学校の奨学金ありのオファーですと、後者を取った方がよろしいのではと思います。金銭面は本当に精神的な負担が大きいですし、学費以外にも保険料や施設利用料など謎にお金がチャージされていくので、金銭的負担を下げるに越したことはないです。

オフィスアワーに教授のところ行くと仲良くなれる

ワンピースや日本のゲームがむちゃくちゃ好きみたいなので、今度日本のサブカルについても熱く語れればと思います。(あまり詳しくはないけれど)いずれにせよ、教授と親しくなれたのは非常によかったです。今度からは何か授業の質問があればガンガン聞きに行けますね笑

ということで今日はこんな感じです!文系大卒でもエンジニアとして(日本で)職歴積んでアメリカでCSの修士号とればエンジニアとして活躍できる可能性はありそうですね!

あわせてお読みください

海外就職にあたり参考となる書籍

こちらの書籍はまさに海外就職を目指すエンジニアのバイブルなのでぜひお読みください。就活、解雇、転職等が網羅的に記されています!正直、この本さえ買っておけば後は問題ないです!

Kindle Unlimitedで読みました。同志社大学文系学部⇒JAIST(北陸先端科学技術大学院大学)情報科学修士課程⇒NTT系列でネットワークエンジニア⇒アメリカに渡り現在はベイエリアでソフトウェアエンジニアとして働く酒井潤さんのキャリア本。表紙はちょっと情報詰め込みすぎで若干俗っぽくもある感じですが中身は割としっかりしていました。主にアメリカ生活でのメンタル面が参考になります。(ビザの話題だけではリーマンショック前後のご自身の体験記でしたので少し現代と異なる点はあるかもしれませんので鵜呑みにすることはおすすめいたしません。。)文系大卒にとって一番参考になるキャリア本はこの本ですね。
 
こちらの書籍はみためはシンプルですが、等身大の研究生活が書かれていて留学時の参考になりました。留学にかかった具体的な費用面なども非常に参考になりました。こちらの方の生活は私の留学生活とかぶる点も多々あって非常に共感できました。
アメリカの大学院進学に向けたtipは示せたかと思いますので、あとは優秀な後輩のみなさんにどんどんアメリカで活躍してほしいですね!(おそらくこの記事見た読者の方なら3年勉強すれば私なんかすぐに追い抜いちゃうのかなと。)