はじめに
今回は、プログラミング学習を始めて6ヶ月が経過したので、できるようになったことをお伝えします。
学習環境や個人差がございますので、一概に比較するのは難しいですがおおよその目安として参考にして頂けると幸いです。
下記の順序でお伝えしていきます。
- 取り組んだこと
- 実際にできるようになったこと
- 今後の課題
- 現状のレベル感
取り組んだこと
- Java Springでポートフォリオ(オリジナルアプリ)作成
- Git管理の復習
- 関数・クラス化の練習
- ショートカットキーを使う意識付け
- PHPフルスクラッチでアプリ作成(DB接続・CRUD機能実装)
- プログラミング教室(小中学生向け)でバイトを始める
6ヶ月経って基礎知識の理解はしてきたものの、現場で通用するレベルには程遠いのが現状です。(汗)
『未経験から最短3〜6ヶ月』系の広告は基本信じない方がいい気がします。なぜなら、確かに就職はできますが、環境のいい職場に入れる可能性が低いからです。(技術がないまま就職する→仕事についていけない→仕事に追われて勉強もできない→しんどくなって辞める……ケースが割と多いらしい)
エンジニアは今後二極化するとも言われていて、『量産型』・『希少型』に分かれていくように思われます。必要とされるエンジニアになるためにもある程度の学習時間(期間)を割き、学ぶべきことを見極めて完成度を高めることが大事かなと。
とにかく早く現場に出て働きながら学んでいく考え方は持たない方がいい気がします。(汗)
この3ヶ月(学習を始めてから4〜6ヶ月目)、Paizaの問題解きとタイピング練習はサボリ気味だったのでかなり反省しています。継続してやるべきです。
↓参考までにお世話になった本を掲載しておきます。
実際にできるようになったこと
- Gitでのソース管理(現場で通用するレベルに近づけたかな??)
- PHPを使ったコーディング(Paiza Bレベル)
- Spring を使ったオリジナルアプリ開発(開発途中)
- ブラインドタッチ e-typing Bレベル、寿司打 5000円レベル
- 関数・クラス化
- PHP フルスクラッチでCRUD機能実装したアプリ作成
- デバッグ力向上
- データベース操作(postgres, mysql)
3か月目までに比べると、知識と技術力に厚みが増したような気がします。そろそろ転職活動を意識した学習もすべき期間に差し掛かった感じです。
フロント周りの技術力に未熟さは感じていますが、バックエンド志望なのでなんとかなるかなとも思っています。(笑)
オリジナルアプリの開発はやはり大変でそれなりの時間と労力がかかります。ポートフォリオとして見せるレベルのものに仕上げるのはかなり根気がいります。何かしらのサポートを受けるべきだと思います。
今後の課題
まだまだ課題は山積みです。(汗)
今後3ヶ月で勉強したいというニュアンスで書きます。
- ポートフォリオを見せられるレベルまで仕上げる
- きれいなコードが書けるようにする(関数名・メソッド名・ディレクトリ構造を意識)
- DDDを理解し使えるようにする
- コーディングスピードを上げる
- コーディングテスト・面接対策
いよいよ就活に向けて、ブラッシュアップしていく大事な期間になってきました。会社によって求められるものは様々かなとも思っていますがアプリを一定以上のレベルに仕上げつつ、現場で通用するコーディング力・自己解決能力は鍛えていきたいと考えています。
現状のレベル感
現状でのエンジニアにとって必須と考えられるスキルを勝手に4分類し、自己分析してみます。
最後に
未経験からどれくらいの期間でエンジニアになれるのか?という議論は人によって様々な意見があると思いますが、
個人的な見解では、誰かしらのサポートを受けつつ、1日5〜10時間の勉強時間を確保できる前提で考えると1年弱なのかなという結論に落ち着きました。
やはり独学は厳しいですし、片手間に習得できるほど甘くはないというのが、この6ヶ月の経験から判断して出た答えです。
私の経験(サンプル数は1)に過ぎないので鵜呑みにすべきではないですが、よくある広告を信じるのは避けるべきです。
私がこうして続けられているのは、プログラミングをやっていてたまたま自分の中でハマったからというのと、オンラインスクールで知り合った人たちとの巡り合わせが良かったからなのかなとも思っています。(本当に感謝でしかない)
就職はこれからですし、勉強すべきこともまだまだあります。今の環境に感謝しつつ、貪欲に吸収していきたいです。
次回は、3ヶ月後(未経験から9ヶ月目の時期)に振り返ろうかなと思います。