ITエンジニアの学び方大公開：幅広く学び、深く掘り下げ、解決を目指す

# 概要
自分は下記の経歴でおそらく10年くらいはITエンジニアとして業務に携わってきました。

* 大学生のときに起業して開発に携わる
* 大学院のときにフリーランスで開発する
* 新卒で大手企業に入社してセキュリティエンジニアとして開発
* 転職してベンチャーでWebアプリケーションエンジニアとして開発

そういった経歴を持つ自分が職場で、どういった方法で学習しているのかを聞かれたので、自分自身の振り返りを踏まえて記事に残します。

# 学習法

自分の学習法は目的に応じて異なります。その中で自分は大きく3つの目的によって方法を変えています。

## 広く学びたいとき
新しい技術や一般的に注目されているトピックなどを知りたいときには、 **テックブログなどを読む** ようにしています。
目についたものを全て読むのは時間的に難しいため、興味を持ったものや業務に関連するものに絞り込みます。
タイトルや概要に目を通すだけでも、新しいことを知る切っ掛けになると思います。

自分はインプットの対象を以下の3つから探しています。

### [Qiita](https://qiita.com/)
毎週送られてくるいいねランキングの結果の中から新しいものをとりあえず開いて目を通します。
そして記事内に貼られているリンクをたどったり、出てくるキーワードをググることで枝葉が広がるので、どんどん新しいことを知っていくことができます。
その中には興味のないものや既知のものも含まれるため、その場合は参考文献として記載されているリンクだけ目を通すこともあります。

### [Findy テック記事まとめβ版](https://findy-code.io/tech-blog)
今年に入ったくらいからでしょうか？
今年に入ってから登場したFindyという転職サイトに登録している企業のテックブログをまとめて表示してくれる機能ですが、公開されてからずっと重宝しています。
各企業が試していることや実践している内容がブログ記事として閲覧できるため、より実践的な情報を得ることができます。
特にマネジメント系の記事は会社の規模や状況がわかるため、自身にとって参考になるものが多く、色々と試すきっかけになります。
技術的な内容も一般的な話ではなく、その企業が抱えている問題を解決してきた内容が多いため、自分ごととして捉えやすいです。

### [Udemy](https://www.udemy.com/)
Udemyは動画形式の学習プラットフォームで、テックブログとは異なりますが、広く浅く学習する際の手段として活用しています。
動画なので食事しながらでも学習でき、ハンズオン形式のコース以外は特に手を動かす必要がないため、時間の有効活用が可能です。

個人的に食事中の時間に何もしないというのはとてももったいなく感じています。
そのため夕食を食べながら動画を見ることが多いです。
動画なので食事しながら学習するのには適していると感じています。
食事をしながらでも動画をみることなら手軽にできるので、「学習したい」と思っている人はとりあえず見ることから始めると良いと思います。

Udemyは通常ではとても高額ですが、毎月のようにセールを行っており、セールの際には20,000円の動画が1,500円になることがあります。
セールが始まったら気になる動画をまとめて購入し、毎日食事しながら順番に視聴することをおすすめします。
絶対にセールのとき以外には買わないようにしましょう 笑
https://web-logg.com/udemy-sale/

## 深く学びたいとき
特定の分野や技術を深く理解したいときには、 **専門書を読む** ようにしています。
専門書は、入門書以外は基本的にその内容について研究された結果がしっかりと体系立てて記載されています。
そのためその技術を利用してよりよいものを設計・制作する際にはとても重宝します。
また何か問題にぶつかった際にもできる選択肢が増えるので、そのケースに対してベストな選択を行える可能性が高まります。
しかしながら専門書は分厚く、内容も難しくなりがちでなかなか量を読むのは難しいですが、一日30分など無理のない時間を決めて読むことで気付いたときには色々と知っている状態を作りやすいと感じています。

個人的には、一般的に言われている「月2-3冊は専門書を読むべき」は技術的な専門書に限って言えばそんなに手軽にできることではないと思っています。
A4用紙にぎっしり詰まった文字が500ページある技術書などが普通にあり、そういった技術的なものを理解して、実際に試すなどをしていると、一日2時間毎日続けていたとしても1冊が限界かなと思っています 笑
もちろんできるに越したことはないですが、理解することよりも数を読むことが目的になったり、辛い目標を立てて継続できないよりも、無理のない範囲で続けることのほうが最終的には自分の身になると個人的には思います。

## 解決したいことがあるとき
解決したいことがあるときは、おそらくみんなそうしていると思いますが、エラー内容や事象で検索します。
場合によってはAIに聞くのも良いでしょう。

個人的には検索する際に英語で検索すると、より求める情報を得られる傾向があると思っています。
なので英語ができる人は問題ないと思いますが、できない人もGoogle翻訳で自分が知りたいことを英文に直し、名詞や動詞のみをクエリにかけ、ヒットしたサイトを再度Google翻訳で日本語化するだけでも、欲しい情報に近づけるかもしれないと思っています。

Google で検索するのであれば `hl=en` で英語検索ができます。
https://webmem.hatenablog.com/entry/Google-search-in-English
※ 記事内では `hr=en` と記載されていますが、正しくは `hl=en` だと思います

# 身につけるために
読んだ内容を身につけるためにはアウトプットすることが大事だと思います。
ただし、アウトプットとは一般的に言われる「記事を書く」「発表する」といった形式に限定されません。

例えば、「簡単に感想を書いて共有する」「とりあえず試してみる」などでも効果があると思います。
そのような小さなアウトプットでも、記憶の片隅には残っているので、深く理解して使いこなせるまでには至らなくても、知識だけでもプラスになると考えます。
共有した内容が誰かの目に触れ、それがきっかけでディスカッションが始まり、結果的に深く理解できることもあります。
なので誰かの目に触れる、それだけで意味があることであり、多少なりとも自分の学びに繋がる可能性があると思います。

もちろん、「誰かに説明する」「記事として残す」「登壇して発表する」といった形式のアウトプットは、より深い理解を促すものですが、そのためには時間と労力が必要です。
そのため小さなアウトプットからでもやっていけると良いと思います。

# まとめ
長々と「思い」「考え」を書いてしまいましたが、まとめると以下の方法で学習をしています

* 広く学ぶ
    * テックブログを読む
    * 食事しながら動画を見る
* 深く学ぶ
    * 技術書を読む
* 解決したいことがある
    * ググる → 出てこないときは英語でググる
* アウトプットする
    * 感想を書く
    * 誰かに共有する
    * 試す

AI に仕事を奪われないように今後もしっかり学習を続けていきます。

# 余談
この記事のタイトルは ChatGPT につけてもらいました 笑