どうも、こんこんです(*´Д`)
完全独学からWeb系エンジニアに転職することができました。
今回は「エンジニアを目指したいです。ですがどのくらい勉強時間が必要なんですか?」という疑問について答えていきたいと思います。
- 1つのプログラミング言語の基礎が扱えるのは200時間必要と言われている。
- プログラミング学習は時間で計ってはいけない理由
- プログラミング学習に必要なのは何が制作できるのか
- まとめ
こちらの記事は上記の順番で進んでいきます。
1つのプログラミング言語の基礎がある程度扱えるようになるには200時間必要と言われています

文法や言語の仕様の理解などの理解に200時間は必要です。
扱いたいプログラミング言語での四則演算などの基礎と使用言語の仕様の理解は必須知識です。
足し算引き算掛け算乗算、代入の方法の種類。
配列の種類、処理は短くかけるやり方があるのか。
この中で優先される処理はどれなのか?
Webサイト制作をするとしたら優先されるのは処理か表示か。
送信するのであれば処理してから送信されるのか、そのまま送信されるのか。
使用する言語の理解がなければ作ってみたら全く違う動きになっているという非常に大変なことになります。
仕様の理解がなければどこが悪かったのか、なぜエラーが出るのかもわかりません。
エンジニアを目指すのであれば仕様の理解からは逃げられません。
プログラミングの勉強は時間で考えるのはあまりいい方法とはいえないんです
なぜなら実務で必要なのは勉強時間ではなく何が実装できるのかが大事になってくるからです。
例えばPHPでWebサイトを作りたいのであればLaravelなどのフレームワークの文法や仕様の理解などですね。
あなたが制作したいのはなんでしょうか?
Webサイト?それともアプリでしょうか。
それによって制作する成果物に必要な技術などの理解が必要になるんです。
もしフレームワークを使わないのであればゴリゴリとPHPやRubyなどで処理を書く必要があります。
なのでHTMLとPHPの読み込まれる順番、サーバ通信のやり取りの時に何が行われるのかセキュリティは大丈夫なのかなどの知識も必要ですね。
プログラミングの勉強は何が制作できるのかが大事

このように制作したい成果物によって必要な知識は変わるんですよ。
これがプログラミング言語の大変なところでもあり楽しいところでもあります。
常に新しい技術が必要になるので飽きることはないです。
つまり勉強時間で測ると何ができるのかわからずボヤけてしまいます。
それよりも何が制作できるのかを図ったほうが転職などするときにもアピールポイントとしては強く印象に残るということです。
これが、オリジナルの成果物を制作しなさいと最近よく見る話題の理由です。
まとめ
自分も常に実践と勉強の繰り返しです。
エンジニアの仕事は難しく頭を抱えることも多々ありますが、常に新しいことへの挑戦で楽しいです。
ルーティン作業が苦手な自分にとっては今のところは成長を感じられる仕事です。
1つの言語にかける時間は基礎200時間とそのあと勉強した言語で成果物を制作して勉強した時間ではなく、自分は何が制作できて何ができるのかを具体的にアピールできるようになりましょう。