IT知識ゼロからの勉強方法

これは「[新人エンジニアにすすめたい、あなたの勉強法をシェアしよう！ by Udemy Advent Calendar 2022](https://qiita.com/advent-calendar/2022/udemy)」の３日目の記事です。

文系卒でIT知識ゼロの私がどうやって勉強してきたかについて、実体験をベースに紹介します。社会人で「ITへの苦手意識をなくすために勉強を始めたい」という方や、学生さんで「IT企業に就職が決まったので学びたい」という方の参考になればと思います。


# ①基本情報のテキストを通読する
私がIT系企業に入社してすぐの頃、「IT用語がわからなくてつらい...」と感じることがよくありました。たとえば、職場の会議で「デバッグ」や「可用性」といった知らない言葉が出てきて戸惑ったり、先輩とのミーティングで「SEO（※検索エンジン最適化）」を「SAO（※アニメ）」と言い間違えて恥ずかしい思いをしたこともあります。

そのため、IT用語を一通り押さえたいと思い、角谷一成さんの「[基本情報技術者のよくわかる教科書](https://gihyo.jp/book/2020/978-4-297-11700-9)」を、知らない部分にマーカーを引きながら読み進めました。ペースとしては１つのテーマ（見開き２ページ）につき20～30分で、全体（200ページ）で40～50時間かかりました。

この勉強のおかげで、会議で話されている内容が何となく分かるようになったのと、会社の机に置いて辞書としても使えたので、一石二鳥だったと思います。


# ②初心者向けテキストで勉強する
基本情報のテキストでは理解できない部分があったので、ITのことをもう少しきちんと理解するために、先輩に勧めてもらった以下のテキストを読んでみました。
・「[3分間ネットワーク基礎講座](https://gihyo.jp/book/2010/978-4-7741-4373-6)」
・「[3分間ルーティング基礎講座](https://gihyo.jp/book/2013/978-4-7741-5737-5)」
・「[3分間DNS基礎講座](https://gihyo.jp/book/2009/978-4-7741-3863-3)」
・「[3分間HTTP&メールプロトコル基礎講座](https://gihyo.jp/dp/ebook/2012/978-4-7741-5174-8)」

これらは読み物としても面白かったです。たとえば、「パケットにはTTL（Time To Live）があって、ネットワークで迷子になると消えてしまう悲しい存在」みたいな説明があり、クスッと笑いながら楽しく学べました。

ほかにも初心者向けにやさしく書かれた本は多いので、大きな書店で探してみるといいと思います。個人的には秋葉原の「[書泉ブックタワー](https://www.shosen.co.jp/tower/)」がおすすめです。


# ③身近な例で例えてみる
勉強していると、どうしても理解できない内容も出てきます。私の場合、「サーバ」がどういうものなのか、色んな本を読んだり、実際にサーバを立ててみたりしても、いまいちピンときませんでした。

そんな時は、身近な例に置き換えてみるといいと思います。たとえばこんな感じです。
- サーバの役割は、コンビニの店員さんがお客さんの要望に応えて、レジや倉庫から色んなものを出してくれる感じに近い
- IPアドレスをドメイン名で管理するのは、商品を品番（ABCD…）じゃなくて商品名（〇〇さんモデルの靴）で管理するのに似ている
- Webサーバは映写機で、HTMLとCSSは映画フィルムの役割に近い
- 仮想環境は、自宅の中に作業用のテントを立てる感じ
- プロトコルが重要なのは、バスに乗る時に「前払い/後払い」や「乗車位置」がバス会社によって違うと混乱するのに似ている
- ソースコードは、ドラえもんの秘密道具「暗記パン」みたいなもので、やってほしい内容を細かく書いて機械（パソコン）に覚えさせるイメージ

- APIは、自分が欲しいものを出現させる魔法の呪文みたいなもの

こうした例を思いつくのには時間がかかりますが、「これはどんなことに似ているかな？」と考える過程で理解が深まりますし、自分で考えたことはずっと頭に残るので、資格試験の勉強でもおすすめです。

# ④流れ図をたくさん書く
私がプログラミングを始めた頃、「[ドットインストール](https://dotinstall.com/)」というサービスでプログラムを書く練習をしていたのですが、「計算の過程がよくわからない」ということがよくありました（特に、繰返し処理）。

そこで、プログラミングの基礎的な考え方を一から学ぼうと、福嶋宏訓さんの「[うかる！ 基本情報技術者　[午後・アルゴリズム編]](https://bookplus.nikkei.com/atcl/catalog/2021/9784532415648/)」で勉強しました。
たとえば、ジュースの自販機の場合は、投入されたコインの額を合計して、購入できるジュースを表示するといったステップを、流れ図（「はじめ」から「おわり」までのフロー）で書いていきます。

ここで学ぶアルゴリズムの考え方は、どんなプログラミング言語を使う場合でも役立つので、プログラミングを始める時に一緒に勉強するといいと思います。

# ⑤実際に手を動かしてプログラムを作ってみる
プログラミングの勉強で、お手本のコードをひたすら書き写していると飽きてきます。そんな時は、自分が作りたいものを作ってみるのがおすすめです。

私の場合、以下のようなことを試しました。

- 湊川あいさんの「[わかばちゃんと学ぶ Webサイト制作の基本](https://www.c-r.com/book/detail/1075)」を参考にWebサイトを作ってみる
- タカハシノリアキさんのWeb記事「[データ一覧から請求書を自動で作る](https://tonari-it.com/excel-vba-invoice/)」や「[Google Apps Scriptでチャットワークの名言botを作る方法](https://tonari-it.com/gas-chatwork-bot/)」を実際にやってみる

時間はけっこうかかりますが（１つのプログラムにつき数日～２か月くらい）、自分で作れそうかを判断する力や、分からないことをネットで調べる力が身につくというメリットがあります。
そして何より、完成した時の達成感が大きいです。プログラムが自分の思い通りに動いた時、ひとりで思わず「よっしゃー！」と言っていました(笑)

# ⑥動画で勉強する
「こんなことを知りたい/作ってみたいけど、本やネット記事に詳しいものがない」という時は、[Udemy](https://www.udemy.com/ja/)で講座を探してみるといいと思います。

私の場合、仕事の効率化のためにLooker Studio （旧Googleデータポータル）を使いたかった時、本やネットでは情報が少なかったので、マスカワシゲルさんの「[Google Data Portal (Google Data Studio) 入門講座](https://www.udemy.com/course/masukawa_041/)」で勉強しました。
また、社内のシステム開発プロジェクトに部分的に関わることになった時には、プロジェクトの全体像と必要な成果物を知るために、箕輪旭さんの「[手を動かして学ぶITプロジェクトの資料作成！システム開発のドキュメンテーション技術と成果物テンプレート](https://www.udemy.com/course/it-yugtl/)」で学びました。

Udemyの講座では、本やネットにはない最新で高質な情報が得られたり、「こんな風にするといい」「ここは注意」といった実践的なアドバイスを聞けたりするのでおすすめです。

# これからITの勉強を始める方へ

まったくITの知識がない状態から勉強をするのは、正直めちゃめちゃ大変です。知らない言葉の過剰摂取で頭が痛くなったり、勉強中のお菓子の取りすぎで太ってしまったりします（個人差があります）。
ですが、ITの知識が身につくと自信がつきますし、これまで「ITに詳しくなくて...」と避けてきた仕事も、「少しはITのことが分かります！」と言ってまずは仕事の内容を聞けるようになり、仕事の幅が広がります。

ITの勉強を始めようか迷っている方は、本記事で紹介した勉強方法や、[このアドベントカレンダー](https://qiita.com/advent-calendar/2022/udemy)で紹介されている他の方の記事を参考に、自分ができそうなところから手をつけてみてください！

# おまけ：私の勉強スケジュールと資格の取得時期

|年  |月  |内容  |
|---|---|---|
|社会人１年目  |8月～9月  |基本情報技術者試験（午前）の勉強  |
|  |10月  |基本情報技術者試験（午後）の勉強  |
|  |  |★基本情報技術者試験の受験⇒不合格  |
|  |11月  |ドットコムマスターの勉強  |
|  |  |★ドットコムマスターの受験⇒合格  |
|社会人2年目  |2月～3月  |基本情報技術者試験（午後）の勉強  |
|  |4月  |基本情報技術者試験（午前）の勉強  |
|  |  |★基本情報技術者試験の受験⇒合格  |
|  |10月  |情報セキュリティマネジメント試験の勉強  |
|  |  |★情報セキュリティマネジメント試験の受験⇒合格  |
|社会人3年目  |8月～10月  |応用情報技術者試験の勉強  |
|  |10月  |★応用情報技術者試験の受験⇒合格  |