目次
- エンジニアが圧倒的に足りない
- まずはWebサイトの作り方を知る
- 「即戦力スキル」を身につけよう
2023.02.16
企業のDX(デジタルトランメーション)化やAIの活用が加速し、昨今ではエンジニアの需要が高まっています。未経験ながらエンジニア職に興味を持ち習得を考え、「キャリアチェンジを目指したいがどのように勉強を進めていけばいいのかわからない」という方も少なくないと思います。
「未経験者からエンジニアへ転身する方法」について、オンラインプログラミングスクール「Code Camp」の現役講師、志賀琢也さんが講師を務めた「5万人を育てたCodeCampが教える 未経験から即戦力エンジニアになる方法」をもとに、エンジニアが求められる理由や未経験からエンジニアになる方法について考えていきましょう。
では、具体的にどのような知識とスキルを身につければ、エンジニアになれるのでしょうか?まずはWebサイトを作ること。そのために必要なのは以下の3つです。
1、フロントエンド学習
2、バックエンド言語・データベース学習
3、フレームワーク学習
フロントエンド学習
フロントエンド学習でポイントになるのが、Webサイトの見た目を作るための構造を理解することです。
1、HTML/CSSでページの見た目の作り方を理解する
2、JavaScriptでページの動かし方を理解する
まずは、HTMLやCSSと呼ばれる、ページの構造を作るための言語とページの見た目を作るための言語、これらを学ぶことでWebページの見た目がどういった形でできているかが分かります。続いて、画像のポップアップやメニューの表示・非表示など、ページに動きを与えるためのJavaScriptと呼ばれる言語も学ぶといいでしょう。
バックエンド言語・データベース学習
バックエンドとは、Webサイトの裏側を作る言語のことで、この構造の理解も必要になります。
1、PHP、Python、Ruby、JAVAの基礎を身につける
2、オブジェクト指向の文法をざっくり理解する
3、SQLによるデータベース操作の基本を理解する
4、コード品質の基本を理解する
「PHP」「Python」「Ruby」「JAVA」など、様々なプログラミング言語がありますが、まずはどれか一つの言語を集中的に学び、「言語の基礎」を身につけることがポイントになります。どの言語も基本構造は似ているため、基礎を学ぶことで他の言語にも応用が効くからです。
続いて、プログラミングの設計手法の一つである「オブジェクト指向」の考え方を学びましょう。オブジェクト指向とは、より直感的かつ再利用性が高いコードを生成することを目的とし、オブジェクトと呼ばれるデータ構造と、そのオブジェクトが持つ振る舞いを定義することによってアプリケーションを構築する考え方です。
また、書き込んだプログラムのデータ取得や更新など、「データベースを管理」するためのプログラミング言語「SQL」や分かりやすく読みやすいコードを作るための「コード品質」も身につけていきましょう。
フレームワーク学習
「フレームワーク学習」とは、既存のフレームワークを組み合わせてWebアプリケーションを簡単に作成できるキットのようなものです。 M
1、VCモデルとテンプレートの仕組みを理解する
2、単一テーブルでアプリケーション(掲示板など)を作成する
3、複数テーブルでアプリケーション(ブログ・ECなど)を作成する
4、各フレームワーク固有の便利な仕組みを理解する
フレームワークを学ぶためにまずは、「MVCモデル」を理解しましょう。MVCモデルとは、「Model(モデル)」「View(ビュー)」「Controller(コントローラー)」の頭文字から来ています。モデル、ビュー、コントローラーはそれぞれ役割が決まっており、プログラムの処理を役割毎に分けて開発を行う考え方で、Webシステムの開発に頻繁に用いられているのです。
例えば、Webシステムでユーザーの新規登録ができる機能があるとします。画面には、入力フォームが用意されており、ユーザーは項目を入力した後、登録ボタンを押下します。すると、プログラムは入力された値を受け取り、問題なければDBへデータを登録し、「登録完了」の画面をユーザーへ返します。
これらの機能や画面を1ファイルに書くことは可能ですが、非常に分かりにくいコードになります。そこで、MVCモデルの様な考え方を用いて、処理を役割毎に別の場所に書くことで、誰でも読みやすいコードになります。
この考え方をもとにWebサイト上にアプリケーションを用いて、掲示板やブログ、EC機能の追加などを身につけ、フレームワークごとの仕組みを学んでいきましょう。裏側の仕組みの理解は時間が掛かるため、一旦後回しにして、まずは上記の使い方を覚えていくことがポイントです。
多くのIT企業は「初心者の教育」に不慣れな場合が多いです。下記のように、現場でよく使用するツールの仕組みを知っておくことで、独自のツールを使っている企業への就職でも適応がしやすくなります。
1、「Linux」の各種コマンドを理解する
2、「Git」の基本コマンドを理解して、バージョン管理を日常化する
3、「Github」を利用したプルリクエストの仕組みを理解して、普段から利用する
4、各種フロントエンドツールの基本的な使い方を体験しておく
Linuxとは主に企業などの大規模基幹システムなどに使用される無料のOS(オペレーションシステム)です。多くの企業のWeb開発で使用されているOSのため、使い方を理解しておくと現場での対応が早くなります。
Gitとは、エンジニアがコードを複数人で協力して作成するためのシステムです。Gitを使用することで、複数人でのコードの作成、修正、統合を効率的に行うことができます。GitHubは、Gitを使ってWeb開発を行うためのサービスであり、Gitの使用に関連する多くのツールや機能を提供しています。
ポイントはここで紹介した、現場で必須のスキルを先行して身につけることです。エンジニアになるために最低限必要な知識とスキルを身につけた上で、現場で使えるスキルを優先して学んでいきましょう。
プログラミング学ぶなら!オンラインプログラミングスクールCodeCamp(コードキャンプ)
ペンシルからのプッシュ通知を設定しておくと、新着記事のお知らせなどをブラウザ上で受信できて便利です。
通知を受信しますか?
エンジニアは「将来安泰」と聞いたことがある方もいらっしゃるのではないでしょうか。なぜかというと、エンジニアが圧倒的に足りないからです。
主な理由は以下の三つになります。
1、IT市場の拡大
2、既存スキルの陳腐化
3、未経験者の参入ハードルが高い
IT市場の拡大
まず一つ目は、IT市場の拡大は今後も続いていくということです。当然ながらエンジニア市場にも追い風になります。
日本企業もDX(デジタルトランスフォーメーション)に本腰を入れ始め、ますます「人が仕事をする時代」から「コンピュータが仕事をする時代」へ加速していくでしょう。業務のデジタル化を進めるにあたって、エンジニアがプログラムを書く必要性が発生し、エンジニアのニーズも今以上に高まっていくはずです。
また、昨今ではAI・メタバース、ブロックチェーンなど新しい技術が次々と生まれています。こうした技術革新により、エンジニアが活躍できるフィールドがますます広がっていくでしょう。
エンジニアという職種は様々な企業で求められていますが、目先の待遇だけではなく、今後衰退し陳腐化する業界なのか、成長し重要性が増す業界なのかを見極め、戦略的なキャリア構築をしましょう。
既存スキルの陳腐化
エンジニア業界では常に新しい技術やツールが生まれます。つまり、既存のスキルが陳腐化しやすい傾向にあります。常に最新情報をキャッチアップし、それらを使いこなせるエンジニアが求められているのです。
また、エンジニアのリーダー・マネージャーの人材不足も起こっています。若いリーダー・マネージャーが生まれていますが、まだまだそのクラスの人材が不足しています。技術が陳腐化してしまったエンジニアでも、現場での一定の経験を持ち、かつマネジメント力があれば生き残れる可能性は高いです。 新
陳代謝が激しい業界のため、「新しい技術に適応できるエンジニア」もしくは「マネジメントができるエンジニア」になることで、息長くエンジニアとして生き残っていけるはずです。
未経験者の参入ハードルが高い
実務経験さえあればエンジニアは「無敵のキャリア」となり得ます。しかし、未経験者がエンジニアになるのはハードルが高いと思われるでしょう。確かにそういった側面はあります。
エンジニア職の採用面接の現場では、未経験の方からの応募も多く、いざお話しを伺ってみると「入門書を読んだだけ」という「なんちゃってエンジニアさん」もいらっしゃいます。
しかし、未経験者であっても、独学やスクールでしっかりと学び、可能な範囲でサービス開発をするなどしポートフォリオを作ることで、本当にスキルがあることを「証明」できれば、門戸が広がる可能性は高くなるでしょう。
つまり、未経験者でも入門書を読むだけでなくしっかりとプログラミングを学び、自分でもサービスを作って、一定のスキルや理解があることを示す。「なんちゃってエンジニアさん」をどのように超えていくか、それをいかに表現するかが大切になってくるのです。