仮想サーファーの波乗り

仮想サーファーの日常

プログラミング・エンジニアのスキルアップ・ブログ運営などに関してよく書く雑記ブログ

プログラミング初心者が誤解しているエンジニアに対しての3つの誤解と真実


f:id:virtual-surfer:20191214224806p:plain

プログラミング初心者の頃って、どうやったらエンジニアになれるんだろう...と悩んでしまったり、エンジニアとして働いている人の普段の過ごし方に関して、理解できないことが多いですよね。

実際、先日プログラミングを学習してエンジニア転職を考えている方の相談を受けた時に、「ああ、この方はエンジニアに関してかなり誤解しているな...。」と感じることがありました。

今回は、Webエンジニア3年目の立場から、プログラミング初心者の多くの方がエンジニアに関して誤解している3つのことに関して、真実をまとめておきます。

これからプログラミングを勉強してWebエンジニアに転職しようと思っている方、すでに勉強中の方の参考になればと思います。


誤解①:「エンジニアになるのって難しいですよね...。」

よくある誤解の一つ目がこれですね。

エンジニアになるのってめちゃくちゃ難しいですよね...。「どうやって文系からWebエンジニアになれたんですか?!」って聞かれることが多い。


(学習に対しての基準が高ければ)エンジニアになることは簡単です

結論から言うと、Webエンジニアになること自体は簡単です。

ですが、「本業で週5日間プログラミング以外の仕事をしていて、平日夜と週末は自分の趣味の時間も大事にしたい。空いた時間でプログラミングを勉強したいと思っています、」という方にとっては、Webエンジニアになるのはめちゃくちゃ難しいです。

f:id:virtual-surfer:20191214204758p:plain

「Webエンジニアになるのなんて簡単だよ!」と言っている未経験からのWebエンジニア転職成功者の多くは、本業以外の平日夜の時間や、土日の時間をプログラミングにあててプログラミングの知識をしっかりつけた上で転職活動をしています。そういう転職成功者の当たり前基準で言うと、Webエンジニア転職は簡単なんですね。


「簡単にWebエンジニアになれるよ!」と言っている人は、学習の基準が高いので土日も平日の夜もプログラミングを勉強するのが当然という意識で過ごすので、結果的に2、3ヶ月後にはプログラミングについての知識もスキルもつき、独力でWebアプリケーションの開発もできるところまで成長します。

一方で、「簡単にWebエンジニアになれる!!」という言葉をそのまま受け取って、週に1、2時間勉強すればいつかはWebエンジニアになれるかな...?という学習へのスタンスで日々を過ごします。そして、結果として半年経っても大したプログラミングスキルはついてなくて、どの企業からもエンジニアとして受け入れてもらうことができず、「エンジニア転職難しいじゃん...簡単なんて嘘だったじゃないか...!」という逆恨みに走ります。


スキマ時間の勉強を継続してもスキルは伸びづらい

中学校、高校と週に1、2時間だけ英語を勉強する生活を6年間続けて、英語が話せるようになりましたか?

同じことをプログラミング学習で繰り返しても、絶対にプログラミングができるようにはなりません。

「Webエンジニアになると決めていますから」という心持ちで、平日は4時間、土日は10時間など、2ヶ月程度の短期間でいいので一気に集中してプログラミングを学習した方が間違いなくプログラミングスキルは伸びますし、短期間での成長度合いが見込まれて企業にエンジニアとして受け入れてもらえる可能性が高まります。

プログラミング初心者のエンジニアに対しての誤解と真実①

  • 誤解:エンジニアになることは難しい。
  • 真実:一気に集中してプログラミングを学べば、エンジニアになることは難しくない。しかし、週に1、2時間程度の学習を長時間続けるだけだと、エンジニアになるのは超ハードモード。


誤解②:「エンジニアになっても、土日もずっと技術の勉強するんですよね...つらくないですか...?」

こちらもよく聞かれる誤解ですね。

結論から言うと、全然つらくないし、むしろ土日にプログラミング触っていないとなんだか気持ち悪いくらいになります。


短い時間で多くのことを学べるようになるから負担ではない

土日にもプログラミングをするとはいっても、プログラミング学習初期の頃のように猛烈に集中して一日中プログラミングの勉強をするかというと、そんなことはありません。

エンジニアになって半年〜1年以上業務経験を積むと、ある程度プログラミングをするときに考えないといけないことが分かるようになりますし、なにかエラーが発生しても自分で調べて解決する力がついているので、初期の頃に比べるとめちゃくちゃ効率的にプログラミング学習を進めることができるようになるので。

f:id:virtual-surfer:20191214213442p:plain

これはどんな分野でもそうだと思いますが、学びたての頃に10の時間をかけて1のことを学んでいたのが、1の時間で5〜10のことを学べるようになっていきます。

たとえば、本業で営業職をやっている方であれば、営業職で考えてみていただくとわかりやすいと思います。

営業職をはじめて最初の頃は、名刺の渡し方からお礼メールの送り方と文面とタイミング、営業中のトークスクリプト、提案書の作成方法、商材に関して何か質問された時の回答例など、膨大なことに関して一つずつ何が正解かを上司に相談したり試行錯誤しながら仕事を進める必要があって、めちゃくちゃ勉強しないといけないですよね。

f:id:virtual-surfer:20191214214051p:plain

ですが、1年もすると自分の中で営業の進め方、どうやったら成約が取れるかなどのテンプレのようなものが出来上がってきて、新規の営業先が増えても、少し学ぶだけで先方に最適な提案をできるようになると思います。


エンジニアの場合も同じで、最初の頃はそもそもプログラミング言語の書き方の正解もわからないし、エンジニアの仕事の進め方もわからないし、会社で使われている多くのツールや技術の使い方を知らないので、めちゃくちゃ学ぶことがあります。

しかし、1年もエンジニアとして業務経験を積むと、プログラミングの基本的な考え方や、Webアプリケーションの基礎について理解できているので、たとえば新しくスマホアプリの学習をするとなっても、1から100の知識のうちの1から90くらいはWebエンジニアとしての経験で学んだことと重複するから、残りの10だけを学べばいいというようになっていきます。

なので、土日に技術の勉強をすると言っても、普段の業務で学べないことを学んで知識を徐々にアップデートしていくだけでよいので、技術書を買ったり、Udemyのような動画学習サイトで3〜4時間勉強すれば事足ります。


新しいゲームをやってレベルを上げ続ける感覚で、技術を学ぶことが楽しくなっていく

もっというと、土日などは業務で使っている技術ではなく、純粋に自分が興味がある技術に関して学んだりアウトプットする時間を作ることができるので、むしろ土日のプログラミングの時間の方が楽しくなったりします。

ふとしたタイミングで、土日の時間で学んだ本業以外の技術が本業でも活用できて活躍できたりもするので、土日の学習がより楽しくなってくるのもありますね。

ゲーム好きな方なら、ポケモンとかドラクエの新しいゲームが出たらすぐに買ってやってみたくなるし、強い敵や難しいコースを攻略したくなるし、徐々にレベルを上げるのが楽しくなっていくじゃないですか。エンジニアも同じような感覚で新しい技術をさわりたくなっていくし、より難しい実装に挑戦したくなるし、技術力を上げたくなっていきます。

プログラミング初心者のエンジニアに対しての誤解と真実②

  • 誤解:エンジニアになっても、土日もずっと技術の勉強するのつらそう。
  • 真実:エンジニアとして経験積むと少ない時間でより多くの新しいことを学べるからつらくない。むしろ新しいことを学ぶことがゲーム感覚で楽しくなっていく。


誤解③:「プログラミングできるようになったらエンジニアに転職します。」

これは誤解というわけではないかもしれないですが、プログラミング初心者の方の中でめちゃくちゃよくある間違った考え方ですね。

この考え方をしていると、いつまでもエンジニアにはなれません。プログラミング全然できないし、めちゃくちゃ分からないこと多いけど、一回エンジニアになってしまおう!と考える人だけがエンジニアになれます。


エンジニアにならない限りは、エンジニアとして働けるようにならない

f:id:virtual-surfer:20191214220725p:plain

個人で勉強できるプログラミングスキルには限界がありますし、そもそも何を学べばいいのかが見えてこないので、エンジニアにならない限りは、どれだけ勉強してもエンジニアにとして問題なく働けるようにはなりません。

「エンジニアになるために必要なスキルをちゃんとつけてから、エンジニアになろう!」という考えでプログラミングの独学を続けるのは、「こけないようになってから、自転車の補助輪を外そう!」と考えていつまでも補助輪をつけた状態で自転車をこいでいるようなものです。

補助輪をつけている限りは、補助輪なしで自転車をこげるようにはなりませんよね。


いつまでにエンジニアになるか決めよう。話はそれからだ

まずは、いつまでにWebエンジニアになるのか決めてしまいましょう。

期限を決めないと、具体的に必要な行動を書き出して動き出すことはできないものです。


オススメの方法は、とりあえず2ヶ月間プログラミングを続けると決める。2ヶ月目でエンジニアとして転職する。エンジニアになったらどんなに精神的につらくても、半年間はエンジニアとして逃げずに学習し続けること。と決めてしまうことです。

www.virtual-surfer.com

↑こちらの記事にぼくが未経験からエンジニアになった時の最初の1年半の振り返りと精神状態を書いていますが、エンジニアとして働き始めて最初の半年間くらいは自分のできなさ具合に絶望して、もともとやっていた仕事に強烈に戻りたくなりました。

エンジニアとして働くよりも元々やっていた仕事の方が成果を出す方法に慣れていますし、自分の仕事のできなさに絶望することもないですからね。


最初の半年間で自分のできなさ具合に絶望しながらもエンジニアを続けてきたことで、今はエンジニアとしてある程度働けるようになっています。エンジニアになった当初、「半年間は絶対にエンジニアを続ける!」と決めていなかったらエンジニア職から逃げ出していたかもしれないので、よかったなと思います。

プログラミング初心者のエンジニアに対しての誤解と真実③

  • 誤解:プログラミングできるようになったらエンジニアに転職します。
  • 真実:エンジニアにならない限りはエンジニアとして働けるようにはならない。自分のできなさに絶望しながらも逃げずに続ければエンジニアとして働けるようになるし、徐々に楽しくなっていく。


まとめ

今回の記事では、プログラミング初心者の方によくある3つの誤解とその真実をまとめました。

この記事で挙げた誤解に一つでも当てはまった方は、ご自身のこれからのプログラミング学習の方法や、エンジニアとして転職する時期についてあらためて考えてみるとよいかもしれませんね。


エンジニアになるために、最低限なにをどうやって勉強してばいいの?という方は、こちらの記事も参考にしてみてください。

www.virtual-surfer.com


では!