こんにちは!
お父さんエンジニアのさっしーです。
最近は家族で「カタン」というボードゲームに入れ込んでいます。
世界中で人気だと知って半信半疑でやってみたところ、3人の小学生の娘たちと一緒にびっくりするくらいハマってしまいました。
ちなみに私、娘たちにほとんど勝つことができず毎回悔しい思いをしています。
olivaは社員の平均年齢が低い若さあふれる会社ですが、30代40代の経験豊富なエンジニアもいて良いバランスだなと思っています。
私も経験年数は長くなってきたものの、仕事で求められる技術はどんどん変化するので勉強が欠かせません。
勉強のやり方にも色々あります。
今回はひとつの具体例として、私が当時未経験だったScalaというプログラミング言語を使い、2ヶ月間でゼロからシステムを開発した時のやり方をお話ししたいと思います。
1.理解は後回しで大量の情報をインプットする
例えば、1冊の技術書を7日間で読むとします。
私の場合、じっくり理解しながら7日間かけて1回読むのではなく、1日1回最初から最後まで読むことを7日間で7回繰り返すという方法をとることが多いです。
もちろんそのスピードで読むと、1回目ではほとんど理解できません。
しかし、何度も読み返すことで多くの情報がインプットされ、結果的に理解を深めることができると思っています。
登山において1度で頂上までアタックするのではなく、何往復もしてルートを把握したり身体を順応させたりしながら徐々に頂上に近づいていくのに近いイメージです。
勉強に関しても同じようなアプローチをとりました。
理解は後回しにして、短期間で大量の情報を繰り返しインプットするという方法です。
その時に私が目を通した技術書がこちらになります。
その他にも、公式サイトを含め数多くのサイトに目を通しました。
2.お題を与えて脳に勝手にアウトプットさせる
考えに考えても思い付かなかったことに対して、ある日突然
「閃いた!」
という経験がみなさんもあると思います。
それは脳にお題を与えておくと、意識的に考えなくても脳が勝手に情報を整理して考え続けてくれるからという話を聞いたことがあります。
この時は脳にお題を与えるために、インプット序盤から実際に開発を始めるという方法をとりました。
これにより、技術書を読んでインプットした情報の中から必要なものを選び出し、知識として理解していくスピードが上がりました。
また、実際の開発を通しているからこそ、そのまま自分が使える技術として落とし込んでいくこともできました。
それだけでなく、必要な情報が分かってくるので、インプット自体も効率化していくという相乗効果がありました。
例えば、最初のうちは日本語で書かれたサイトばかりを見ていました。
しかし、問題解決に必要な情報は英語で書かれた海外のサイトで見つかることが多いことが分かってきたので、それからは英語のサイトを優先的に見るようにしたという具合です。
3.まとめ
何をお伝えしたかったかと言いますと、
「勉強はアウトプットしながらの方が効率が良い」
というよく聞く話の実体験です。
アウトプットに関して、
スピード = アウトプットに対する危機感の強さ
質 = インプットの量
これらが大きく変わってくるということこそが重要なポイントです。
勉強が続かずに悩んでいる方がいらっしゃいましたら参考にしてみていただけたら幸いです。
また、そういう私こそ、カタンで娘たちに勝つことができるように、危機感を持ってインプットとアウトプットを続けていきたいと思います。
最後に余談ですが、この時は無事にシステムを作り上げることができ、開発は大成功を収めました。
他にもそれにまつわる色々なエピソードがあるのですが・・・
それはまた別の話としてお伝えしたいと思います。