ファンブリューの金井です。
未経験エンジニアにとって一番の難関が始めの現場に入るまでというのは、IT業界で働く方なら想像できるのではないでしょうか。
プログラミングスクールなどを見ると「3ヶ月でエンジニアに!」といった内容があったりしますが、確かに3ヶ月みっちりと学ぶことは大事ですが、もっというと半年間しっかり学んでも、技術力だけでいうならまだまだ足りないと思っています。
それでは1年ならどうかというと、実はそういうことでもなく、「じゃあ、いつになったらエンジニアとして活躍できるんだ…」となるわけですが、結局、明確な答えはありません。
ただ一つ、間違いなく言えることは、現場に入ったならプロジェクトの一員として役に立つことです。
今回はこの役に立つことについて、書いてみたいと思います。
未経験エンジニアの「活躍する」は一人称
プログラミングを学びたい、学ぶ!と思っている人は、プログラミングを覚えることが目的になっている可能性があります。
もちろん、プログラマーとして活躍するならプログラミングの学習は必須です。
とはいえ、お金をもらってプロとして働くなら結果を出すことが求められます。
これはシステムを組み上げて納品するとか、そういった話だけではありません。
例えば、プロジェクトをスムーズに進行させるために議事録をしっかりとる。
コーディング業務がメインだが、不具合が増えているのでテストに参加する。
そういった全体を見る動きが大事になります。
なぜこんなことをするかというと、未経験者だと、当然ですが技術力が足りず、足を引っ張るからです。
バリバリプログラムを書いてすぐに活躍できるほどの能力があれば、現場でその能力をいかんなく発揮すればOKです。
しかし、まだそこまでのレベルでないなら、技術力を使って活躍できるまで、他のことでプロジェクトに貢献しなければなりません。
まるで職人の丁稚(でっち)のようですが、こういった動き方ができないと、現場で経験だけを積みたい使えない人材というレッテルを貼られてしまいます。
やる気があるのにこのような評価をされてしまうのは非常にもったいないことです。
ですので、「エンジニアで活躍する!」と思うなら、まずはそのプロジェクトのどのポジションで活躍できるのか、意識しながら仕事に取り組みましょう。
分かりやすい能力だけに固執してはいけない
いきなりですが、Pythonを学べば現場で活躍できるのか、これははっきりとNoと言えます。
スクールで学べることに「〇〇という技術が身に付きます。」という内容であったり、プロジェクトの募集要件は「〇〇の技術が3年以上」などの文字が並びます。
もちろん、他にも詳細事項は書いてありますが、これが全てではないことは暗黙の了解となっています。
未経験の方がエンジニアになるために、まずは「Pythonの経験を3年ぐらい積む」という目標を持つのは非常に大事です。
しかし、それだけでは足りないということを、ぜひ覚えておいてください。
ITの仕事はパソコンに向かってひたすらキーボードを叩き続ける仕事だと思われているかもしれません。
実際にはそういった部分と、突然の不具合で調査、緊急ミーティングで状況説明をさせられるということもあります。
この例のように突然呼び出されて、調査も終わっていないのに報告となった時に活かせるスキルは、コミュニケーションスキルだったりします。
もしくは、とりあえずひたすら謝って1秒でも早く調査に戻るといった「図太さ」かもしれません。
これは極端な例ですが、なかなか文字に起こしづらいスキルというのも大事になってきます。
そのように考えたときに、技術的な分かりやすい能力を磨くとは別に、現場での対応力のような、一見分かりづらいスキルについても、必ず意識しておきましょう。
可能ならそれを文章に起こしたり、もしスキルシートに書けるようなら、まとめておいたりすると尚良いです。
面談ではそういった経験をストーリーとして語れると、総合能力の高さが評価されることでしょう。
今までの経験を全て活かす
未経験からエンジニアというと、例えば第二新卒の方であれば、最初に経験した仕事が活かせないかというと、そんなことはありません。
先にも「分かりやすい能力だけに捉われない」ということを書いていますが、エンジニアの仕事も総合力が問われます。
とはいえ、専門職でもあるので、IT知識を身につけないと現場では活躍できません。
逆にいうと、例えば、飲食業で身につけた対人能力があるとか、繁忙期に耐えられるガッツを前職で経験したという人は、IT業界では専門知識を中心にスキルアップをすればOKということになります。
もちろん、IT業界特有の立ち回りなどは学ぶ必要がありますが、精神的に打たれ強くなった、創意工夫する発想を身につけた、といった能力は新しい業界でも十分に活用できます。
ですので、新しい仕事にチャレンジするからといって、「全てを捨て去って一から経験するんだするんだ」と思わなくても大丈夫です。
遅かれ早かれエンジニアとして仕事をするなら、ある一定の能力は誰しも身につける必要があります。
それ以降の得意分野や専門性は、その人自身の能力や志向によって自動的に決まってくるでしょう。
フロントやサーバーサイドなどの括りに限らず経験すること
フロントエンドエンジニアやバックエンドエンジニア、インフラエンジニアなど、さまざまな括りがありますが、これは単純にどれが得意かというだけの話です。
例えば、プログラミング言語のTypescriptの採用が増えてきていますが、これはもともとフロントエンドで使われてきたJavascriptのスーパーセットです。
もちろん、NodeJsなどサーバサイドで動くJavascriptもあるのですが、同じプログラミング言語で動くなら、フロントやバックエンドと分けずに、積極的に経験してみてほしいと思います。
特に小さなプロジェクトで少人数で開発をしているときに、「サーバーの設定はインフラエンジニアに…」と言っている暇はありません。
先ほどのTypescriptもそうですが、フロントで投げたAPIがバックエンドでどのように受け取るか、これは技術的にも知っておいた方がいいですし、あえて役割で分断してやらないと判断するのはもったいないです。
大きなプロジェクトでは工数が多いので、注力してフロントをやる、バックエンドをやるという人がいた方が効率が良いでしょう。
しかし、エンジニアのキャリアとして考えるなら、経験できる機会があるなら何でも経験した方がいいというのが私の考えです。
エンジニアとしては好きな技術・嫌いな技術もあるかもしれません。
それでもいち早く現場で活躍できるエンジニアになりたいなら、何でも学ぶ貪欲さを持ってほしいと思います。
最後に
未経験のエンジニア必見と書いた記事ですが、改めて一言でまとめるなら現場で役に立つことが大事ということです。
現場経験を積みたい未経験エンジニアと、現場経験者を採用したいプロジェクトの担当者の思いが噛み合うことはありません。
ではどのようにすれば未経験のエンジニアが現場に入れるのか。
それは自身がプロジェクトで活躍できることを証明するしかないのです。
もちろん、現場経験がなくても、独学や研修でスキルを積み上げることは可能です。
しかし、半年、一年とじっくりスキルを身につけてから現場に行くのでは、エンジニアとして活躍するまでに時間がかかりすぎます。
結局、大変ながらも現場でしがみつきながら実務経験を積んだ方が、より早くエンジニアとして成長ができますし、現場でどういった能力が求められるのかも理解できるでしょう。
ただ、現場に行くだけでは日々の業務に忙殺されてしまうので、欲を言うと、プライベートの時間も使ってでも学習を継続することを提案します。
無理強いするものではありませんが、ITの仕事は専門職です。
特に最初は現場が求める能力と自身のスキルにギャップがあるので、軌道に乗るまでは辛い思いはするでしょう。
しかし、それを乗り越えるからこそ、エンジニアという仕事は自由な働き方もしやすいですし、給与水準も高い傾向にもあります。
手に職なのでフリーランスという道も開けます。
ぜひ一度、今やっている学習が将来どこにつながるのか、考えてみてはいかがでしょうか。
拙い文章ではありますが、ここまで読んでいただきありがとうございました。
ファンブリューではエンジニアになりたい人を支援しています。
現在こんなお悩みがあれば、ぜひ一度ご相談ください。
- プログラミングを学習したいが、何から始めたらいいかわからない。
- IT業界に就職するために必要な知識が何かわからない。
- 実務経験がなくて現場に入れない