2021年3月24日をもって修士課程を修了しました.

研究室に所属して3年間色んなことがあった気がするので書き留めておきます.

所属前 見出しへのリンク

大学に入学してからプログラミングを始めたが結構楽しめていたので,「ソースコードを書くこと」について研究できれば良いなぁと漠然と考えていた. 阪大基礎工学部情報科学科では3回生の時に各研究室の先生に着いてゼミが行われるので,前期後期ともにソフトウェア工学の研究室のゼミに参加した. 前半は「リファクタリング」について,後半は「ソースコードメトリクス」についてのゼミで,前半にゼミを担当していた先生が何となく面白そうだったので,その研究室の配属を目標にした.

B4 見出しへのリンク

4月 見出しへのリンク

無事目標の研究室に配属. 配属後リファクタリング的なネタをやりたいと伝える. 論文を渡されてネタを探すように言われる. 当然研究室に入ったばかりで自分ですんなりネタを決めれるわけもなく, 指導教員の先生とミーティングをするも会話が噛み合わないことが多く, 険悪な雰囲気になることが多かった気がする (主観的だが,口調が若干きつかったと感じることが多かった). この頃から何となく「この先生とは一生分かり合えないんだろうなぁ」って思うようになり,苦手になる.

6月 見出しへのリンク

ネタが決まる(先生が決めてくれた)のでとりあえずやっていく. 相変わらずミーティングでは嚙み合わないことが多かった. まあB4のはじめの頃はみんなこんなもんだろうと思い込んで過ごす. 「研究室 辛い」などで検索するようになる. 自分の打たれ弱さを実感する.

7月 見出しへのリンク

院試休み. 研究室行かずに済んでラッキーくらいの気持ちでいた. 院試で研究室変えるのも手だったが負けた気分になるのでそのまま出した. 院試後はそのまま夏休みだったのでしばらく研究のことを忘れる.

10月 見出しへのリンク

研究が再開する. 少しずつ進めていくが,コミュニケーションも含めて上手くいかないことが圧倒的に多くなり,常に辛い状態になる. この頃から常に死にたいと思うようになる. バイク運転中に信号無視した車が突っ込んできたらなぁみたいなことをずっと考えていた. しばらくそんな感じ.

同時期に,たまたまTwitter上でPaizaの広告を見かける. プログラミング能力を客観的に評価してもらえることがそれまでほとんどなかったことと, 研究が辛くなった時のために就職も考えないとということでとりあえずやってみる. Paizaは解答解説がないので,プログラミング力を付けるのには不向きだと思い, AtCoderをやり始める.

1月 見出しへのリンク

論文を書き始める. 先生と添削のやり取りをするのだが,常に詰められてるように感じて辛くなる. 悪いことは続くもので,比較実験を行う必要があるのだが 既存研究が使ってたツールが上手く動かなくて全然実験が進まなくなる. 時間がないのでとりあえず不完全なまま卒論と研究会論文を書き上げる.

あと自分の実装を見てもらう機会があったのだが, あまりにもひどかったため研究が一段落着いたらツール作り直したほうが良いかもねって話になる. 今思えば草.

3月 見出しへのリンク

研究会発表をする.

ツール作り直しをする. 作り直しに際して,研究室の実装が得意な先輩に付きっ切りで見てもらいながらプログラミングを一から叩き込んでもらう. この指導,本当にありがたく,プログラミングの基礎的ながらも重要な要素をいくつも教えてもらった. これがなかったら実装力が重視されるウェブエンジニアを職業にするという選択肢は取れなかったと思う.

M1 見出しへのリンク

4月 見出しへのリンク

同期が増える. またこれまで必要な日にしか研究室に来てなかった同期と,授業の関係でほぼ毎日顔を合わせてコミュニケーションを取るようになった. 他人とコミュニケーションを取るのは本当に大切で,研究の辛さが和らいでいく感じがした.

研究の方は,自分のツールの作り直しはしたが既存ツールを動かすのがまだできてなかったので, それをずっとやっていた.

6月 見出しへのリンク

まだ既存ツールが動かない. 先生がしびれを切らして,7月末の国際会議に投稿することを求められる. 個人的にはここまで来てできなかったんだからこのネタは諦めて違うことをした方が有益な気はしていた (自分のネタに自信がなく,続けるのが辛かったいうのもあった).

7月 見出しへのリンク

未だに既存ツールが動かなかったので,比較対象を変えることでとりあえず原稿を書き上げて投稿.

8月 見出しへのリンク

インターンとかに行く. 3月の先輩の指導+競プロでLINEとかの有名会社のインターンに行けたのは結構大きかった.

9月 見出しへのリンク

何か国際会議に通る. かなり嬉しかったし,報われた気分になった. 先生との関係がマシになる.

10月 見出しへのリンク

国際会議に通ったのでこのネタは終わりにしたかったが,ボスに論文誌にするように求められる. また既存ツールを動かす地獄の日々が始まる. 同時並行で新ネタをやり始める.

12月 見出しへのリンク

国際会議発表. 既存ツールがまだ動かなかったので友達に相談する. 3日で解決してくれる. 新ネタは結果が出なくてやる意義を見失いかけてたので打ち切る.

1月 見出しへのリンク

比較実験をし,論文誌原稿を書き上げる. 新ネタは全然決まらず,
論文読む -> 先生と相談する -> 簡単に実装して実験してみる (-> 上手くいかない)
みたいな流れを延々とやり続ける. 何となくクローン以外のことをしたいと考えてた.

3月 見出しへのリンク

日本でもコロナが流行り始める. 研究室は4月から行けなくなるらしかったので,家の環境を整える. 家だと作業できない人間だったのでかなり不安だった. 論文を紙で読めなくなるのが割と痛かった.

4月 見出しへのリンク

家研究スタート. 新ネタを決めることから始める. 論文読んでる,何となく「CI × ソースコード解析」が流行ってそうだったので, 「CI × クローン管理」を思いつく. 結局クローンに帰って来る.

サーバサイドの実装になったので,割と楽しんでやれた. 家だったので効率は微妙だったが,すっと実験まで持って行けた気がする.

5月 見出しへのリンク

緊急事態宣言が明けたが,6月まで研究室に来てはいけないみたいなことを言われる. ガン無視して週1か2くらいのペースで研究室に行く. この頃から先生との関係が良好になり始める.

7月 見出しへのリンク

とりあえず国際会議に投げるように言われたので投げる. 結構余裕があった気がする.

8月 見出しへのリンク

国際会議に落ちると,このままだと一年間論文なしというカッコ悪い結果になるのでとりあえず研究会に投げることを決める.

9月 見出しへのリンク

追加の実験をする. 有名OSSにプルリクがマージされたりする. このペースだと11月中には全てのデータが出揃って修論まで暇になる予感がした. そしてそのままだと11月から修論まで新しいネタをやれって言われる予感がした. なので,先手を打って新ネタを始めることにした. 論文漁ってると結果は良い感じだけどアルゴリズムに改善の余地がありそうなクローン検出に関する研究が見つかったのでそれの改善をやってみることにする. やっといて結果が出なかったらカッコ悪いので,先生に秘密で実装と実験をやる.

国際会議には通ってた.

10月 見出しへのリンク

旧ネタのデータが出揃ったので論文誌を書くことになる. と同時に新ネタが良い結果が出始めたので先生と共有する.

11月 見出しへのリンク

1月に投げた論文誌が条件付き採録で帰って来る. 割とびっくりした. なのでこの時期は,

  • 卒論ネタの論文誌の回答書
  • 旧ネタの論文誌
  • 旧ネタの国際会議の発表準備
  • 新ネタの実験

を平行で回していくことになった. とりあえず旧ネタの論文誌を投げる.

12月 見出しへのリンク

国際会議発表. オンラインなので準備にあまり時間を割かずに済んだ.

回答書も書いた.

修論を考える時期になる. 卒論ネタを含めると3つのネタがあったので,修論に全部ぶち込むことにした.

新ネタも実験結果が着々と出始めたので,国際会議に投稿することにする.

1月 見出しへのリンク

新ネタの結果が思いのほか良かったので投稿先のランクを上げる. 修論は100ページ書けそうな予感がしたのでそこを目標にする.

旧ネタの論文誌が条件付き採録になって帰って来る. 締め切りが3月末までだったのと,再実験が必要でまとまった時間がいるので簡単なとこだけ先にやって放置する. 春休みも実験が確定する.

新ネタを研究会に出すことにしたので,論文が4並列になる.

2月 見出しへのリンク

修論発表. 修論発表が終わった後も色々あった. 企業mtgとか新ネタ論文投稿とか.

3月 見出しへのリンク

研究会発表. 旧ネタ再実験. 学位授与式の日に論文を再投稿する.

まとめ 見出しへのリンク

振り返ってみると,B4の時は辛かった一方でM2は一年間楽しんで研究できたなって印象です. が,アカデミアはもう十分かなって気持ちになりました. 旧ネタの論文誌が採録されると一応博士の要件を満たすらしいので,仕事がクビになると帰って来るかも知れません.

あとはやっぱりB4の3月のプログラミング指導は本当にありがたかったです. 今のところ人生のターニングポイントと言っても過言じゃないです.