Yuki Watanabe's Blog

Yuki Watanabe's Blog

エンジニアリングと子育てについて

新しい技術の学び方

エンジニアであるかぎり、常に新しい技術のキャッチアップが必要です。

特に、業界・職種未経験からエンジニアに転職した私は、入社してからこれまでの2年でかなり多くの技術を学ぶ必要がありました。

初めは兎にも角にもがむしゃらに学習していましたが、振り返ると、知識の定着しやすさにばらつきがあり、場合によっては非常に効率の悪い学習に時間を投下してしまっていました。

そうはいうものの、徐々に学習のコツを掴み、昨年は、

【2021年版】サーバーサイドエンジニアがVue.jsでモダンフロントエンド開発を始めるまで - Qiita

の記事を書き、300いいね以上を獲得し、それなりに反響を頂くことができました。

記事執筆から1年が経ち、フロントエンド以外にも様々な技術を学習してきた経験から、どの技術にも適用できる汎用性の高い学び方がある事に気づきました。

エンジニアである以上、常に学び続ける立場であるため、学び方について4つのステップに分けて書いていけたらと思います。

ステップ1. 学びたい技術と現状の知識の差分を把握する

まず、仕事やプライベートでキャッチアップしたいと考えている技術と自分の現状の知識の差分を把握します。

具体的には、対象の技術の1次情報(ドキュメント)を読み、理解出来るかどうかを判断します。この際に、1次情報サイトの見出しさらっと目を通しておくと、対象の技術を学ぶにあたって重要なキーワードを知ることができます。

もしこの際に、1次情報を読み通せるようなら、1次情報だけを頼りに必要な部分だけ読むのが適しており、ステップ2移行は不要と判断します。 業務を遂行する上では、1次情報を拠り所にするためです。

私の場合は、認証基盤周りの開発に携わっているので、認証技術についての学習をしています。 この際まずは、OAuth2.0, OpenID Connectについて学習しようと考えました。 1次情報としては、RFC6749がありますが、日本語訳のThe OAuth 2.0 Authorization Frameworkを選びました。

ステップ2. 書籍を2冊以上読む

ステップ1で、1次情報を読む地力がまだないと感じたならば、書籍等で基礎力の向上を目指します。 私の場合、対象の技術と現状の知識とのギャップが大きい場合は、複数冊の書籍を読んで理解の整理をしています。

先の認証技術に関する学習の際は、下記の書籍を読みました。特に初めの2冊が良かったです。

ステップ3. 重要用語をまとめる

ステップ2と並行しつつ、重要な用語をドキュメントにまとめます。ドキュメントは、一次情報を読みこなすための最重要語に絞って、端的に表現しています。 このドキュメント作成の目的は、自分の言葉で対象の技術を表現できるようにすることです。

先の認証技術に関する学習の際は、Gistにマークダウン形式でまとめる方法を取ることにしました。ドキュメントはGit管理をしたかったためです。

認証、暗号技術、セキュリティの学習メモ · GitHub

ステップ4. 周辺技術をキャッチアップする

これまでの学習を通して、学習対象の技術が別の技術に関連していることに気づくことがあります。新しい技術といっても、既存技術の組み合わせや、応用によって成り立っているからです。

認証技術に関する学習した際は、他にセキュリティと暗号技術が密接に関わっていることがわかったため、これらの技術について深掘っていくことにしました。1次情報、書籍を読み重要用語をまとめる、というステップで進めました。

具体的には、下記の書籍を読んでいるところです。

まとめ

私の体験談を元に、新しい技術の学び方について書いてみました。 徐々に学び方が上達している気がするので、より効率的な方法があれば適宜取り入れていきたいなと考えています。

関連して、プロジェクト参画直後に、キャッチアップするのに役立ったことについてテックブログに記事を書きました。 blog.agile.esm.co.jp