〜宣伝〜
個人開発でエンジニア専門マッチングサービスを開発しましたので、是非未経験からエンジニア目指している人!現役エンジニアで教えたい人!使ってみてください!
β版リリース記念キャンペーン中です!
10名様限定、抽選でお好きな技術本1冊プレゼント!
🎉当選者にはメッセージ差し上げます(送付の際に住所はお聞きしません)
詳しくはこちらから↓
目的
- システム開発の前段階にいらっしゃるプログラミング初心者の皆さんの悩みの解決になるかと思い一年弱独学で学んだ時の失敗と教訓をまとめます。
- ※あくまで自分の経験と考えです。方法を強要するものではありません。
失敗と教訓
その1 エラー
失敗
- エラーが出てしまった→「英語よくわからないし、エラー文をコピーして検索しよう!!」
教訓
- エラー文を丸々コピーしての検索は最終手段だと考えておきましょう。英語が分からなくてもエラー文を翻訳し、目の前のエラーがどんな物なのか知りましょう。
教訓についての解説
- エラーメッセージには問題解決の方法が直接記載されている場合が結構あります。
- 目の前のエラーメッセージを見ただけで問題が解決するなら時間的にも精神的にもコストをかけずに済みます。
- 勉強の初期状態であまり知識がない状態でエラーメッセージで検索をすると余計に時間がかかってしまったり、問題を解決できず諦めてしまう可能性もあります。
- 仮に検索にヒットした技術ブログやQiitaの解決方法を理解せずただ実行して問題解決に至った場合、それはあまりみなさんの為になりません。
- 「ただエラーメッセージを検索して解決した」ことと「エラーメッセージの内容を把握した上で自分なりに検索のワードを考えて解決した」この二つには雲泥の差があります。
その2 技術書
失敗
- 新しい技術を勉強しよう→技術書を購入しその内容だけで習得しようとする。
教訓
- 技術書だけでなく、公式ドキュメントにも目を通してみよう。
教訓についての解説
- 公式ドキュメントは非常に丁寧、かつ初心者でのわかりやすい様に記載されていることがあります。
- 技術書の購入の前に一旦公式ドキュメントを読んでみるのもアリかもしれません。公式ドキュメントのみで自分が理解できそうならわざわざ数千円する技術書を買う必要もありません。
- 「公式ドキュメントが英語しかなく読む気になれない」という方もいらっしゃると思います。ブラウザに付属のページ翻訳機能を用いて少しでもいいので読んでみましょう。
- 環境構築方法や初歩的な内容は公式ドキュメントの方が簡潔にわかりやすく記載されていることもあります。
- とはいえ核技術に対してベテランエンジニアさんからもお墨付きを貰える様な技術書も数多く存在します。「公式ドキュメントを最初に読んでみる→ストレスと感じそうならば技術書の購入を検討する」という方法でもいいのかもしれません。
その3 習得スピード
失敗
- 「〇〇日でエンジニアになることができる」という情報を元に勉強しているが一切できる様にならないので「自分はプログラミングに不向きなのかもしれない」と考えてしまう。
教訓
- 習得スピードは人それぞれ、己にあった学習方法も人それぞれ、義務教育での勉強ではないので他人と比べることがそもそもNG!ただ、勉強方法や技術に対するアプローチ方法がずれている可能性もあるので勉強会などに参加して現役のエンジニアの相談することも大切!
教訓についての解説
- 勉強をサボっていないことが前提であるが、学習初期段階程周りの人やメディアの情報を見て不安になりがちだと思います。隣の芝は青く見える効果なのかもしれませんが「同じくらいに勉強を始めた〇〇君はすごい勉強の進捗がいいのになぜ自分はこんなこともわからないんだろう?」と思うこともあります。
- 自分がどうやったら理解できるのか、理解にどのくらいの時間がかかりそうなのかが読めない初期段階はこういった不安はつきものです。
- 勉強会に参加し懇親会で己の勉強方法を相談することもアリかもしれません。(自分の主観ですが勉強会に参加するエンジニアさんは初心者として頑張っている方に優しい方が多いと感じます。)
その4 タスク分解(これは個人差があるかもしれません)
失敗
- いきなりWebアプリをAWSやDockerを用いて作ろうとする。
教訓
- 一気に全てを習得しようとせず段階を踏んで実施する。
教訓についての解説
- 一気の多くのことを習得しようとすると十中八九うまくいきません。
- また、たくさんのことを同時に実施しているので何が悪くてうまくいっていないのか切り分けることが難しくなります。
- 初めての環境構築ではまずうまくできることは稀です。段階を踏んで学んでゆくことにより問題箇所の洗い出しがスムーズになりトータルしてみるとより短い時間で問題を解決することができることもあります。
- 筆者は下記の様に段階を踏んで実施していました。
- Macのローカル環境にて簡単なWebアプリを作成して動作を確認する。
- AWSのEC2にてWebサーバの構築を行い、構築したWebサーバを使って簡単なhtmlファイルを表示しブラウザからのアクセスを確認する。
- AWSのEC2のWebサーバにWebアプリの作成環境を構築する。
- Macのローカル環境にて簡単なWebアプリを作った時と同じ方法でWebアプリを作成する。