ということで、1年半を振り返る。これからプログラミングを勉強しようと考えている人は参考にしてほしい。特に、後悔していることだけでも読んで、反面教師にしてほしい。
勉強した内容
言語
- HTML/CSS(3ヶ月)
- ドットインストールで基礎を勉強
- Python(1年)
- C(半年)
- 新・明解C言語 入門編を用いた学校の授業で勉強
- Go(数週間)
- Udemyで勉強
フレームワーク
- Django(1年)
- Djangoのツボとコツがゼッタイにわかる本で基礎を勉強(半年)
- 個人アプリ開発をする過程で勉強(半年)
その他
-
Github(半年)
- 個人アプリ開発をする過程で勉強(半年)
-
Docker(1ヶ月)
- Docker/Kubernetes 実践コンテナ開発入門で勉強(数週間)
- 個人アプリ開発をする過程で勉強(1ヶ月)
-
ネットワーク(半年)
- イラスト図解式 この一冊で全部わかるWeb技術の基本 を一読(数週間)
- マスタリングTCP/IP―入門編を用いた学校の授業で勉強(2ヶ月)
- 個人アプリ開発をする過程で勉強(半年)
後悔していること
- 勉強を始める前に、明確な目的意識を持つべきだった。
- 基礎の勉強に時間を取られたので、基礎勉強を早めに切り上げて実践に入ればよかった。
- 実践を通して基礎は身に付くので、基礎が65%くらい理解できたら、実践へ移行すべきだった。
- 実際、オブジェクト指向については、基礎勉強中はいまいち理解できなかったが、アプリ開発を続ける中で理解できるようになった。
-
トレンドに敏感になるべきだった
- 技術の移り変わりが速いので、早いうちからアンテナを張ってトレンドを意識すべきだった。具体的には、
- twitterなどSNSでgeekな人をフォロー
- こちらのサービスで調査など
- 技術の移り変わりが速いので、早いうちからアンテナを張ってトレンドを意識すべきだった。具体的には、
-
アウトプットの重要性に早く気づくべきだった
- 勉強した内容にも書いたように、個人アプリ開発をする過程で学べたことが非常に多い。
- インプットよりもアウトプットの方が脳に負荷がかかるので、勉強になる。
- 「考える」よりも**「調べる」を重視**すべきだった
- エラーが出た時は、エラー内容を考察するよりも、コピペで調べた方が速い。
- ある処理をする関数を自作しようとする時は、すでにライブラリとして提供されている可能性があるので、一旦調べる。無かったら、自作する。
- 早めに、Githubに登録すべきだった
- Githubは、エンジニアのギルドカードのようなもの。自身のスキルを証明するのに必須。
得られた成果
-
思考が最適化された
- プログラミングを勉強する過程で、日常生活にも応用できる思考回路を習得できたと。例えば、プログラミングには、DRY原則という考えがあるが、この考えは文章を書くときなどにも適用できる。
-
アイデアを具現化できるようになった
- 「世の中に存在する様々な①問題を発見し、②解決策を考案し、③それを具現化する。」という①〜③の流れを一人で実現できるようになった。
- つまり、具現化系能力者になれた。
参考文献
以下に、勉強する際、参考にした本やサイトをまとめる。
本
題名 | 内容 | おすすめ度 |
---|---|---|
独学プログラマー | プログラマーの心構え | ★★★★☆ |
達人プログラマー | プログラマーの心構え | ★★★★☆ |
エンジニアの知的生産術 | 勉強法 | ★★★★☆ |
今すぐ使えるかんたんPLUS+ HTML5&CSS3 完全大事典 | HTML/CSSの基礎 | ★★★☆☆ |
独習Python | Python | ★★★★★ |
Djangoのツボとコツがゼッタイにわかる本 | Djangoの基礎 | ★★★☆☆ |
現場で使えるDjangoの教科書 基礎編 | Djangoの基礎 | ★★★☆☆ |
現場で使えるDjangoの教科書 実践編 | Django | ★★★★★ |
新・明解C言語 入門編 | Cの基礎 | ★★★☆☆ |
Docker/Kubernetes 実践コンテナ開発入門 | Docker/Kuberbetes | ★★★☆☆ |
図解即戦力 AWSのしくみと技術がこれ1冊でしっかりわかる教科書 | AWSの概要 | ★★★★☆ |
イラスト図解式 この一冊で全部わかるWeb技術の基本 | Webの基礎 | ★★★★☆ |
マスタリングTCP/IP―入門編 | ネットワーク全般 | ★★★★☆ |
サイト
サイト名 | 目的 | おすすめ度 |
---|---|---|
様々な公式ドキュメント | 辞書的な利用 | ★★★★★ |
Github | 辞書的な利用 | ★★★★★ |
Qiita | 辞書的な利用 | ★★★☆☆ |
ドットインストール | 基礎学習 | ★☆☆☆☆ |
Youtube | サクッと学習 | ★★☆☆☆ |
Udemy | サクッと学習 | ★★★★☆ |
LeetCode | データ構造・アルゴリズム学習 | ★★★★☆ |
stackoverflow | 質問 | ★★★★☆ |
teratail | 質問 | ★★★☆☆ |
最後に
この記事が少しでも多くの人の役に立てたなら幸いです
では、Arrivederci !