Webエンジニア独学マップの全体像を書いていきます。
マップなので最終的には図にしていく予定です。
フロントエンド・バックエンド・インフラをバランスよく学習する
Webエンジニアの領域は大別すると、
- フロントエンド
- バックエンド
- インフラ
という3つに分かれます。
大きなプロジェクトになる程、この3つは分業となるので、次第に自分の強みをこの中から作っていきそこで活躍していくことになります。
もしあなたが一人前のエンジニアになろうと考えているのであれば、全ての領域の知識が必要になります。
なぜなら、それぞれの領域は密接に関係しているからです。
途中から強みは決めればOK
まずは、バランス良く3つの領域を学んでいく事が重要です。
特に危険なのが、1つの領域しか知らずにそこをずっとやり続ける事です。
特に独学でWebエンジニアに挑戦する方はこの点に注意する必要があると思います。
というのも、学習の中心になる参考書やWebサイトは大抵、特定した領域の説明になるからです。
HTMLやJava、AWSの参考書はあっても、それらを網羅したものはありません。
とても薄っぺらい内容になるか、本の形式にする事はまず不可能です。
まずWebの全体像を理解し、フロントエンド、バックエンド、インフラの基礎知識を身につけるようきしましょう。
Webのトレンドはフロントエンドエンジニア
途中から強みを作っていけば良いと書きましたが、トレンドは意識しておいた方が良いでしょう。
2022年現在はフロントエンド領域が活発です。
これはもう何年も前からその傾向が続いています。
プログラミング言語で言うとJavaScriptが中心になります。
バックエンド言語のPythonも間違いなくトレンドですが、こちらは主にAIの開発現場でのトレンドです。
AIを開発する方は学習必須のプログラミング言語になります。
Web開発の場合はマストではないものの、基礎的な所は知っておくと良いと思います。
学習ステージについて
全ての領域において、いきなりプロフェッショナルのレベルに到達することは不可能です。
そのため、Webエンジニア独学マップではステージ分けをしております。
各ステージで到達できるレベルと学習内容を説明していきます。
ステージ1
ステージ1は学習の初期段階です。
Web開発とは何か?を学び始める段階です。
このステージでWebエンジニアとして仕事を受けることはまず不可能ですが、HTML / CSS / JavaScriptの基本を学ぶのでコーダーとして簡単なWebページを作成することは可能かと思います。
具体的には以下を学んでいくイメージです。
- Webの仕組み
- 開発環境の作り方
- フロントエンド言語の基礎(HTML, CSS, JavaScript)
まず、フロントエンドの基礎知識が無いとWebエンジニアとしては何も進みません。
フロントエンドエンジニアとして活躍していきたい方は深い学習が必要かですが、この時点では基礎的な本を一冊マスターすれば十分です。
ステージ2
ステージ2から本格的なプログラミングに入っていきます。
ここでまず、何の言語を学ぶか?という問題が発生します。
まずは自分が理解できそうな言語からで良いです。
PHPはWebとも相性が良く、比較的入りやすい言語です。
またデータベースやアルゴリズムもこのタイミングで学んでいきます。
アルゴリズムはこのタイミングでは難しく感じるかもしれません。
暫くは何のために学習しているか?も分からないかもしれません。
ここでいきなり理解しようとはせず、文系で進んできた方は、まずは数学的な思考を取り入れる所から始めてもらえると良いと思います。
このステージをクリアすると簡単なWebシステムを作ることができるようになってきます。
但し、まだ公に公開するのは次のステージを学習してからにしましょう。
ステージ3
ステージ3はサーバーやセキュリティの学習になります。
これまでの学習で最も分かりづらく、最も退屈に感じる領域かもしれません。
しかし、安全なWebシステムを作るためにはこれらの知識が絶対に必要です。
ここまで来てようやく、Webエンジニアとして仕事ができる入り口に立つことができます。
ソフトスキルを合わせて身につけていく
これまでのステージでお伝えした知識は全てハードスキルと呼ばれるものになります。
簡単に言うと専門知識です。
Webエンジニア独学マップとは?で触れたとおり、専門スキルだけではいずれ生きていけなくなると私は考えています。
ソフトスキルも合わせて鍛えていきましょう。
ソフトスキルとはざっくりと言うと、業界問わず汎用的に活かせるスキルの事です。
例えば以下のようなものになります。
- コミュニケーション
- 考える力
- 課題解決力(粘り強さ)
など。
ハードスキルとの違いがなんとなく理解できるでしょうか?
一概には言えないですが、ソフトスキルは「資格やテスト等で測れないもの」です。
そのため技術系を極めたい、と考えている方はこれらのスキルを軽視しがちです。
しかし、ハードスキルだけでは一時的に年収をアップすることはできても、長期的な視点で見るとうまくいかないでしょう。
なぜならハードスキルには「トレンド」があるからです。
例えば一昔前でいうと英語がハードスキルのトレンドでした。2022年の現在も引き続き重要視はされていますが、自動翻訳の進化により10年前と比べると需要が高いとは言えないと思います。
このようにエンジニアも現在は需要が非常に高いですが、将来の事は全く分かりません。
私が考えるビジネスパーソンとして強く、そして長く生き残れる戦略は、ソフトスキルをベースとにハードスキルを積み上げていくことです。
エンジニアとしてのスキルを学習していく中で、これらのソフトスキルも意識して伸ばしていきましょう。
まとめ
エンジニアとしての学習項目は非常に多いです。
それでも(都度アップデートする必要はありますが)、一度身につければ一生使えるスキルになります。
エンジニア学習に時間をかける価値は間違いなくあります。
学習ステージを意識しながら、地道に学んでいくようにしましょう。
コメント