この記事は闇の魔術に対する防衛術7日目の記事です。
Qiitaではご無沙汰しております。青ポス(@bluepost125)です。年々闇の魔術のキレが落ちていましたが、今年は飛び切りのネタが入荷したので書いておきます。
この記事を特に読んでほしい人
- B4や修士で研究に行き詰っている人
- 修士を修了して博士に行くか就職するか迷っている人
経緯
5年ほど前にアカデミアに囚われていた人です。この後囚われの身から解放されますが、実はこの度再びアカデミアに戻ることになったので、体験談を書いておきます。
過去作:若さゆえの過ちでかなり独りよがりな文書ですが、戒めとして残しておきます。
前編:懺悔と教訓
学生時代、自分は典型的なモヒカンでした。
他者へのリスペクトがまるでなく、使っている技術がイケてるかイケていないかでしか判断できていませんでした。その精神とは裏腹に実力はまるで不足していて、「イケてる」と言われるツールをかじってはやめ、かじってはやめを繰り返していました。そしてうまくいかないことを全部研究室のせいにしてこのような文書を書いたりしていたわけです。
具体的には下記です。
-
CUIはイケている、GUIは情弱インターフェース
(と言って、研究室にカレイダグラフのライセンスがあるのに、グラフの目盛りの大きさを変えるだけでEmacsを開いてウンウンうなる) -
Pythonはイケてるので、任意のインターフェースはPythonにも開かれているべき
(と言って用意されているシェルコマンドをsubprocessで叩くだけのライブラリを誰に頼まれたでもないのに作る) -
GnuplotよりMatplotlibの方がイケている
(と研究そっちのけで機能的には今動いているコードを置き換えるだけのコードを1週間かけて作る) -
最近の言語はオブジェクト指向で書かないと雑魚
(しかし使い方がよくわからないのにOOPにしようとするので、無駄にきれいにするために1週間が1か月になる) -
コードの管理は当然Git
(でもmaster commitして、revertしようとしてコンフリクトが起きて、それにイラついてgit reset --hardしたところで嫌になってやめる) -
Officeなんてプロプライエタリなソフトはアカデミアにふさわしくない、理系ならTeXで書いてなんぼ
(枚数制限が厳しくレイアウトを詰め込まないといけないスライドもbeamerで作ろうとする。しかも1か月くらいかけて)
その結果生まれた魔物が「アカデミアの囚人」だったわけです。確かに、研究室の指導体制が十分ではなかったことは今考えても否めません。しかしうまくいかないことのすべてがそれに由来するわけでは決してありません。
教訓
-
作業によって本当に満たすべき要件を意識すること
上述の状況に問題意識を持ってリファクタリングやツールの導入など改善の努力をしても、それは努力したとみなされない
のは当たり前。だってリファクタリングやツールの研究をする研究室ではないから。目的意識がちゃんと共有されていない。作業をするときは本当に優先されるべき目標は何かを考える。 -
他者へのリスペクトを払うこと
仮に今あるシステムがイケてなかったとしても、それ相応の理由があるかもしれない。本当に技術不足であったとしても、作った人を責めても何も変わらないし、ゼロよりは動くものがある方がはるかにマシなので、作った人の仕事も認められるべき。過去の自分も今は別人なのでリスペクトを払う対象である。 -
エンドユーザー目線でモノづくりをすること
「やりたいこと」「作りたいこと」を第一にしてろくに検討もせずに突っ走ることは自由研究でやるべきで、本業としてやるべきではない。仮に他のメンバーが習得していない技術を使ったツールを作ったとしても、作っただけだと誰も保守できないし使い勝手がいいとは限らないので使われなくなる。 -
理解してもらうために自分も労力を払うこと
「それくらいわかってくれや」と言っていいのは相手が知ったかぶりをしてたときだけ。先生の時間も有限だし、自分は特別な学生でもない。
後編:不死鳥の博士学生
アカデミアから企業に異世界転生して早4年半となる今年、不死鳥のごとく博士学生として大学院に戻ってきました。
当時の研究室の悪い部分は半分くらい変わっていて、残りを立て直しているところです。
やってること
現在進行中です。
Gitを導入・布教した
バージョン管理がなかったのは確かに問題です。そこでGitを導入しました。嘘だろって思うけど、今までなかったんです。
研究室でGitをちゃんとお作法も含めて理解している人がいなかったので、セミナーを主宰して布教しています。
リファクタした
昔は「この書き方よくないけど、直るかどうかわからないし研究に支障が出ても困るし」というところは放置していましたが、これを機に一つ一つ潰していくことにしました。
具体的にやったのは下記です。
- フォーマッタを阻害するGoTo文を一掃した
- フォーマッタをかけた
まとめ
正直手が回っていない部分も多いですが、なんとか頑張ってます。詳しい生き様はnoteやブログに書いてるので関心があれば見てください。