「未経験からシステムエンジニアになるにはどうしたら良いか」と考えている方が、最初に思いつくのは恐らく「ITスクールに通って勉強する」か「未経験者OKの会社に転職する」だと思います。
どちらの場合でも長所と短所があります。
この記事は「ITスクールに通って勉強するべきか?未経験者OKの会社に入社して現場で学ぶべきか?どちらが自分に合っているのか」を判断するための情報を記載しています。
未経験からシステムエンジニアになった私の実体験を元に執筆しているので、未経験者や駆け出しエンジニアの方には良い判断材料になると思います
上記の境遇に共感できる方々が参考にしていただければ幸いです。
「ITスクールに通って勉強するべきか?未経験OKの会社に入社して現場で学ぶべきか?」に答えはない
項目のタイトル通り、答えはありません。
それは人によって得意な学習方法が違うからです。
学生時代の話で例えると塾に通う人や独学で勉強する人、ましてや授業中の勉強のみでも成績を伸ばす人だっていたと思います。
それと同じようにプログラミングやシステムエンジニアが必要な知識を学ぶ際も自分に合った方法を選定することが大切です。
私は未経験からプログラミングを始めました。そして、未経験から現場に入ってきた研修生に教えた経験も何回かあります。
そんな私の意見からすると「ITスクールに通って勉強する」ことに向いている人は以下に該当します。
・パソコンの知識が全くない(パソコンに触れたことがない)
・基礎から親切丁寧に、そして細かく教えてほしい
あまりいないと思いますが、パソコンという概念から知らないという人はスクールに通った方が良いでしょう。
そういった方の場合、もはや入社すらできない可能性が高いので、ぜひスクールに通ってください。
また「基礎から親切丁寧に、そして細かく教えてほしい」という確証が欲しい人もスクールに通うことをおすすめします。
「現場で学ぶ」場合、基本的に教えることに関してプロではない人が担当するので、良い学習を保証できません。
むしろ、普段システム開発をしている人は作ることのプロなので、教えることは得意でない方が多いと思います。
ましてや、現場で自分の仕事をこなしながら教えることだってあります。
さらに教わる人とそりが合わない人だっています。
もし合わなかった場合、それだけの理由で評価に影響するといった例も少なくはありません。
わかりやすく伝えることや、私情を挟まないで教えるというのは容易ではありません。
現在、私は教員免許を所持しており、実習をしたからわかるのですが、それほど人に何かを教えるということは難しいことなのです。
教えるのがうまい人に当たれば良いかもしれませんが、現場の場合はその確率が高いとは言えないでしょう。
そのため、確実に「基礎から親切丁寧に、そして細かく教えてほしい」という人はスクールに通うことを推奨します。
逆に、上記に該当しなければ「現場で学ぶ」ことに向いていると言っても過言ではありません。
また「ある程度プログラミングの基礎を理解している人」も「現場で学ぶ」ことに向いています。
その理由は「「スクールで学べること」と「スクールでどこまでを学ぶべきか」」の項目で説明します。
ここまで読んでも、自分がどちらに向いているか判断できないという人は、次の項目で記載する「スクールで学ぶ場合」と「現場で学ぶ場合」を読んでから判断してみてください。
スクールで学ぶ場合
「スクールで学ぶ」までのハードル
スクールで学ぶまでのハードルは「費用」です。
まず、当たり前ですがスクールに通う費用を用意しなければなりません。
費用は授業形態や内容によりますが、最低でも10万円以上はかかります。
スクールで学ぶ場合、学習時間外に別の仕事をすることは可能ですが「現場で学ぶ場合」は同時に就労をしているので、給料が発生します。
そう考えると「現場で学ぶ場合」と比較した時、最終的に相当な費用がかかっていることがわかると思います。
「スクールで学べること」と「スクールで何を学ぶべきか」
まず「スクールで学べること」についてですが。
スクールにもよりますがパソコンの起動から操作、インターネットの構造を学びます。
そして、プログラムの動かし方からある程度のシステム開発ができるところまでを学習します。
これもスクールによりますが、プログラミングとは直接関係のないパソコン本体の内部構造の理解、ビジネスマナーまで学習するところもあります。
次に「スクールで何を学ぶべきか」についてですが。
基本的にスクールで習うことは全て現場で役立ちます。
学習の要領によっては疑問を感じることがあると思いますが、実際の現場で仕事をしていくうちにその意味合いが分かってきます。
その中で特に忘れてほしくないのは「ログ」と「デバッグ」です。
システムの開発は障害がつきものであり、発生した際は修正しなければなりません。
最初は画面の開発よりも障害の修正を担当するパターンが多いと思います。
その際に必要になりますので、障害の原因が記載される「ログ」と障害までの処理を追う「デバッグ」はとても大切です。
現場やシステムによって方法は異なりますが、必ず把握しておきましょう。
スクール卒業後、現場で必要になる要素
プログラミングに関しては、システムの構造や流れなどは感覚で覚えることが大切なので、結局は数をこなすしかありません。
それよりも現場ですぐ必要になる要素は「コミュニケーション」です。
プログラミングに関しての不明点があった場合、人に聞くのが一番早いのですが、慣れていないと抵抗があるものです。
また、業務でメールを使用する際のマナーや文言の組み立て方は慣れが必要ですので、最初は上長と相談しながらやるべきです。
普段からコミュニケーションを取っておけば、そういったことを何気なく相談できるうえに、何かで失敗した時も大目に見てもらえることもあります。
そのため、最終的にプログラミング技術と同じくらいコミュニケーション能力も評価の対象となる場合があります。
現場に入った際は現場の方々と積極的に話をしていきましょう。
もう一つ、現場で必要になる要素は「調べる力」です。
習っていない技術や機能は必ず出てきます。
知らないことを現行ソースから探ることやネットで検索をして、積極的に「調べる力」を培っていきましょう。
現場で学ぶ場合
「現場で学ぶ」までのハードル
「現場で学ぶ場合」までのハードルは「入社」です。
具体的には入社するために、プログラミングに関する知識を養うことが必要となるでしょう。
「未経験者OKの会社」の場合、入社してから会社御用達のスクールに通うところもありますが、大抵は少しの講習を受けた後、現場で学ぶことになります。
未経験者OKと記載してはいるものの、現場に早く慣れることを優先しているので、少しでもプログラミングに精通している人が有利になります。
そのため、会社によっては適性検査を実施し、その結果で採用を決めるところも少なくありません。
現場で学べること
現場では主に案件のシステムに沿って学習することになると思います。
例としては、ソースを見ながらシステムを動かし、設計書を確認しながら各画面の仕様を把握することからはじまり、システムのテスト、軽微な障害の修正、設計書の修正を担当します。
最低限の講習を受けてから現場に入るので、この程度の作業はこなせると思います。
また、現場の方もそれを踏まえて作業を振り分けているので安心してください。
現場で学ぶ際のコツ
現場で学ぶ際のコツは「処理一つ一つを細かく理解せず、全体の処理を把握すること」です。
最初から理解できる処理は限られていますし、細かく理解していると多大な時間がかかってしまいます。
そして、基本的に自分でコードは書かずに、コピペを使用することに慣れてください。
もちろん、処理を理解した上での話です。
自分が記述したい処理に似たような処理を他で見つけて、処理を理解し、コピペしてから修正することを一連の動きとしてください。
そうすることで作業が大幅に効率的になるはずです。
そして、わからないところは現場の人に聞いてください!それが早くて確実で安心です!
また、処理などのコメントは必ず記載するようにしてください。
最初は「書きすぎではないか?」と感じるくらいでも構いません。後々必ず役に立つので、癖をつけるようにしていきましょう。
そして、知らない機能や記述方法は積極的に学んでください。
新しくてわからないこともその場で悩み、解決すれば他の現場で早急に対応できます。
他にも「スクール卒業後、現場で必要になる要素」でも記載した「コミュニケーション」や「調べる力」も大切なので意識してみてください。
スクールで学ぶ場合と、現場で学ぶ場合の両方に言えること
「スクールで学ぶ場合」、「現場で学ぶ場合」どちらにしても良い環境であるかを判断することが大切です。
スクールで学ぶ場合でも現場で学ぶ場合でも、教え方がひどいところはあります。
最初だから環境の良し悪しが分からないと思いますが、「これが普通なのだ」と思いこまず、自分がおかしいと思ったことは周りの人や会社としっかり話し合ってください。
実際にスクールでも現場でも環境に堪えられなくなって、やめてしまった人を何人も見てきました。
つらいことも少なからずあると思いますが、最小限に抑えることに努めてください。
最後に
この記事を一読して、自分が現在どの位置にいるのか、なんとなく把握できたと思います。
「スクールで学ぶべきか?現場で学ぶべきか?」どちらが良いかは一概には言えませんので、自分に合った方を選択してください。
また、どちらにしても「良い環境」か「悪い環境か」を判断することは忘れないでください。
エンジニアという職業は慣れてしまえばとても快適で将来性のある仕事です!
その上、現在の社会問題であるコロナ禍にも順応できる職業なので、ぜひ諦めずに頑張っていきましょう!
以上「システムエンジニアの技術はスクールで学ぶべきか?現場で学ぶべきか?」でした。