On Hacking

情報系大学院への入学を目指すWebエンジニアの日記

「来年4月から情報系大学院に入ること」を目標に決めました

タイトル通り「来年4月から情報系の大学院に入ること」を目標に決めました。個人的なメモがてら、考えた事や、今後必要となる事柄を簡単にリストアップします。

入学先としては、北陸先端科学技術大学院大学 (JAIST) を第一候補として考えています。JAISTについては、以下のブログ記事で知りました。東京キャンパスならば、働きながらでも受講可能であり、かつ国立の大学院大学で、各所での卒業生の評価も高い点が、JAISTに着目している主な理由です。

 入学にあたっては、「配属先の研究室を決定し、研究テーマを考案すること (入学選考は、研究テーマに関する小論文・プレゼン・質疑応答とのこと)」ならびに「基礎的な学力を身に着けること」の、主に2点が重要となります。

配属先の研究室に関しては、ここ一ヶ月ほど調査していて、「ここの研究室のテーマが面白そう」というラボを、ピックアップ済です (今後関心が変わる可能性も十分にありますが) 。入学選考までに、該当分野の論文を読み、更にゆくゆくは研究室の担当教官にコンタクトを取り、研究テーマを策定できればと考えています。

また、私は情報系の学部出身では無く、一応理系 (農学系) ではあれど、理工系の素養には乏しいため、数学や基礎的なコンピュータサイエンスの学び直しが必須となるでしょう。学び直しが必要となるであろう分野を、以下にリストアップします。

数学
機械工学・計算機科学

上記の分野を、一ヶ月に一つ程度のペースで習得していければと考えています。

 

以上、私の一年程度のスパンでの目標に関して綴りました。個人的なメモのような内容でしたが、「大学院に入りたい」とは思いつつ、日々の仕事や雑事に忙殺されている間に先延ばしになってしまうのは避けたいので、こうしてブログ記事として衆目に晒すこととしました。まずは、線形代数の勉強から、やっていきます。

 

f:id:Ketone:20200223150004j:plain

 

【エンジニアに転職して2ヵ月】私がDevOpsを主軸に据えることを決意した理由

異業種からエンジニアに転職して、およそ2ヶ月半になる。勉強したいこと、はたまた勉強しなければならないことが、たくさんある。そんな中で、この三連休は、時間が豊富にあったが故に、「では何の勉強に時間を使えば良いのか」ということに悩んだ。そして、最終的には「当分はDevOps系の知識・スキルの勉強に注力していこう」という考えに至った。この記事では、私自身の思考の整理も兼ねて、私が何故このような結論に辿り着いたのかを述べる。

理由① 社内での専門性を確立するため

私は現在、いわゆる"Web系自社開発企業"に勤めている。私の会社では、フロントエンドエンジニア / サーバーサイドエンジニア / インフラエンジニアという区分が存在しない。すべてのエンジニアが、すべての領域を担当するような風潮がある。そのため、私も入社して2ヵ月半程度ながら、Railsでのサーバーサイド開発から、Angularでのフロントエンド開発まで、すでに幅広く担当している。

このスタイルには、幅広いスキル・経験が得られるというメリットの反面、「器用貧乏に陥る」というリスクも存在する。特に私のように0からエンジニアに転向した人間にとっては、尚更である。そのため、早い段階で「◯◯さんは△△に強いから、その方面のタスクを任せよう」と言って頂けるような、自分の専門性を確立することが、エンジニアとして効率的に成長する上で、不可欠だと考えている。

そのため、入社2ヵ月半という比較的早期の段階で、「自分はDevOpsを専門にしていきたい」という事を周囲に示していくことが、自他にとって最適なのではないかと考えた。

理由② DevOpsエンジニアが会社で強く求められているため

エンジニア系YouTuberのKENTAさんが、以下のQiitaの記事中で、DevOpsを「サービスを安定稼働させたまま、ユーザからのフィードバックを取り入れた新機能や改善を、迅速にサービスに反映するためのあらゆる取り組みや文化のこと」と定義されている。

この記事を読み「これはまさに、私の会社に必要とされている取り組み・文化である」と気付かされた。エンジニアになって2ヵ月程度の私が言うのもおこがましいが、私が開発に携わっている自社のプロダクトにも、DevOps的な観点での改善点は多い。逆に言えば、DevOpsの知識・スキルさえ手にすれば、いくらでも改善の余地がある。

後述するように、私は「サービスを作ること」よりも「問題を解決すること」の方が性に合っている。だから、問題解決のキーとなるDevOpsのスキルセットを習得することに、大きな魅力を感じたのである。

理由③ DevOps系の業務が自分の興味・特性に合っているため

実際にエンジニアとして2ヵ月半働いてみて実感したのは、私はクリエイター (創ることにモチベーションを感じる人) というよりも、むしろプロブレムソルバー (問題を解決することにモチベーションを感じる人) だということだ。

エンジニアには、アプリやサービスを開発することが大好きな方が多いだろう。だが、私自身は、何かモノやサービスを創ることには、それほどモチベーションを感じない。プライベートで何かプロダクトを開発したい、という気持ちにはならない。むしろ、例えばAtCoderのように、ある問題に対して、自分の知識と思考によって解決策を導出することに、より面白みを感じる。

だから、「何か新しいアイデアやサービスを生み出すこと」よりも、「既存の問題や無駄を解決すること」を仕事にしたいと思い至った。この私自身の特性と、DevOpsエンジニアの業務内容はマッチしていると考えている。