プログラマーになるためにはどんな学習方法で進めたらいいのかな…。専門的な知識が沢山必要そうだけど文系の僕でもなれるのかな…?
現役エンジニアのぼくが、この様な疑問に答えて行きます。
- プログラマーとシステムエンジニアの違い
- プログラマーは文系の人でも目指せる理由
- プログラマーになるための学習方法
こんにちは、himakuro(@himanakuroneko)です!
IT市場が年々拡大する中、日本では圧倒的なIT人材不足に陥っています。
このIT人材不足は改善の兆しがなく、現在進行系で悪化しており2020年末には30万人ものIT人材が不足すると言われています。
これだけ見ると恐ろしい内容ですが、プログラマーを目指したいと考えている人には大チャンスな時代です!
そこで今回の記事では未経験の方がプログラマーになるための必要なスキルや学習方法を解説して行きます。
プログラマーになって手に職を付けることで、会社にしがみつく人生から、働き方を選べる自由な暮らしを手に入れていきましょう。
プログラマーとシステムエンジニアの違い
プログラマーになるための学習方法を解説する前に、システムエンジニアとの違いについて触れておきたいと思います。
結論から言うとそれぞれ担当する領域が異なります。
- 要件のヒアリング
- 仕様書の作成
- システムの設計
- コーディング
- テスト
- バグ修正
システムエンジニアはクライアントからの要件をヒアリングし、その内容を元に仕様書に落とし込み、システムの設計を行います。
一方プログラマーはシステムエンジニアが設計した内容を元にソースコードを記述してプログラムを完成させて行きます。
つまり職種の定義としてはシステムエンジニアは設計までを担当し、ソースコードを書いてシステムを完成させるのはプログラマーの役目です。
しかし実際はIT人材不足ということもあり、システムエンジニアが設計とコーディングの両方を担当するケースも多くあります。
プログラマーになるための必要スキル
プログラマーになるためには大きく分けて2つの能力が必要です。
- プログラミング能力
- コミュニケーション能力
プログラマーの担当領域はソースコードのコーディングがメインとなりますが、コミュニケーション能力は必須です。
コミュニケーション能力と聞くと怖気づいてしまう方もいるかもしれませんが、ここでは仕事を進めていく上で必要最低限の内容を指しています。
プログラマーはシステムエンジニアが設計してくれた内容を元に実装を進めますが、時には仕様で理解出来ない点や疑問点が浮かんでくる場合があります。
その際にシステムエンジニアの方に正しく内容を伝えられるか、もらった回答を理解出来るかが重要になってきます。
ここが上手く行かないとスピード感も落ちてしまい、最悪作ったシステムが仕様書とは全く異なったものになってしまうケースもあります。
コミュニケーション能力はプログラミングスキル以上に重要な事を認識しておきましょう。
プログラマーは文系でもなれるのか?
文系でもプログラマーって目指せるの?
プログラマー未経験の方からよくこの様な質問を頂きます。
結論から言うとプログラマーは文系でも目指すことが可能です。
なぜならプログラマーが組むコードの殆どは数学の知識が不要で、理系の人しか学んでいないような知識を必要としていないからです。
理系の学部には情報工学などパソコンを専門に扱うような所もあり、いつの日かプログラマーは理系しかなれないと言う勘違いが生まれてしまいました。
しかし一般的なWebサービスでは、足し算・引き算の様な四則演算が出来れば十分に開発出来る物になっています。
もし自分が文系だからプログラマーなんてなれないと思ってしまっている方は、積極的にチャレンジしていきましょう。
独学だとプログラマーになるのは難しい
最近ではネットの情報も10年前と比べてかなり充実してきたこともあり、独学でプログラマーを目指す人も増えています。
しかし独学で学ぶことには大きなハードルが3つあり、それを乗り越えられず挫折してしまう方がとても多いです。
- モチベを保つのが難しい
- 非効率的で時間がかかる
- ポートフォリオで行き詰まってしまう
理由①:モチベーションの維持が困難
プログラマーになるには数ヶ月単位の学習が必要なため、この期間を独りで突き進むにはそれなりの継続力が必要になってきます。
しかし最初のうちは理解出来る内容のほうが少ない状態が続くので、この状況でモチベーションを高く保ち続けるのは極めて難しいです。
理由②:非効率的で時間がかかる
独学でプログラミングを学習する場合はネットの情報を主に活用して、プログラミング能力を高めて行くことになります。
しかしネットの情報は古かったり、内容が薄いものも多く、中々目的の情報にたどり着けないことが多いと言う問題があります。
そのため、スクールに通っていたらすぐに講師の方に聞けば解決する様な内容も、数日以上かけてしまう場合があります。
プログラマーになるには、ただでさえ必要な期間が長いのに、この様な調査に時間を書けていては、「理由①:モチベーションの維持が困難」で述べた内容と相まって挫折をしてしまう可能性も上がってしまいます。
理由③:ポートフォリオで行き詰まってしまう
プログラマーを目指す方の多くは、ポートフォリオを作成して、採用面接のアピールに活用します。
しかしこのポートフォリオの作成が鬼門です。
ポートフォリオを作るには環境構築、ソースコードの管理、デプロイなど、ポートフォリオの中身以外の部分で必要な知識が山程あります。
これらの内容を一人の力で解決出来る人は中々おらず、どこかしらで詰まってしまい挫折をするか、スクールに通い始める人が多いです。
プログラマーになるための学習方法
プログラミングを勉強する方法はいくつかありますが、おすすめは下記の3つです。
- Progate
- 動画学習(ドットインストール・Udemyなど)
- プログラミングスクール
Progate
Progateはプログラマーを目指す方なら全員におすすめ出来るオンライン学習サービスです。
HTML&CSS、JavaScript、PHP、Rubyと言ったWeb開発に必要な言語の書き方を1から学べます。
大きく分けて学習コースと道場コースがあり、無料会員でも一部の学習コースが受講可能なので、まだ利用したことがない人はこれを機会にチャレンジしてみましょう。
自分がプログラマーが向いているかを確かめるという意味でもまずは最初に利用すべきオンライン学習サービスです。
もし既にProgateである程度学習を進められた方は下記の記事も合わせて参考にしてみてください。
動画学習
プログラミングの学習方法として動画学習もおすすめです。
動画学習で人気のオンラインサービスとしてはドットインストールとUdemyが挙げられます。
ドットインストールは入門系の動画が多く、Udemyではガッツリとその言語について学びたい時に活用するのが良いです。
ちなみにUdemyでは動画が通常時で1万円を超えるものも大くありますが、定期的に開催されるセールで80%〜90%OFFになるで定期的にチェックしておきましょう。
プログラミングスクール
プログラミングスクールは賛否両論ありますが、学習手段の1つとしては個人的にありだと考えています。
- 独学よりも遥かに効率的
- 現役エンジニアに質問が出来る
- 転職サポートが付いている
プログラミングスクールでは現役エンジニアの方がサポートしてくれるので、独学よりも遥かに効率的に学習を進めることが可能になります。
そして多くのスクールは転職サポートが付いているため、面接対策や自己PRの添削なども行なってくれるというメリットもあります。
いくら技術力を上げても面接でアピールが出来なければ採用をしてもらえないので、転職サポートはスクールに通う最大のメリットと言っても過言ではありません。
ただしプログラミングスクールの料金は決して安くは無いので、どうしても失敗が怖いという方は下記の記事を参考に、自分にプログラミングスクールは向いているのかを確認してみてください。
そして最後に、プログラミングスクールに通ったとしてもプログラマー・エンジニアになれるという保証はないことを、下記の記事を読んで理解しておきましょう。