どうもみなさんこじたけです。
今回は私が独学でプログラミングを初めて一年半程経過したので一年半を振り返ってみてどんな学習を行い、どれくらいのレベルまで成長できたかを語っていきたいと思います。
また、独学の中で工夫したこと気づいたことを共有していきます。
結論から言ってしますと独学はかなりしんどいです。。
でも、挫折しながらも独学でフレームワークを使用してフロントとサーバー側で動作するWebアプリを作成したり、データーベースを使用したアプリ等を作成できるようになってきたので、これからプログラミング学習を行っていきたい方や挫折しそうな方に少しでも役に立てればと思います。
学習言語
この1年半で学んだ主な言語を以下の通りです。
- HTML
- CSS
- Bootstrap
- javascript
- Node.js
- Express
- PHP
それでは振り返っていきます。
独学1〜3ヶ月
まず最初に何から学習するべきなのかをネットで検索したところ出てきたのがHTML,CSSのマークアップ言語、とりあえずやってみようと思い学習方法を検索するとドットインストールという動画で学習できる有料のサイトが有名ということで契約してHTML,CSSの学習を開始。
右も左も分からないけど動画の通りにコードを書きまくるという作業を繰り返してました。
流れでJavaScriptを使うとWebサイトに動きを加えることができると知り同様にドットインストールで学習を行い動画の通りにコードを書きまくっていました。
勉強時間は土日で2,3時間程、他の方と比べてかなり少ない方だと思います。
独学4ヶ月〜8ヶ月
4ヶ月程経った頃にはドットインストールでJavaScriptのレッスン動画の模写をやり切っていたのですがあることに気がつきます。
動画通りにコードを書いているだけで何も理解していない・・・
気づくのが遅すぎですが動画のレッスン通りにコードを書くだけで配列やメソッド等の理解が全くできていなかったのです。
あとでコードを見返してもコードが何を意味しているか全くわからない状態。
これではいつまで経っても自作のアプリなんて作れない・・・と思いここから一つひとつコードの意味を検索しては仕様を理解するというフェーズに入っていきました。
今思い返すと模写という「作業」はおすすめできません。
なぜならコードの意味を何も理解していないからです。
本来実現したい機能に対してどういう方法でどういったコードを書くかを考えなければならないのにただコードを書き写すだけの単純な「作業」になってしまっていたのです。
そこでアプローチ方法を変えて参考書での独学にシフトチェンジしてみました。
本での学習をやろうと考えた理由は、「目次ですぐに調べたいことを調べることができる」からです。
動画の場合、動画のどこで知りたい情報の説明がされているか分かりにくくコードを書くことに精一杯になってしまいただコードを書いているという状態に陥っていたため落ち着いてじっくりと考え込める参考書を選びました。
初めて独学に使用した参考書はPHPの教材です。
この教材をきっかけにプログラミングへの理解が少しづつ深まっていきました。
ただコードを模写することでは意味がないと学習したのでこの教材で独学するに当たって意識したことはこんな感じです。
- コードの意味を理解する
- ただコードを書き写す状態にならない
常にこれを意識して学習を行いました。
コードの意味がわかるとコードを読んで何をしているのかが分かってきます。
「コードが読めるようになると書けるようになる」というのが独学の中で一つ気づいた学びだったと思います。
独学9ヶ月〜12ヶ月
ここまででHTML,CSS,Javascript,PHPの独学を行ってきて新たな分野に興味が湧いてきました。
それはフレームワークです。
どこか難易度が高そうなイメージが自分の中であったのですが、最初に手をつけたのがCSSのフレームワークであるBootstrapです。
そして実際にコードを書いて見ると自分の中で革命がおきました。
「クラスを付与するだけでスタイルが適応されるだと・・・!!」
通常CSSで適応したい要素に対してクラスやIDを付与して付与した要素に対して適応したいプロパティを記述する。という流れが、
特定のクラスを要素に付与→スタイルが適応
というプロパティを指定しなくて良いという手軽さに感動を覚えた記憶があります。
ここからフレームワークにハマりNode.jsのフレームワークであるExpressというJavascriptのコードでバックエンド処理ができるようなフレームワークを使用して独学を行っていきました。
この頃には動画教材での独学は全く行っていませんでした。
理由は前述した通り、動画だと「調べたい内容がピンポイントでどこで説明されているかわかりづらい」からです。
こうして本格的に動画教材から本での教材にシフトしていきました。
独学1年〜半年
ここからは実際にアプリの開発を一から行っていくフェーズに入っていきます。
こちらが実際に作成したアプリの一例になります↓
至ってシンプルなデザインではありますが入力された値を元にDBに登録されている献立をモーダルウィンドウで表示するという作りになっています。
一年以上経って開発の際に使用する言語は大体以下の言語で落ち着きました↓
- HTML,CSS
- Bootstrap
- JavaScript
- Node.js(Express)
フロントはHTML,CSSとフレームワークにBootstrapを採用、バックエンドはNode.js(Express)を使用すれば大体のWebアプリは作れるのではないでしょうか。
今後
今度としては一旦簡単なアプリを作成できる段階にはなってきているので自分のできるレベルのアプリを量産していこうと考えています。
一度動作するコードが書けてしまえば別の開発の際にも役立ちますしコードの引き出しも多くなっていくと思います。
後々3,4ページ程のユーザーのログイン機能を実装した中規模のアプリも作成できたらと考えています。
まとめ
この一年半程の経験をまとめると以下のような感じです。
- コードを書き写すだけで何も考えてない状態になっていた
- 教材のコードを書き写すだけではなくコードを一つひとつ理解するように心がける
- コードが読めるようになると書けるようになっていく
- フレームワークは便利なので躊躇せずチャレンジしていく
- 実際にアプリを作成して量産する
いかがでしたでしょうか?
独学だと何が分からないのか分からない状態に陥り何度も挫折しかけましたがなんとか簡単なものであればアプリを作成できるようになってきました。
最初は分からないことだらけですが、継続していればどこかでコツが掴めるタイミングがやってくると思います。
この記事が少しでもみなさんのプログラミングに役立てれば嬉しいです。