日記はScrapboxに移動しました。

  • ある社会人学生の生活と意見(2020年版)

    このポストは「GMOペパボエンジニア Advent Calendar 2020」の3日目です。2日目は、けんちゃんくさんの「見積り物語「相対さんと絶対さん」 | けんちゃんくんさんのWeb日記」でした。


    技術そのものの話については、今年は#NervesJP Advent Calendar 2020あたりに書いていっていますので、そちらをご覧ください。Elixir/Nervesめちゃ面白い!!1

    それはそれとして、エンジニアとしての自分自身にとって今年一番大きなインパクトがあったできごとはなんといっても大学院に通い始めたということだったので、その話をします。

    これまでの大学院での活動

    北陸先端科学技術大学院大学先端科学技術研究科博士前期課程に入学しました」というポストに書いた通り、2020年4月から北陸先端科学技術大学院大学(以下、JAIST)の東京サテライトで、社会人学生をやっています。東京サテライトの所属ではあるものの、品川にあるキャンパスには2回しかいってないので、授業もゼミもほとんどオンラインという状況です。新型コロナウィルス感染拡大の第3波がきている(?)現状ですので、おそらくは2021年3月まで、1学年まるまるオンラインになりそうな気がしています。

    4月に入学してからこれまでは、講義を受講して単位を取得することが主な目的となる活動をしていました。必修込みで20数単位ぐらい(はっきりとは認識していない)を取る必要があります。また、情報科学の学位を取るには、当たり前ですが情報系の単位を多く取る必要があります(知識科学系というもう一方のコースの単位も、ある程度まで認定されます)。そのあたりの話は、JAIST東京サテライトの名人物である白山さんが「働きながら修士課程1年目を終えて – 怠惰を求めて勤勉に行き着く」というポストにいろいろと詳しく書いていらっしゃるので、そちらをご覧になるとよいかと思います。

    その他に、指導教員によってやり方が違うとは思いますが、わたくしの配属された研究室では、毎月1回のゼミがあります(また、研究室のSlackワークスペースもあり、そちらでも交流しています)。はじめの頃は特に話せることもなく、先輩方の進捗報告を聞いたりするぐらいでしたが、最近はM1のわたくしたちも、少しずつ何か話す感じになっている状況です。2020年3月には、修士論文の研究計画を出す必要があるため、先生や先輩方にあれこれと相談をしていきたいと思っているところです。

    2020年の社会人学生生活

    来年以降入学する方々には参考にはならないかもしれないですが、1年を通してオンラインで講義を受講できたのは、単位取得という観点からいうと、例年よりだいぶ楽なのではないかと思います。まず、そもそも通学しなくていいのが楽ですね。また、情報系の授業だと期末試験を失敗したらそれ一発で単位を落とすということも多かったようですが、試験の代わりに宿題やレポートを課されることも多く、一発勝負よりはだいぶ楽になりました(宿題やレポートは、それはそれで分量的には大変ではありますが)。

    社会人学生ということで、仕事と学業との兼ね合いをどうするかが課題になるのは間違いありません。とはいえ、できることはほとんどありません。仕事は仕事で普通にやってますし、それに加えて学業分の時間が必要になるので、可処分時間はだいぶ減りました。特に、1年次はとにかく単位を取れるだけ取るという方針でやっているので、毎週土日は朝から夕方までまるまる授業という日々が続きます。また、前述の通り宿題やレポートも多く、それらにはかなり時間を使っていると思います(平日夜の時間に、週に5〜8時間ぐらいということもある)。まあ、がんばるしかないですね。

    とはいえ、前述の通り授業がオンラインなので、やはり例年よりはだいぶ楽してるんじゃないかと思います。品川まで通うとなると、わたくしの場合、出かける準備なども含めれば往復で2時間以上はかかります。授業は朝9時20分からですので、毎週土日は8時前には起きなければならなかったでしょう。朝に弱いわたくしにとっては、かなりの苦行だったろうと思います。個人的にはやはりこの点が一番ポイントで、その意味では思いのほか楽だなという感想を持っています。いまと同じぐらい宿題とレポートがあってさらに通学も必要だったとしたら、かなりきつかったんじゃないかなあ。

    本当に大変なのは「研究」

    M1ということもあり単位取得にいっぱいいっぱいなので、これまでは「勉強」の話ばかり書いてきましたが、わたくしが大学院に入ったのは「研究」をするためです。とはいえ「絶対にこれがやりたい!」「この研究で世界を変えるんだ!」みたいな明確な研究テーマやモチベーションを持っていたわけではありませんでした。自分の力でやりたいテーマを見出し、それを研究としての一定の水準における成果として完成させる方法論と実績を作りたい、そのことで自分を次のレベルに成長させたいという目的を持っています。

    そういう観点からすると、上述の「勉強」がいかに大変かといっても、「研究」に比べるとそんなにたいした問題ではありません。「勉強」はゴールが明確ですし、時間をかけさえすれば終わりますし、かかる時間もある程度は予測可能です(といいつつ、このポストを書く直前にも宿題をやっていましたし、期限に追われていますが……)。一方で「研究」は、そもそも何をやればいいのかというところからしてわかりません。また、どのレベルの内容であれば研究たり得るのかというのも難しいところです。単にやりたいことをやればいいというわけでもないですし(そういうやつが修士課程に行くのはどうかと思われるかも知れませんが、その批判は甘受しましょう)。

    わたくしの場合は、会社でCTOと研究所の所長をやっていることもあって、会社や研究所全体としてこういうことをやっていきたいというコンセプトメイキングはやってきましたし、作りたい世界観もあったりはします。ただ、それを修士課程の研究とするには、限られた時間で実現可能な、適切な範囲にフォーカスする必要があります。また、いろいろな考えがありセキュリティ(に近い内容)についてやりたいというのもあって、会社の研究所のコンセプトと修士での研究とセキュリティ関連という特定の分野との間で、どういうことができるかを決める必要もあるという事情がありました。

    そんな中で、それでもあれこれと修士課程を終了するにふさわしいと思われる研究テーマを、アイディアをあれこれと出したりしながら考えていました。それで、ある日のゼミの際にひとつアイディアを持っていって簡単に紹介したところ、「もっと問題を掘り下げるべき」だという助言を先生からいただきました。その後、ゼミの初めての懇親会があり「研究というのは世界観を持っているべきだ」という話もいただきました。そういう観点からいうと、自分の持っていったアイディアは、たしかに単にできることをやろうとしているだけで、世界観、つまりこうありたい、こうあるべきだという自分のアイディアや思想の表現にはまったくなっていませんでした。

    それからまた、研究テーマについて思いあぐねる日々が続きました。そんな中で、現状がこんな感じというのを、以下のツイートのスレッドで書いたりもしています。これはこれで、後に「あの時は大変だったけど乗り越えたなあ」と振り返られることを願って、記録として書いておいたものです。

    そんなことを書いているいまも、なんとなくやりたいことが見えてきたとはいえ、それが果たして修論としての研究にふさわしい「世界観」を持っているのか、そしてそれ以前に、そもそも自分にとって実現可能なのかどうかすらもわからない状況です。そのようなもやもやした考えを、浮かべては消すことを数ヶ月繰り返しているのは、かなりストレスフルな状況であるとは思います。「他の人々はどのようにして研究テーマを決めているのだろうか?」ということもよく思います。しかし、研究所の皆さんを見ていると、それぞれに研究テーマをこれと決めるまでには、かなり苦労をしています。そういうものなのでしょう。

    なんだか、やたらネガティブな感じに読めるかもしれませんが、これがわたくしが大学院に求めていたことなのです。自分が本当にやりたいことを見つめ、しかし単に自分の興味関心だけでなく、アカデミズムにおける基準に従って自己の成果を判定し、さらには社会にとって役立つような新しい何かを生み出すこと。わたくしは、自らが何か成し遂げたいという強いモチベーションみたいなものを持っていません。それでも生きる上での課題の解決はできますし、ひとの役に立つこともたまにはあるでしょう。しかし、この先にもう一歩踏み込んで進むためには、そのような自分を変えていかなければならない。そう思って取り組んでいるところです。

    おわりに

    今年の4月に入ったJAISTでの社会人学生としての生活と、その中で感じたこと、いままさに大きな課題になっていることについて述べてみました。そして、この課題を乗り越えたあとに、さらに研究そのもののプロセスにおいてまた壁にぶち当たることが目に見えています。それもまた自分が望んだこと。楽しんでやっていきたいと思います。


    4日目はminneのEngineering LeadでAndroidエンジニアのまたくによる「minne Android アプリ開発基盤における改善」です。続けてお楽しみください。

  • 完璧な勉強態勢を確立してしまった……!分割キーボードと書見台の相性がめちゃいい。

    完璧な勉強態勢を確立してしまった……!分割キーボードと書見台の相性がめちゃいい。

    最近、肩こり・首こりが酷過ぎるので一念発起して、できる限りの対策を試みているところです。その一貫として、数週間前にMistel BAROCCO MD770という分割キーボードを購入し、使ってみているところです。最初はなかなか慣れなくてもどかしかったのですが、先日HHKBに戻してみたところ、たちまち肩の張りを感じ始めたりして、実はかなり効果が出ているようです。

    ところで、最近『問題解決力を鍛える!アルゴリズムとデータ構造』という本が刊行されたのですが、Kindle版が出るまでにはしばらく時間がかかりそうということで、紙の本を買いました。読むだけなら普通に読めばいいのですが(しかし、紙の本はごろ寝しながら読みにくいのが難点ですね)、この手の問題を解いていく必要のある本は、パソコンでコードを書く時に参照するために開いた状態を保っておく必要があるため、なんとかしたいところです。

    以前「actto BST-02 ブックスタンド」という書見台を買ったのですが、リモートワークが始まってから机の上にあれこれと物を設置するようになってしまい、外部ディスプレイも使うようになったのでただでさえ狭い机には入りきらなくなり、使わなくなってしまいました。しかし、上記したようにいまは分割キーボードを使っているので、キーボードの間が空いているし、紙の本を参照しながらパソコンに向き合う必要も出てきました。

    そこで分割キーボードの間に書見台を設置してみたところ、以下にツイートした通り、完璧な勉強態勢が確立してしまいました。

    通常、パソコンを使いながら書見台を設置する場合、ノートパソコンやキーボードの脇に置くことに置くことになります。そうすると、画面への目線と書見台上の本への目線が異なることになるので、首に負担がかかることになります。今回実施した方式だと、体の前方向の空白をうまく利用することで書見台とディスプレイを一直線に配置することができ、目線を左右にふる必要がないので、首への負担が軽減できそうです。

    上述の画像では、本に書かれた問題文をパソコンに入力しつつ、コードを書いているという状況なのですが、本も画面も見やすくてとてもいい感じ。また、体の向きは常にまっすぐだし、分割キーボードのご利益もあり、常に胸が開かれた状態なので肩こりも予防できます。勉強に集中しつつ、体の健康にも害の少ない態勢を作ることができました。画像右端に見えるアンメルツも、もうそろそろお役御免となりそうです。

    ちなみに、手前の白い板のようなものは、Apple Magic Trackpad 2です。以前はKensingtonのワイヤレストラックボールを使っていて、分割キーボードを使い始めてからもしばらくは、キーボードの間において使っていたのですが、長く使っていると手首がひねられた状態が続くので腱鞘炎みたいになってしまって困ったため、Magic Trackpad 2に変えたところ、至極快調です。また、キーボードの手前にあるのはFILCOの木製リストレストなのですが、これがあるのとないのとでは大違いというぐらいタイピングが快適になりました。

    以上の工夫により、狭い机上を効率よく活用しながら、勉強のしやすい環境を作ることができました。教科書には、紙の本だけでなくiPadでKindle本を参照することもよくあるわけですが、書見台にiPadをおけば、その場合でも同じような態勢を実現できて便利です(特に技術書のKindle版はリフローでなかったりPDFだったりすることが多いので、iPadで閲覧する方がいい場合が多いですね)。これで勉強し放題だ!アルゴリズムが苦手なのを、今度こそ克服するぞ……!と勢い込んでいるところです。