こんにちは!CheerCareerエンジニアの古田です。
最近学生さんからの質問でも増えてきた
「プログラミングを学ぶにはどうしたら良いですか?」という質問。
数年前は「エンジニアって未経験でもなれますか?」といった質問が多かったのですが、
そこを踏み越えて「具体的にどう行動すればいいのか」に思考が及んでいることを考えると、
エンジニアになることへのハードルが
少しずつ下がってきていることが想像できます。
とはいえ未経験だと
どこから勉強すればいいのか悩みますよね…!
そこで今回、プログラミング未経験の初心者でも
挫けず学べるような勉強方法をまとめていきたいと思います。
## そもそもエンジニアって?エンジニアの種類をおさらい!
まず始めに、**一口にエンジニアと言っても数多くの種類がある**のはご存知ですか?
たとえば「パソコンの前でひたすらプログラミング言語を打っている」場合もあれば、「ヘルメットや作業着姿ではんだ付けを行う」という場合もございます。
今回の記事では「ITエンジニア」に絞って
勉強方法をまとめていくつもりですが、
もしエンジニアの種類に興味がある方は、
「[同じ”エンジニア”でも全然違う!エンジニアの働き方分類と求人の見方まとめ](https://cheercareer.jp/ip_blogs/article/188)」の記事をご覧ください!
また、「未経験でなれるか不安…」という方は、
「[知識0でもわかる!ITエンジニアを徹底解説](https://cheercareer.jp/ip_blogs/article/162)」の記事で詳しく解説しているので、ぜひご確認ください。
## プログラミングの勉強を始める前に済ませておく3つの準備
さて、早速本題に……と言いたいところですが、
まず最初に勉強を始める前の準備を行いましょう。
**これらを設定することで
「目標に迷って勉強に挫折する」というリスクを減らすことができます。**
### 1. 勉強のゴール(目標)を設定する
まずどんな風になりたいか、
どんなものを作ってみたいかを決めてみましょう。
たとえば「計算機」「おみくじ」「日記」などなど!
「最近噂の●●という言語の機能をとりあえず触ってみる」といったものや、
「Twitterみたいなシステムを作ってみる」でも良いと思います。
大事なのは、ひとまず簡単でも良いので
ゴールを設定しておくこと。
### 2. 現在の知識などを確認する
さて、上記で決めた際に分かること、
分からないことなどはあったでしょうか?
```
【例1】
目標:簡単なブログを作成してみる
現在の知識:
・プログラミングは最近知ったばかり
・どんな言語で書けばいいかはわからない
・友人がRuby on Railsをやっているらしい
```
このような感じであれば、
まずブログはどんな言語で書けばいいかを確認するところから始まりますね。
```
【例2】
目標:React.js でできることを知る
現在の知識:React.js はなんとなく分かる、触ったことはない
```
上記のようなパターンであれば、
React.js を触ってみることからスタートになるかと思います。
```
【例3】
目標:いろいろなプログラミング言語を知る
現在の知識:知識0、何もわからない
```
上記の場合は、それぞれの言語のチュートリアルをクリアしてみると良いかもしれません。
このように、**目標地点と現在地点を確認し、
その間にどれだけのギャップがあるのかを確認してから取り組む**と、
自分自身が何から取り組めばいいのかなどが目に見えて分かるようになります。
### 3. 学びたい、使用したい言語を確認する
続いて自分がどの言語を学ぶかを確認していきましょう。
たとえば【例1】の場合、
そもそもブログをどんな言語で作ればいいかが分かっていないため、そこを決めるところからスタートします。
言語の決め方はざっくりですが、
まず使う媒体から決めるところからスタートすると良いでしょう。
| 媒体 | |
|--|--|
| webアプリ(PC・スマホ) | ・PHP
・Ruby
・Python
・JavaScript |
| iPhoneアプリ | ・ObjectC
・Swift
・Kotlin
・React Native |
| Androidアプリ | ・Java
・Kotolin
・React Native |
ちなみに学習の難易度を考え、初心者にはwebアプリを推奨しています。
どうしてもスマホアプリを作ってみたい!という人は、
PCと兼用で〜と考えず、がっつり振り切るくらいが良いかもしれません。
さて、そういったことも考えて「webアプリ」を制作することに決めた後は、
その中からどれを選ぼうか〜といったところですが、
今回は友人が学んでいるらしい「Ruby」に取り組むと、詰まった時に友人に聞いたりなどができるので楽そうですね。
※もしそういったきっかけがなければ、
基本的に「これちょっとやってみたいな」と思う言語でOKです!
【例2】の場合は、既に学ぶ言語が決定しており、
【例3】の場合は、とりあえずいろんな言語のチュートリアルを触る、といった方針になるかと思います。
学びたい内容が定まったら、あとは勉強あるのみです!
## おすすめのプログラミング勉強方法 3選
さて、学びたいことがはっきりしたので、
早速勉強を進めていきましょう!
### 1. 学習サイトを利用する
一番手軽。ハードルが低い状態で始めることができます。
最初は完全無料で学ぶことが可能ですし、
もう少し詳しく学びたい場合は少しお金を出して有料版を使ってみると良いでしょう。
#### 1-1. [Progate](https://prog-8.com/)
何も触ったことがない、まったくの未経験の方には必ずこのサイトをおすすめしています。
web上で学習を完結することができ、
グラフィックも可愛らしく「プログラミングって難しそう……」と思う方にはうってつけです!
#### 1-2. [paizaラーニング](https://paiza.jp/works)
Paizaラーニングはこんな人におすすめです!
- 可愛らしいアニメーションは苦手
- webアプリなどよりはサーバー側も学んでみたい
- 就活準備や業務知識なども学びたい
Paizaはエンジニアの就職/転職サイトなので、
知識の学習だけではなく、
就活情報や働き方の情報も多く掲載しているサイトになります。
こちらもProgateと同じくweb上で完結可能です!
#### 1-3. [ドットインストール](https://dotinstall.com/)
ドットインストールは一番コンテンツが豊富な学習サイトです。
たとえば「おみくじ」「ストップウォッチ」「タイピングゲーム」などのミニアプリを作る講座なども揃っています。
ただ基礎文法を学ぶだけではなく、
実際に作りながら学びたい!という人にはうってつけのサイトと言えるでしょう。
とはいえ他のサイトに比べると解説が簡素なこと、
web上で完結しない(自分自身のパソコンに環境構築をして学ぶ必要がある)ので、
少し上級者向けかもしれません。
ProgateやPaizaラーニングを終えた頃くらいに手を出してみるとちょうど良いかと思います。
### 2. 書籍を活用する
「体系的な知識をつけたい」
「勉強をする時はまず教科書から入る」という方向けです。
書籍は基本的に「**本屋で手に取り、これなら学べそう!といった本を1冊、真剣に取り組んでみる**」というやり方を個人的に推しているんですが、
このご時世、あまり外に出かけられない…といった方も多いかと思います。
その場合おすすめしたいのが
Amazonの[プログラミング入門書 の 売れ筋ランキング](https://www.amazon.co.jp/gp/bestsellers/books/525592)!
その場で試し読みができるものもありますし、
ものによってはAmazon Primeに入っていれば無料で読めるものもあります。
作るものが決まっているなら、
目次を見て後半の応用編に作りたいものが含まれているかも確認してみましょう。
受験勉強で参考書や英単語帳を選ぶ時のように
「これならやりきれそう!」というものを選ぶのがおすすめです。
### 3. プログラミングスクールを受講する
「お金はかかるけど自分だけで取り組むのはちょっと…!」という方向けです。
残念ながら私自身は受講したことがないので、どのスクールがいい!と推すことはできないんですが…!
よく人から利用していると聞くのは、以下の3サービスになります。
- [テックキャンプ](https://tech-camp.in/)
- [DMM WEBCAMP](https://web-camp.io/)
- [TechAcademy](https://techacademy.jp/)
基本的にスクールは教師との相性などもあるため、
ぜひ実際おためしなどをして自分に合うかなどを踏まえて決めてみると良いかと思います。
また、プログラミングスクールというほどではないですが、
昨今では動画で授業を受けられる「[Udemy](https://www.udemy.com/)」や、
いつでも相談できるオンラインメンターを見つける「[MENTA]([MENTA(メンタ)|「教えたい人」と「学びたい人」のメンタープラットフォーム](https://menta.work/))」のようなサービスも登場しています。
有料でも良いので人に指導されながら学びたい!という方は、こういったサービスを頼ってみるのも良いかもしれません。
### (4. インターンに参加する)
3選としましたが、現在新卒就活中!といった学生さんには、インターンに参加をすることもおすすめしています。
プログラミングを学ぶのはもちろん、
企業研究もいっしょに行えるからです!
[CheerCareerの仕事検索](https://cheercareer.jp/search/offer_list/)で
「採用形態:インターン・学生バイト/職種:エンジニア」で検索するといろいろなインターンが出てくるため、
よければそちらも確認してみてはいかがでしょうか?
## おすすめのプログラミング勉強方法【初心者編】まとめ
いかがでしたでしょうか?
実際に勉強をしていくイメージはつきましたか?
今まで経験したことがないものに手を出すのは
どうしてもハードルを高く感じてしまうものかと思いますが
1. 目標を決める
2. 現時点での自分の実力を知る
3. 目標に近付くために必要な要素を知る
4. 必要な要素をひとつずつ身に着けていく
基本はどういったことでも、上記4つのフローの繰り返しです。
ぜひ簡単なものから挑戦して、「プログラミング」というものに慣れてみてください!
2020.09.16 ビジネススキル