私がどのようにして、ソフトウェア開発とオープンソースへの情熱をパートタイムで博士号を取得することで満たしたか

Investigating Elastic Cloud-Based RDF Processing

目次

この記事は何?

仲間の開発者を呼んでコードやスタックトレースを見せると、彼らは驚嘆して「これは何だ?」って叫ぶのですが、私はその瞬間が好きです。この質問の前後にあまり良くない言葉が発せられることもありますが、そういう場合は、自分のブログに引用するのを控えるようにしています。さて、この記事は何なのでしょう。なぜ、私はこれを書き、あなたは人生の数分を費やしてそれを読んでいるのでしょうか?自分の余暇にプログラミングに取り組む多くの熱心な開発者やエンジニアのように、私はソフトウェア開発や新しいテクノロジに情熱を注いでいます。幸いなことに、次のような言葉があります。

プログラミングは、比較的独特な分野のように思えます。というのも、多くの人にとって、仕事でもあり、趣味でもあるからです。だから、余暇にプログラミングして楽しむのです。Sara Miles on StackExchange


注釈:これは何だ、博士号の記事か?

この前置きを面白いと思わない人は、おそらくソフトウェア開発者ではないでしょう。話を元に戻しましょう。ソフトウェア開発や新しいテクノロジに対する私の情熱を満たすため、また、より優れた開発者、研究者、そしてテクニカルライターになるために、私はフルタイムで働きながら、2010年にレディング大学で、自費でパートタイムの博士号を取得する一歩を踏み出しました。なぜ、パートタイムなのか?私は働かなければならなかったからです。フルタイムで博士号を取得するために3年間も仕事から離れるという選択肢はありませんでした。

この短い記事で、私の博士号取得の道のりに関する経験、課題、成果の一部を伝えていきます。他の事をしながらパートタイムで修士号や博士号を取得する人のために、この記事が、何かしら役に立ったり、動機づけや刺激になったりすることを願っています。博士号取得は簡単ではありませんし、道のりには困難がないわけではありませんが、あなたが研究しようとしていることに情熱を持っていれば、それは可能ですし、楽しいことです。注意してほしいのは、私の経験はイギリスの博士課程に基づいており、パートタイムで博士号を取得するのが難しい国では別の道があるかもしれません。この記事は、いろいろな事を振り返るための私の日記です。時間に余裕ができたので、定期的にページを更新していくつもりです。ですから、また見に来てください。

注意

この記事は、体系化されていて簡単なように思えますが、博士号への道のりは体系化されておらず簡単ではありません。それは起伏の激しい道のりです。なので、この記事は、パートタイムやフルタイムで博士号を取得するという点において、取得を容易にする手がかりを与えるわけではありません。特にパートタイムの場合は、取得は容易ではありません。他の事をしながら博士号の取得を成し遂げるためには、気力、決意、忍耐、持久力、根気、時間管理が必要になります。私生活で諦めなければならないことも幾つかあります。また”自分で”会社を起こすことに向かない人がいるように、パートタイムで博士号を取得することに向かない人もいます。道のりは険しく、2年後にくじけそうになりました。しかし、踏みとどまり頑張り続けました。コンピュータの前に長時間、時には14時間を超えて座り続けた結果、いくつかの健康問題を抱えてしまいました。その上、指導教官を1度変更しなければならず、つらい経験をしました。テレビを見るのを我慢し、人付き合いを必要最小限まで減らしました。私には、フルタイムで博士号を取得し、私の取り組みに理解を示し、応援してくれる妻がいました。暇な週末はほとんどありませんでした。さらに、IT分野のコンサルタントとして自営していたので、研究に集中するために、短期の契約を引き受けたり、契約と契約の間に休みをとったりを自分で決めることができました。万が一に備えて、このBMW X5を購入せずに貯金をしたことも、必要な時期に休みを取ることができた一助となりました。更にプレッシャーは私の力を最大限に引き出しました。学部生だった時から、勉強と仕事を両立することには慣れていたので、このような経験がこの道のりに大いに役立ちました。誰にでもできる法則や一般論を述べているのではなく、どちらかと言えば私の経験をお話しています。ですから、注意して読み進めてください。あなたの進む道とは異なるでしょう。一人一人違うということを忘れないでください。

パートタイムで博士号を取得する理由

私はフルタイムで働いており、2人の子持ちでした(3人目が生まれたのは、行動を起こした後でした)。この状況で、いったいどうして博士号を取得しようと思ったのでしょう?

長年の夢をかなえる

第1には、長年の夢をかなえるためです。小さい頃から、父と同じ道を歩み博士号を取得することが私の人生の目標でした。私は父が博士号の研究をしている最中に生まれました。そして、私が成長すると、父は実験や、当時、論文を書き上げるのがどれほど困難だったかということを、私たちに語っていたものです。1970年代半ばを思い浮かべてください。タイプライタで書いていたので、文献の引用は悪夢でした。Tipp-Exのような修正用具や大量の紙が至る所に散らかっていました。一度、父は論文の下書きをバスの中に置き忘れ、災難に見舞われたことがありました。幸いにも、論文は無事に大学に届けられました。豊かさに感謝して、デジタル時代の恩恵にあずかりましょう!

より良いエンジニア、研究者になる

第2に、パートタイムで修士号を取得した経験(これも似たような状況で取得しました)から、私は多くのことを学び、より良いソフトウェア開発者になり、完全に機能するSaaSの製品を開発したことに気付いたからです。修士課程の学位論文では新しいテクノロジを探求できました。これは仕事で大いに役立っていますし、他の人と知識をシェアすることもできました。修士課程の勉強を、仕事やキャリアとなんとか両立させた結果、学んだテクノロジや得た経験のおかげで、職場の首席コンサルタントに昇格したのです。テクノロジやソフトウェア開発、オープンソースに情熱を持っている方なら、博士号取得によって、最先端を知るために科学的方法論をフォローし、より広いコミュニティに貢献することができるのです。私は博士号取得を目指すことによって探求と学びを続けようと思いました。私に必要だったのは、自律の精神と優れた時間管理のスキルだけでした。それに、全過程にわたって私を導いてくれた素晴らしい指導教官もいました。私はプレッシャーを楽しみ、仕事と家族、研究への参加の間で時間を有効利用することができました。私はすでに、技術的により良い人材になったように感じていますし博士号取得への道のりの利点も感じています。その利点を、以下のようにまとめました。

  • 自分の仕事に誇りを持って、独自の貢献ができる。
  • 方法論的あるいは科学的な方法で、複雑な技術的問題に取り組める。
  • 複雑な技術のトピックを効率的に調べることができ、新しい解決法を提案できる。
  • テクニカルライティングスキルがかなり改善した。9万語の論文を書いた後には、特に顕著だった。
  • 他人の仕事を建設的に評価したり批評したりできる。
  • 他人に対して、自分のアプローチの仕方をはっきりと述べたり説明するのに苦労しない。
  • 自分の仕事に関する他人からの批判を受け入れ、改善するためにそれを利用できる。
  • 多くのテクノロジを学び、オープンソースのエコシステムをより熟知し、情熱を持つようになった。

これはWin-Winの関係でした。私は新しいテクノロジについて読み、論文誌を評価し、他の人が何をしているかを理解して違いを見つけようと努力しました。出版物や論文誌を読むだけでなく、コードを書いたりプロトタイプを開発したりするのも非常に楽しく、いくつもの週末を費やしました。最も難しくてつらいのはライティングでした。非常にたくさん書かなくてはならず、でもそれはやらなくてはいけないことでした。ある教授が以前私に言ったように「博士号取得とは読むこと、書くこと」なのです。

博士号取得への道のり

下に挙げたのは、私が博士号を取得するまでの鍵となる出来事を簡単にまとめた年表です。私は仕事を続けながらパートタイムで勉強していたので、大学は私に机やコンピュータなどを与える必要はありませんでした。これは、私が最低限の授業料しか払っていなかったということになります。その上、私の研究に物理的なハードウェアは必要ありませんでした。私の実験のためのコンピュータラボは、Googleのデータセンタ(Google Cloud Platform)の、クラウドのどこかにあったからです。だからと言って、私が大学に行かずにどこかのウサギの穴で研究をしていたわけではありません。私は大学から(歩いて)10分ほどのところに住んでいて、指導教官には直接、あるいはSkype経由でほぼ毎週会っていました。私は多くの大学院生向けトレーニングコース(文献レビュー、論文の書き方など)に出席しましたし、大学で行われた他のカンファレンスやセミナーなどにも出席しました。

日付 出来事 論文
2010年10月17日 博士課程の研究計画が受理される pdficon
2012年9月7日~2013年9月7日 1年間、自分の研究を停止。家族(息子が誕生)と仕事のため、あまり研究ができなかった
2014年2月17日 修士/博士進級レポート提出 pdficon
2015年3月26日 School of Systems Engineeringの博士課程研究者オブ・ザ・イヤー2015候補となる
2016年4月11日 論文を受理される
完了予定 口述試験
完了予定 修了

パートタイムの課題と利点

他の研究生と同様に、大学は、私の研究分野の説明、パートタイムで研究を行う上での課題や利点、そして他のパートタイムで博士号を取得しようとしている人に役立つと思われるアドバイスをまとめた、簡単な概要を提出するよう求めてきました。概要には、以下の項目についてまとめました。

  • 研究を始めてからの最大のチャレンジ
  • 5年後、どうなっていたいか
  • パートタイムを選んだ理由
  • パートタイムで博士号を取得する上での課題と利点

これらの私の回答は、PDF版にてご確認いただくことができます。それでは、博士号を取得するまでの主な道のりを見ていきましょう。

博士号の研究計画

私の研究内容は、2つの分野を探求することでした。セマンティックWebとクラウド・コンピューティングです。簡単に言うと、クラウド・コンピューティングを使う際の、いくつかのセマンティックWebの問題を解決したかったのです。クラウド・コンピューティングには、エラスティック性や従量課金制といった固有の特性があり、私はこれらを探求したいと思っていました。2010年に書いた研究計画をご覧いただくと、いくつかの記述については、最終論文に含めなかったことがお分かりいただけるでしょう。例えば、当初はOWL(Webオントロジ言語)について探求するつもりでしたが、最終的にはRDF(Resource Description Framework)について探求しています。また、この時点でのタイトルは『Scalable Distributed OWL Reasoning for the Semantic Web(セマンティックWeb向け スケーラブルな分散OWLリーズニング)』でした。

修士/博士進級レポート

修士から博士になるには進級レポートを書く必要がありました。レポートは通常、フルタイムの場合であれば1年目が終了した後、パートタイムの場合は、2年目が終了した後に書きます。私のレポートはこちらからご覧いただけますが、タイトルが『Investigating Elastic Cloud Based Reasoning for the Semantic Web(セマンティックWeb向け Elastic Cloudベースのリーズニングの調査)』に変更されていることにお気づきいただけるでしょうか。加えて、ここにあるいくつかの記述については最終論文に含めていません。例えば、クリーネの再帰定理を使ったクラウド仮想マシンの自動再生の描写です!なぜ含めなかったのか?恐らく、定理を用いたウィルスのモデル化から着想を得たものの、それぞれの仮想マシンが単独で動作したり、それ自身を複製したりすることがないので、自主的に自己管理された仮想マシンの一群をモデル化するには、群知能や同等のものの方が適していたからでしょう。しかしながら、これは注意をそらすもの(行き詰まり)であって、私が研究したいことではありませんでした。その上、分散ハッシュテーブルAmazon DynamoDBのようなNoSQLデータベースで使われている、ワークロードの分散向けコンシステント・ハッシュ法を使っています。これは、ビンパッキング・アルゴリズムに置き換えました。先に言ったように、これは探求への旅であって、私はどんな制約も望んでいませんでした。ですから、色々なことに目を向け、たくさんのことを学んでいったのです。

最終論文

私が論文を提出したのは、2016年4月11日、月曜日です。最終的にタイトルは『Investigating Elastic Cloud Based RDF Processing(Elastic CloudベースのRDFプロセスの調査)』としました。口述試験が終了し、すべてがうまくいったら、最終論文のリンクと共に、このセクションを更新することにします。私の論文には、Googleという単語が147回出てくるのですが、言葉では言い表せないくらい、Googleの技術に夢中になりました!多くのGoogleのツール(ツールの項目でこれらについては記述しています)や技術を活用させていただいたことへの、私ができるせめてもの感謝は、論文に以下を記述することでした

私は、Googleの素晴らしい技術、デベロッパ・サポート、そして参照文献に感謝を述べたいと思います。この研究評価を完了するために私が依頼した割当制限に対して、Googleのサポートチームは、親切そして迅速に対応してくれました。Google Cloud Platformを使用する制限を解除していただき感謝いたします。

ツールと書籍

私が活用した役に立つツールをここにまとめます。特に私が役立つと感じたのは、Googleのツールです。またこの5年間で、私の机の隅には、少しずつ書籍が積まれていくことになったのですが、これらも私の研究に役立ちました。『Foundations of Sematic Web Technologies(セマンティックWebテクノロジ入門)』から始まり、さらに複数の書籍が積まれていき、最終的には以下の写真のようになりました。これらに加えて、いくつかの必読書である電子ブックや約144の論文誌、そして会議論文などが、私のMendeleyのライブラリに保存されています。ちなみに、これらいくつかの書籍は、この5年間使用されずにほこりをかぶっています。必要な時が来るだろうと思っていたのですが、使用する機会はありませんでした!

books
以下が私の研究を遂行させ、論文を書く上で図表や文章の質を高めてくれるのに役立った無料のツールです。

目的 詳細 ツール/書籍
入門 どのように始めたらいいか、博士号とはどんなものか、指導教官の見つけ方など。必読書。 How To Get A Phd: A Handbook For Students And Their Supervisors(博士号を取得するには:研究生と指導教官のためのハンドブック)』
研究方法論 博士号は簡単に取得できるものではありません。適切な科学的方法論を用いる必要があります。それに、博士号は技術レポートとは異なります。必読書。 Design Science Research Methods and Patterns: Innovating Information and Communication Technology(設計科学研究の方法論とパターン:情報通信技術の革新』
研究論文の運用 関連論文の管理、検索、照会ツールです。引用文を様々な形式にエクスポートすることができます。 Mendeley Desktop
研究論文の検索 関連論文のアドバンストサーチができるツール。 Google Scholar
文書管理 博士号関連の文書を安全に管理できます。ハードディスクが壊れても嘆くことはありません。 Google Drive
記事 新聞や論文誌の記事、論文を書くのに使えます。私は技術者として、プレーンテキストやワードよりも、LaTexを選びました。 TeXShop
図表 私は多くの図表を書かなければいけませんでした。このツールを使って、どこにいても簡単にそれらを見たり、修正したりすることができました。 Google Draw
実験 私の研究の実験はこのクラウドを使って行いました。私がなぜGoogle Cloud Platformを採用したかはこちらをご覧ください。 Google Cloud Platform
データの収集と分析 実験データを収集し、簡単に分析し、グラフを生成してくれます。 Google Sheets

研究成果

パートタイムで博士号を取得する上で、当初一番苦労したのは、自分の研究に没頭できるかでした。仕事をしながら、さらに家族もいるようなパートタイム研究者は、集中できず、研究を放ったらかしにしてしまうことがよくあります。この問題に立ち向かうために私は、目標を決めました。例えば、カンファレンスや論文誌に提出するための文章を書いたり、カンファレンスや博士課程のコンソーシアムに出席したりしました。このような目標を立て、締め切りを持つことで、研究に没頭し、熱心に取り組み、放ったらかしにせずに済みました。職場では、自分の研究についての話をして同僚たちを楽しませました。そして、研究に没頭するために一番役に立ったのは、以下のようなことをおこなったり、参加したりしたことです。

オープンソースへの貢献

  • CloudEXhttp://cloudex.io)。多くの並列処理を実行するための包括的なElastic Cloudベースのフレームワーク。

  • ECARFhttp://ecarf.io)。RDFやRDFSのリーズニングのためのElastic CloudベースのRDFのトリプルストア。

ポスター

  • レディング大学の大学院生コンフェレンス、ポスターコンペに出展―2014年7月1日―PDF

プレゼンテーション

  • 英国コンピュータ協会の博士課程コンソーシアムでの発表―2014年5月15日―PDF
  • レディング大学の3分間論文大会での発表―2014年7月1日―PDF
  • 2014年のコンピューターサイエンス・電子工学会議(CEEC)での発表―2014年9月25日―PDF

出版物

  • 『Novel Cloud Based Elastic Framework for Big Data Preprocessing(ビッグデータの前処理のための新しいクラウドをベースにした順応性のあるフレームワーク)』著者:O Dawelbeit、R McCrindle。2014年の第6回コンピューターサイエンス・電子工学会議(CEEC’14)とIEEEの会報誌に掲載されました。―PDF

その他

他にも進行中のもの(出版物など)がいくつかあります。このセクションはそれらが具体化したら更新していきます。

まだ終わりではない

この冒険はまだ終わっていません。今はこれから受ける口述試験の日程を待ち、願わくは、将来いつかは博士号の肩書を使い、壁にさまざまな賞状を飾っていくことを目標にしたいと思います。そんな日が来るなら、それはa day of days(まさに重大な日)となるでしょう。その日が実際に訪れるなら、万が一来るとしたら、今まで頑張ってきたこと、この5年間の苦しかった時間が報われます。しかし、その時が来るまでのこの気持ちを、書籍『How To Get a PhD(博士号を取得する方法)』の引用で表現したいと思います。

博士論文を提出した後は、口述試験の日がやってくるまで、不安と期待が入り混じった気持ちでしばらく過ごすことになる。しかし、その期間は、もう論文と格闘する必要はない。肩の重荷はもう下りている。これを人生の空白のように感じるかもしれない。しかし、まだ全てが終わったわけではないと分かって、気持ちが和らぐはずだ。

2016年5月19日更新

外見で中身を判断してはいけない

私のブログの閲覧数が2日間で1万ほどになり、この記事がHacker Newsのサイトでトップページを飾りました。大変ありがたいことです。これは私が書いた2番目の記事で、トップページを飾るまでには公開から2ヶ月かかりました。そんな嬉しいこともありましたが、Hacker Newsではパートタイムで博士号を取得することを不快に思っている人や、公開後すぐにこの記事の内容をけなすような投稿をした人が少なからずいたんです!「できるわけがない」と疑いの目で首を振り、私を「異端者だ」と言いました。そして、そのあとには、米国と英国のPhDの違いについて議論し始めていました。このような議論を面白いと見ている人もいました。そのような人たちは今の現実以上のことをすることはできないと諦めているのでしょう。あなたも人生でこのような人たちに出会うかもしれません。でも、旅路の途中にあるちょっとしたデコボコ道のように、過ぎればすぐに忘れてしまうような小さなことです。ちょっと話がそれますが、謙虚で前向きなのはいいことです。あっ、そうだ。1つ言い忘れましたが、意志の強さと時間管理のスキル以外に鈍感さもまたパートタイムで博士号を取得するのには重要な要素ですよ。前へ進みましょう。

続く…。