この記事ではソフトウェアエンジニアとして働く僕自身が社会人をしながら大学院に進むことにした話をします。エンジニアとしてのキャリアについて僕の考えをまとめます。
本記事の内容
本記事では以下についてお話しします。
- エンジニアのキャリアについて考えてきたこと
- 僕が大学院に進むことを決めた理由
- 大学院試験に合格するまで
なお僕自身は修士課程から社会人学生として進学し、後に博士後期課程にも進む予定となっています。
エンジニアのキャリアについて考えてきたこと
僕は2010年に大学を卒業し新卒としてインフラ系のSIerにてエンジニアとしてのキャリアをスタートしました。転職は何度かしておりキャリアについても何度も棚卸しをしつつ考えてきました。
大学時代から情報系の学部でコンピュータについて学んできたところから数えるとこれで10年以上はこの分野に携わってきています。きっかけはこれからのキャリアについてじっくり考える機会がたまたまあったとき、選択肢として改めて大学進学を考えたことでした。そのときにはこういったことを考えました。
- 大学で何を学ぶのか、それは時間をかけるまで本当に必要なのか
- ドクターまで出たとしてそれは本当に必要か
- 仮にドクターを取った後、それをどう活かせるのか
結果的にはこの3点をじっくり考えたとき、僕の答えとしては大学院に進学する、という結論になりました。せっかくですので一つひとつまとめてみます。
僕が大学院に進むことを決めた理由
1. 大学で何を学ぶのか、それは時間をかけるまで本当に必要なのか
この点は結果的に最も考えたことでした。それは大学進学に関する費用面でも関係があります。
大学進学はお金がかかります。そのため当初は勤め先からの補助をあてにしていました。しかし、その補助をもらうためには会社が要求する分野について研究をする必要があったのです。その分野に興味がないわけではありませんでした。しかし本当にそこにお金と時間をかけてまで僕は長い時間取り組むことができるのだろうか、ということを何度も考えました。
そして悩んだ末、僕としては会社が指定する分野ではない僕が学びたいと思う分野について注力することに決めました。それは金銭面のサポートをもらわず大学進学することになるため僕に取っては金銭面ではハードな話になります。
しかし、その決断をすることで僕としては自分のやりたいことに素直になれ、腹をくくることができたのも事実です。これは最も悩ましい問題でしたが悩む価値のある問題でした。
なお、僕は機械学習関連のエンジニアリング(機械学習そのものではなく)、そしてソフトウェアエンジニアリングやマイクロサービスなどについての研究に取り組もうと思っています。後述しますが院試の際に口頭試験でお話した研究計画についてもそのお話をしています。
2. ドクターまで出たとしてそれは本当に必要か
この点については今後の僕のキャリアとも関係があります。こちらについては実は現在さくらインターネットにいる松本さんのツイッター(@matsumotory )でのお話などを参考にしていました。以下は松本さんがペパボにいた時に書かれた記事です。
僕自身は松本さんのこういった考えや姿勢にも刺激を受けたんだろうと思います。そして今後の僕のエンジニアとしての歩む道についても非常に参考になり助かりました。
僕はこれまでいくつかフルスクラッチでアプリやWebサービスを業務で開発してきました。その中で設計しつつプログラミングを進めてきたわけですが、正直にいうと設計については比較的ふんわりしたまま実装を進めるケースがよくありました。
この点については例えばアジャイル開発のアプローチであれば少しずつ作り、早い段階でユーザに届け改修をしていく、というアプローチが適しているプロダクトもあると思います。しかしそうではなく、よりじっくり設計をする、というアプローチ、つまり僕が知っているつもりの設計にはより上のフェーズがあるのではないかと考えるようになったことがあります。
それは確か松本さんのツイートを見ていて改めて思ったことです(そのツイートはちょっと探し出せず、、すいません)。
そしてそれを学ぶための手段として大学に進み、論文を書き、研究をするということはあるのだろうと思うようになりました。つまり設計についてもう一つ次のフェーズを学ぶたいという思いがあるのでそれを達成するための手段として大学に進み、結果としてドクターとなる、というのはありだと考えたわけです。
ドクターになりたいわけではなく、結果として取ることになるだろう、というイメージです。
3. 仮にドクターを取った後、それをどう活かせるのか
これは正直まだふんわりとしています。僕としてはドクターという資格を例えば海外で働く際に信用してもらうラベルとして利用したい、できるのではないかと考えています。今は本当にこれだけ考えています。まだとってもいないですしね、これでいいのではと、と考えています。
大学院試験に合格するまで
ここからは実際に大学院試験に合格するまでにしたことをまとめます。なお僕は南山大学理工学研究科ソフトウェア工学専攻で指導頂く予定です。
指導頂く教授を探す
まずははじめの大切なポイントです。以下のような点を考慮して研究室を探し訪問していました。
- 自分が興味のある分野の研究をしている研究室か
- 研究室は活発そうか
- 社会人を受け入れることは問題なさそうか
僕は実際に3つほど研究室を訪問させて頂き進学についてのご相談をそれぞれさせて頂きました。その中で最終的に現在の研究室を選んだ理由は以下です。
- 実際にお話をしてみてこの教授の指導を受けたい、と素直に思ったこと
- すでに社会人学生を何人も受け入れてきた実績があった
- 現実的に仕事をしながら進学できるイメージがついた
どれも外すことができないポイントかと思います。本当に運良く良い研究室に出会えたことは幸運でした。
試験に向けた準備と試験本番
大学によっては筆記の試験もあると思いますが僕に場合は口頭試験だけでした。事前に教授と研究内容についてすり合わせを行い、試験当日にはそれらについて他の先生方から質問があり回答をする、という形でした。
この段階でも非常に大切なことは指導頂く教授と事前にすり合わせをしっかり行っていることです。僕の場合は一度研究内容についてまとめたドキュメントを教授に確認頂きました。すぐOKが出たのですが、やはりこのフェーズでコミュニケーションが取れていることが試験に受かるポイントだと思います。僕の場合は担当の教授と連絡が取りやすかったため苦労することはありませんでした。
とはいえ社会人経験のある方であればそこまで大変なことではないかもしれません。試験については提出にあたって必要な書類など煩雑ではあるのでその辺りは注意する必要はありますね。
まとめ
すでに入学手続きは完了しており、2019年4月から社会人学生となることになっています。試験に受かることも大事でしたが本番はこれからです。仕事と両立しつつソフトウェアエンジニアとしてもう一つ深みをつけるべく地道に取り組んでいきたいと思っています、そして何より僕自身これからのことを非常に楽しみにしています。それでは。
追記
実際に社会人学生をはじめてから書いた記事もこちらにまとめています。