プログラミング学習を始める前に知っておきたこと
学習方法がわからない
プログラミング初心者の方は、何を勉強すればいいのか分からない場合があります。
Webサイトでは、プロゲートやドットインストールといった初心者向けの学習サイトがあります。
しかし、プロゲートを10週したからといって、初心者から抜け出せるわけではありません。
プロゲートやドットインストールは基礎知識にすぎず、その後からが大変なのです。そして、この後のスキルアップは実務経験をするという方法しかありません。
基礎知識を料理人に例えると
以下の説明は、知恵袋にわかりやすい回答があったので引用です。
IT業界を料理人に例えた話です。
魚捌けたり、創作料理や懐石料理作れる腕前なら問題ありません。
しかし、料亭に就職して「冷蔵庫って何?」「包丁って何?」「皿って野菜の事ですか?」って言う輩が来たらどう思いますか?これは、IT業界あるあるです。
つまり、未経験の方はIT業界で一般常識とされている用語をマスターする必要があります。
独学では限界がある
独学には限界があります。特にプログラミング未経験の方が独学のみで稼ごうと思ったら、99%の確率で挫折します。
これは実際にプログラミングを学んでみたからわかったことです。覚えるのが比較的に簡単と言われる、スクリプト言語(PHP)でも独学だけではハードル高めです。
その理由はこれから詳しく説明します。
見て聞いても理解できない
プログラミングの学習を始めようと、本を買ったりWebサイトに登録したりすると思います。
初心者向けの教科書だったり、プロゲートやドットインストールなどのレベルは誰でも理解することはできます。
しかし、フレームワークを用いたコーディングの、体的な方法については、教科書を見たりやメンターが少し教えてくれたくらいでは理解することは不可能です。
フレームワークの難しさ
プログラミングで稼ぐにはフレームワークという、プログラミングをするための環境を使いこなせる必要があります。
このフレームワークは同じ言語であっても、書き方や操作の仕方が変わってきます。全て英語表記で書かれていることも理解を難しくしている要因です。
フレームワークの学習難易度は、プロゲートで覚えた言語の学習と同等かそれ以上だと個人的に思います。
環境構築の壁
環境構築とは、システムやソフトウェアの実行環境や開発環境を整えることです。ここも大きな壁の1つです。
ローカル環境、サーバー、仮想化ソフトウェア、ターミナルなど、訳の分からない横文字の塊をパソコンにインストールしたり、設定したりする必要があります。
基本的に英語表記なため理解が難しいです。仮に英語ができたとしても、IT用語のため理解するのに苦しみます。
プログラミングだけでは価値が低い
システム開発やアプリ開発には、プログラミングの工程以外にも多くの工程があります。
例えば、要件定義や概要設計、詳細設計、DB設計、テスト、運用、保守などがあります。プログラミングはこの多くある工程の1つでしかありません。
加えて、プログラミングは下流工程にあたり、上流工程より賃金が低いのが一般的です。高年収を望むならプログラミング以外のスキルも必要になります。
地味で細かい作業の連続
IT業界というと、華やかな世界に聞こえるかもしれませんが、プログラマーがやっている仕事は地味で細かい作業です。
就業中は、ひらすらパソコンとの会話になります。デスクワークなため、適度に体を動かしたくなったり、人と喋りたくなります。
コーディングは一文字でも間違えればエラーが出て処理が通らないため、集中力も必要となります。
稼げるまでの時間
プログラマーとして、毎日8時間の勉強を積んだ場合は、約1年ほどである程度のスキルは身につきます。
しかし、これはあくまでもプログラマーとしてのスキルであり、エンジニアとしてのスキルではありません。
エンジニアとして稼ぐには、さらに最適な環境で数年の経験値が必要になります。
プログラミングという武器
以上の多くの壁を乗り越えて、エンジニアとしてのスキルを身につけた場合には多くのメリットがあります。
ITエンジニアのメリット
- 高年収を目指せる
- 選択肢が大幅に広がる
- フリーランスとしてやっていける
- 食べることに困ることがなくなる
エンジニアのスキルは多くの人が挫折するため、スキルを持っている人は非常に価値の高い存在になれます。
グローバル化やIT技術の進化で、今後より一層人材が不足する中で、手に職が欲しい方にはオススメなスキルだと思います。