未経験からエンジニア転職するのに必要なスキルはどれくらいか
エンジニアの伊敷です。
未経験からクライマーでエンジニアとして働き初めて1年半が経ちました。
プログラミング未経験からエンジニアを目指して勉強を始めたのがもう2年半も前の事になると思うと時間が経つのが早すぎて怖くなります・・・
エンジニアを目指して勉強していた当時を思い返すと「何をどれくらい勉強すればいいのか」がわからなかった事が原因で非効率な学習方法になっていたなと思います。
実務に必要なスキル感が掴めていなかっため、闇雲に色々な技術の学習に手を付けるなど迷走している時期もありました。結局、実務が一番学びになるので、必要な事を最低限学習して就職するのがエンジニアになるための最短経路だと思います。
そこで、自分の経験から考える未経験からエンジニアになる際に「これくらいわかっていればOK」という必要なスキル感についてまとめます。
エンジニアを目指す人に「何をどれくらい勉強すればいいのか」の一例として参考にしていただけたらと思います。
マークアップ言語
・HTML
・CSS
HTMLとCSSは、Webサイトの表示部分を作るマークアップ言語ですが、システム開発を行うエンジニアにも必要です。
機能改修の際には、その変更に伴ってWebシステムの表示部分にも修正が入る事がほとんどなので、現状のHTMLとCSSの構造を確認して、変化を加えられる程度のレベル感は必須だと思います。
プログラミング言語
・サーバーサイド系言語1つ(PHP・Rubyなど)
・JavaScript
まず、サーバーサイドで動くプログラミング言語を一つ(PHP・Rubyなど)身につける必要があります。私はPHPを選んで学習しました。
サーバーサイドで動くプログラミング言語の主な役割は、DBにデータを入出力する事です。そのあたりの感覚がわかるような簡単なアプリ(掲示板アプリなど)を作って学ぶのがおすすめです。
また、ブラウザ側で動くJavaScriptの基本も身につけておく必要があります。基本的な文法に加えて、DOM操作・イベント処理・Ajaxの概念を理解しておけば実務に対応できるはずです。
フレームワーク
・サーバーサイド系言語のフレームワーク一つ(Laravelなど)
自分が学習しているサーバーサイドのプログラミング言語のフレームワークを一つ学んでおく必要があります。私の場合はPHPのフレームワークであるLaravelを学びました。
システム開発はほとんどがフレームワークを使用して行われるため、基本的な概念は理解していないと実務に対応できません。
一つのフレームワークを学んで大まかな使い方がわかれば、他のフレームワークでも考え方を応用できるため、一つを集中的に学習すればいいと思います。
フレームワークを使って認証とCRUDを使用するアプリを作れば、システム開発でよく使う基本的な機能への理解が進むのでおすすめです。
開発環境系
・Git
・Docker
Gitは、全くわからないという状態だと仕事が進められないため、「git add」「git commit」の基本操作と最低限の用語の理解はしておく必要はあるかと思います。
「マージしてコンフリクトを解消する」などのGitの運用上発生する色々なケースへの対応は一人だとどうしても学習しにくいため、実務に入ってから覚えていけばよいと思います。
Dockerは、コンテナを立ち上げられる程度になっていれば大丈夫です。ゼロから環境の構築が出来るようになるには時間がかかるため、未経験入社段階だとそこまでは求められないはずです。先輩が作った環境を立ち上げて開発がスタートできるというレベル感を目標にするといいと思います。
まとめ
未経験からエンジニアになる際に必要なスキルをまとめると以下のとおりです。
・HTML
・CSS
・サーバーサイド系言語1つ(PHP・Rubyなど)
・JavaScript
・サーバーサイド系言語のフレームワーク一つ(Laravel)
・Git
・Docker
多いような気がしますが、集中して効率よく取り組めば最短で半年程度で一通りの基本は理解できると思います。
\弊社では一緒に働いてくれる仲間を募集しております/
エントリーはこちらから▼