前回投稿したものを修正したものになるので、内容はほぼ変わりません
ACCESS幕張オフィスにて、テスト駆動開発(TDD)で有名な和田卓人さんによる講演が行われました。講演の内容やそのとき学んだことを書きたいと思います。
#「この先生きのこるために」
いきなり余談ですが、和田さんは「このせんせいきのこるために」とおっしゃっていました。
まず、和田さんが提示した本は「プログラマが知るべき97のこと」(通称:きのこ本)でした。そして、97の項目のうち、プログラマとして生き残っていくために最も重要な一つを挙げるとしたら、
きのこ本の18: 学び続ける姿勢
であるとおっしゃいました。
では、学び続けるためには何をしていけば良いのか?和田さんは、学び方のコツを5つのポイントに絞ってお話されました。
- 身の周りをプログラミング対象にする。例えば「生活費の計算」などのように、仕事ではないところでどんどん学びたい言語やフレームワークを用いることでそれに慣れていく。和田さんは、原稿の執筆時にgitを用いたバージョン管理をしたようで、その実際の画面なども見せていただきました。
- 年下から学ぶ。自分よりも能力のある年下のプログラマがどんどん出てくることに対して、意地を張らずに、謙虚に、誠実に年下からもどんどん学べることを学んでいくべきである。
- 過去から未来を知る。技術変化の推移はまるで「振り子」のような動きをしているように思われる。例えば、「分散システムと集中システム」や「サーバ処理とクライアント処理」などの注目技術の推移などがそれにあたる。しかし、これらは「振り子」のようにただの行き来を繰り返すのではなく、進化を伴った行き来である。和田さんはこれを「らせん」と表現していました。過去からどのような進化をして現在に至るのかを学ぶことが大事。
- 人の流れを見る。現在、オープンソース開発はコミュニティから個人へと遷移している。個が多く集まると渦が起こる。この流れは、githubなどによって作られたものであり、railsやnode.jsは委員会の設計に終焉をもたらしつつある。こういった渦の中で学べることは非常に多い。
- アウトプットをする。自分の学んだことを外に発信することが大事。発信すると、それに対するフィードバックがあり、それが自分に対する更なるインプットとなる。すなわち、学びを促進する。
最後にまとめると、5つのポイントから、最終的には自分の得意分野を作り上げ、実力を価値ある状態にすることが、「生き残る」ために必要なことではないかとおっしゃっていました。
「技術の学び方を学び、あとはとにかく手を動かす。やってるうちに、できるようになる。」は、自分の学生時代(特に大学の研究室)でも経験があり、とても共感しました。
講演自体も非常に密な内容でしたが、和田さんは、こちらの質問に対しても、とても密な返答をしていらっしゃいました。内容が多くなってしまいますので、すべては書けませんが、衝撃的だったことが1点あります。
- 質問時間中、新入社員の我々に対して、和田さんが「こんなこと言ったらいけないが、転職をしてみるのも良い」と2〜3回程奨める。
学ぶことが多すぎる、非常に内容の濃い講演でした。和田さん、そして招待してくださった松木さん、この度は本当にありがとうございました。
自分がこれからチャレンジしたいこと
講演での学びすべてを実行することは、とてもできそうにないので、まずやってみようと思うものを3つ挙げます。
- 自分の身の周りをプログラミング対象にする。とにかく手を動かすということを実践したいからです。
- アウトプットをする。「アウトプットが非常に簡単にできる現在において、それをしないのは損である」と、松木さんも常々おっしゃていて、自分はそういったことを全然しないので、少しづつでも挑戦していけたらと思います。
- TDDをとにかく試す。松木さんが技術研修中に行った実演も影響しているのですが、その有用性というものがよくわかりました。とにかく意識して、使える場面では使っていくということをしたいと思います。(ただ、現在進行中の3日間のrails実習においていきなりrspecを使うことを断念してしまいましたが。)
以上、和田さんの講演に関する簡単な内容紹介と個人的な学び・感想でした。