今日(2019/07/11)こういう記事を公開しました。 korosuke613.hatenablog.com
そしたら研究室の先輩に、
誰も気づいていないような、斜め上の話も考えて入れて。
とのアドバイスを頂いたので、斜め上の話(誰も気づかないかどうかは不明)を自分なりにひねり出しました。長くなったので、新しく記事にしました。
目次
手に入れたもの
「大学院に進学して、自分の得意分野がわかった」とお話ししましたが、その話の延長です。
僕は、自分の得意分野がわかったのに加えて、思想を手に入れました。誰かに教えてもらったわけでもなく、自分で見つけました。
エピソード
書きやすい話を1つあげます。
ETロボコンではチーム開発をしていましたが、始めたばかりの頃は
- コードを変更してもテストしない
- ドキュメントを書かない。書いても更新しない。
というのが当たり前でした。別に一人で作っているなら、そこまで問題にはならないかもしれません(とは言っても絶対後で困ります)。
でも、僕たちはチームで開発していたのでとても困る事態になりました。
- 他人が作成、変更したソースコードが原因でデグレードが起き、それの修正に四苦八苦する
- ドキュメントの内容が間違っているため、結局ソースコードを読まなければならない
などなど、生産性を著しく下げていました。
いくらこちらが注意深く指導しても、テスト忘れ、ドキュメントの更新忘れをすることは必ず起こりえます。それは僕も同じです。人間はミス、見落としをする生き物です。これは避けようのない事実です。
じゃあどうするか。コンピュータにやらせればいいのです。
健全なコンピュータは人間みたいに忘れることがありません。ミスすることはありません。忘れたとしたらそれは作った人間が忘れていたのです。ミスしたとしたらそれは作った人間がミスしていたのです。
これが僕の思想です。
2年目のロボコンでは、CIを導入し、作ったコードは必ずテストされるように、作ったコードは必ずリファレンスが更新されるようにしました。
人間がやる必要のない処理をコンピュータにやらせるようにしました。それでもまだまだ属人性は残っていますが、生産性はだいぶマシになりました。
ロボコンをやる以前にもチーム開発をしたことはありましたが、その頃は本当にチーム開発が嫌いでした。しかし、ロボコンを通して、チーム開発がとても楽しく感じるようになりました。
大学院に行ったからこそ、今、得ることができた
ロボコンでは他にも色々学んだのですが、とにかく、
僕は、生産性を上げること、属人性を排除することの大切さに気づき、
憎むべきは人間では無く働く環境である。コンピュータができる作業はコンピュータにさせるべきである。
との思想を1つ得ました。
もちろん本を読めば書いてあるようなことですが、大切なのは、自分で気づいたことなのです。身をもって知ったことなのです。
これは、大学院に行き、ETロボコンに継続して参加したからこそ手に入れることができました。 ETロボコンを続けていなければ、自分で気づくのはもっと遅くなっていたでしょう。
別に大学院で手に入れる必要ないんじゃないの?
別に大学院で手に入れる必要ないんじゃないの?
という意見もあると思います。恐らく、先ほどの思想は、僕が、社会人でチーム開発しても得ることができたでしょう。
しかし、その場合、その思想を得ることは遅くなっていたと考えます。
学生のうちだったからこそ、責任が無かったからこそ、好き放題色々試すことができて、早く得ることができたのでは無いでしょうか?
学生のうちに手に入れられたことにも意味があると考えます。
僕は就活時の会社選びにおいて、その会社はエンジニアにどの程度裁量を与えているかという点を確認していました。改善できることがあったらどんどん改善したいからです。また、面談・面接時に、自分の考えを語ることも多かったのですが、共感を得られるかどうかの確認もしていました。
僕は、この思想をとても大切にしており、もし会社に入って、行動が起こせなかった場合、長続きしないと考えていたからです。
学生のうちに気づけていたからこそ、納得のいく会社選びができたのです。
おわりに
僕は大学院で色々なものを得ました。しかし、その中でも一番大きかったことは何かと聞かれた場合、思想だと答えます。
今回紹介したエピソード以外にも、様々な思想を大学院で得ました。
これらの思想、考え方が、僕という人間を固めたのだと思います。
というわけで、 みなさん、大学院に行きましょう
この話、例のプレゼンでできれば良かったなあ(〇ω〇)