見出し画像

【未経験から〇か月でエンジニアに転職!】ってホント?

【未経験から2か月でエンジニアに転職!】みたいな広告とか体験談とかって結構ありますよね。エンジニア転職についてGoogleなんか調べたことがある人だと、あっちこっちの広告で、にこやかにキーボードに手を置く人物の画像を目にしていることでしょう。

なんか難しいイメージがあるエンジニアとかプログラミングが2か月で?本当に?ってなりますよね。興味はあるけどなぁって人ならなおさらそうだと思います。

今回は一応現役エンジニアの視点から、このテーマについて話してみたいと思います。

本文

まず結論「2か月でエンジニアになれるかどうか」についてですが、
なれます。

超大手とか有名ベンチャーとか、いわゆる難関企業を選ばなければどうしようもないくらい論理的思考力が無いとかじゃない限り可能だと思います。

というか実際、そういう一流企業でも中小企業でも、1~3か月程度の研修をして現場に配属、ってパターンが多いんじゃないかなって思います。

別に「理系だったら」とか「数学が得意だったら」みたいな条件も付きません。文理も数強数弱も関係ないです。

もちろん理系であれば、何らかのプログラミング言語に触れる機会は比較的多いでしょうし、数学はできた方が有利ではありますし、がっつりAI開発、ビッグデータ解析とかになると数学は必須ですから、それらが全く役に立たないということはありません。

ただ、それらの経験がないからなれないほどエンジニアは狭き門ではないと思います。

「よかった~!2か月でエンジニアになれるのか!」

と安心して貰えたらなら良かったです。

余談

既に個人的な結論は述べたので、ここで終わっても良いのですが、一応伝えておきたいことがいくつかあります。

まずは「どういうエンジニアになりたいのか」です。

これは「優秀で、パソコンのことならなんでも答えられるスマートなエンジニア!」みたいなざっくりとしたものではなく、「何系のエンジニアか」という質問です。

web系とか、ゲーム系とか、組み込み系とかです。

こちらのサイトを参考にすると
・システムエンジニア
・webエンジニア
・インフラエンジニア
・上流工程担当エンジニア
・その他のエンジニア
の5つだそうです。

現場では上流工程担当エンジニアは、いわゆるSE(システムエンジニア)で、PG(プログラマ)の上位職という位置づけですが、この分類では「システム開発系のエンジニア=システムエンジニア」というニュアンスで用いられているようです。

web系とかだとHTMLやCSS、JavaScriptなど比較的に難易度の低いプログラミング言語やマークアップ言語を使うことが多いので、初期の技術面に関しては負担が少ないと思います。また、作る製品がイメージしやすいというのもある意味長所ですね。ただ、フルリモートやフリーランスになりやすいということで人気ですし、努力や能力が平凡な人だと埋もれてしまいがちな分野でもあると思います。

一方、組み込み系になると、基盤を触ってドライバやファームウェアを開発するためにレジスタや電気系に関する知識も求められます。また、「取り合えずそれなりのクオリティで出して、バグは後から修正」みたいなことが難しいため、より幅広い知識と正確な作業が求められます。さらに、基盤を使う関係上、エンジニアといえばのフルリモートが難しいのも特徴ですね。正直、社内リソースにアクセスできるのであれば、製造工程まではリモートでも可能なはずですが、そうはなっていない現場が多いのが実情だと思います。

ネガキャンになるといけないので一応長所も挙げると、昨今のIoTやAIブームの影響でますます需要が増えているのに、不人気で供給が不足気味なのが組み込み系です。また、AIによってプログラマが淘汰されるのでは?という説の中でも、恐らく最後の方まで生き残るのも組み込み系だと思います。web系とかは最初に死にそう(偏見)。

あとは「エンジニアになることは簡単、エンジニアとして成長することは難しい」ということですね。
物事を達成するためには、いくつかハードルがあると思いますが、ものによってハードルの位置や高さはそれぞれ違いますよね。

例えば、弁護士と医者。どちらも成ることが困難なことで有名です。
しかしそのハードルの位置を考えてみると、

弁護士は法学部やロースクールに入ることはそれほど高いハードルではなく、司法試験に合格することが大きなハードルだと思われます。

一方、医師は医学部に入ること、また医学部の学費を工面することが大きなハードルであると考えられます。医師国家試験の合格率は9割ほどなのでそれほど高いハードルではないように思います。(そもそも多くの受験者が医学部に入れるくらい高い学力を持っている点には注意)

こんな風に、特定の職業に就くという目標一つとっても、それぞれに別々のハードルが用意されています。それで言うならば、エンジニアのハードルは「なること」ではなく、「年次に合った成長をし続けること」だと考えています。

普通の職業であれば、ある程度の期間勤めれば慣れてきて活躍できるようになるというケースが多いのではないでしょうか。

エンジニアはそこまで順当にはいかないように思います。生涯勉強が必要です。常に新しい仕様やAPI、プロトコルは生まれますし、その度にくそ読みにくい上にくそ長い技術仕様書と格闘しなけばなりません。

キャリア30年とかのベテランの人が毎日技術資料と格闘して難しい顔をしています。

社外秘の技術資料だったりマイナーな規格の文書だと、うんこ見たいな記述がよくあります。仕様書に書いてあるのにそのように動作しなかったり、そのそも文章が破綻していたり。有名なOSSとかでも「え?正気か?」みたいな仕様なことは多々あります。

ググればよくね?って思いますよね。でも考えてみてください。「ググる」の本質は集合知です。要は先にそれについて調べたり、知っている人が情報を発信することで、それらをアセットとして利用することができるのです。つまり、マイナーな情報や新しい情報、一般向けでは無い情報などはそもそもネット上に存在しないものが多くあるのです。

場合によってはエンジニアはほぼ常に、新しいを調べて発信する側に回ることが多い上に、ニッチな知識なので金にも成り辛い。

これは問題が起きた時、何も考えずともググれば数秒で回答が得られる時代を生きている我々との相性は最悪です。

それこそ学生時代まに思考体力を身に着けられなかった人類にとっては死亡宣告と言ってもよいでしょう。

とか言いつつ勉強しなくても、良く分かっていなくてもなんとかなってしまうのもあるあるですよね。


この記事が気に入ったらサポートをしてみませんか?