誰でも未経験からプログラマーになれる!
なんて謳い文句が出てから久しいですが、果たして今からでもプログラマーを目指すことはできるのでしょうか??
結論から言えば、なれます!なれますし、目指すだけでも価値があります。
この記事では、2021年に未経験からプログラマーへの転職を果たした現役プログラマーが、そんな疑問に答えていきたいと思います。
プログラマーのメリット
まず、プログラマーになって本当に良いことあるの?というところから簡単におさらいしておきたいと思います。(他のサイトでも十分すぎるほど紹介されていることなので、ここではさらっと紹介します。
- (比較的)未経験からの参入障壁が低い
- (自己研鑽すれば)自分のペースで自分のスキルを上げていきやすい
- (自分のスキルを上げれば)どんどん年収を上げられる
- (優秀な)プログラマーは足りておらず、これから需要も増えるので、仕事に困らない
- (将来的に)働く場所を選ばない
- (将来的に)フリーランスや起業などの選択肢が広がりやすい
特に、コロナの影響で、4と5を魅力に感じてプログラマーを検討されている方も多いかと思います。
もちろん、最終的にどれを魅力に感じるかは、あなたの「価値観」(どんな働き方でどんな仕事をしていきたいのか)や、他の選択肢との比較(仮にプログラマーを諦めた場合にどんな選択肢があるのか)にもよりますが、今の時代、なかなか魅力的な仕事ではないでしょうか。
ただし、気づいた方も多いかと思いますが、カッコ書き付なので、よく勘違いもされるところです。
え!?勘違いなの?プログラマーになるメリットないの?
どうか慌てずに・・・気になる方は、こちらの記事をご覧下さい。プログラマーになるメリットを正しく理解しておくことは重要です。
必要な覚悟(受け入れるリスク・デメリット)
何やら良さそうなプログラマー。果たして、本当に今からなることはできるのでしょうか??
結論:次の覚悟が持てるなら、可能です!
- 就職の際には、仕事のありそうな首都圏へ移住する。
- 就職したら、「バリバリ実務経験」をするつもりで準備する。
- その準備のために、しっかり時間を確保する。
- プログラマーになってからも、最初の1〜2年は、普通〜やや低い給料、労働時間多め、都内のオフィスに出社の確率高
順番に見ていきましょう。
なお、この記事でのプログラマーは、正社員やフルタイムで企業に常駐するフリーランスを想定しています。ランサーズやクラウドワークス、SNSなどで副業的に単発の仕事を受けるプログラマーは、1の覚悟が不要の代わりに、また別の覚悟が必要ですので、その点ご留意ください。
1.就職の際には、仕事のありそうな首都圏へ移住する。
え、地元でリモートできると思ったから、プログラマーいいなと思ったのに・・・
そう思った方、痛いほど気持ちはわかります・・・
しかし、
- IT企業は圧倒的に首都圏に多い。少なくとも日本では。
- 未経験エンジニアは、先輩エンジニアをつけて早く「使える」ようになってほしいので出勤させたい。
そういった理由から、最初の1〜3年間は、東京、せめて大阪に住み込み修行するのがオススメです。福岡でギリ、その他地方都市に住んでいる方は、就職できたらラッキー、くらいでいた方が良いです。(もちろん、「就職したら引っ越す」前提なら今どこに住んでいようが関係ないですよ。)
もちろん、「即戦力」になったと市場が認めてくれれば、地方でも仕事にありつくことはできます。あるいは、東京の案件をリモートで受けて、月1〜2回新幹線で出社する、みたいなことをしている方もいらっしゃいます。
ただ、少ない求人や案件の中から選んだり、従業員の自由を認めてもらうと、単価(年収)は下がる傾向にあるようです。(あくまで傾向ですよ)
つまり、首都圏在住は最初の1〜3年はほぼ必須、その後も、プログラマーのメリットを最大限に享受したいなら、ある種の条件になってくると思います。オンラインスクールとかでは、ここをあまり強調しない(だって入会してほしいですもの。それに市場は変化するかもしれませんし、ほんの一部ですが、地方で未経験で採用されている人もゼロではないわけですから、そんな不確かで不利な情報を入会を検討されているお客様に教えたりしませんよ)
これを確かめるには、転職活動をしてみるのが一番です。あるいは、転職エージェントに相談するだけでも違います。ただし、転職エージェントも「(どこでもいいから)あなたを転職させたい」という意図がある場合があることをお忘れなく。
ちなみに、先にも伸べましたが、どうしても居住地が譲れない方は、ランサーズやクラウドワークス、SNSなどで副業的に単発の仕事を受けるという手もあります。そういったプログラマーなら、首都圏へ移住する必要はありません。(その代わり、低収入+仕事が少ない不安定な時期が増えます)
2.就職したら、「バリバリ実務経験」をするつもりで準備する。
これは仕事をする基本ですが、会社がほしいのは価値提供、貢献してくれる人材です。採用だって営業なので、求職者が喜びそうな条件を挙げてきますが、会社の環境に甘んじている「クレクレ君」は採用されません。「成長したい!」という一見意識の高そうな発言ですら、それはあなたの欲望です。もちろん、未経験で入社したら、成長しないことには使い物になりませんから、「成長が価値提供に寄与する」ことは事実です。しかしそれは本質ではありません。企業は「即戦力」を求めているのです。フリーランスになろうとしているならなおさらです。
未経験でエンジニアになろうとしている方にこんな現実を突きつけるのはあまりにも非道いでしょうか。しかし、そう考える企業が多い以上、いずれ受け入れないといけない現実です。
私は、元々はフリーランスを目指していたので、エンジニアになったら即戦力になるつもりで準備していました。特に、問題解決能力。「わけわかんない〜助けて」ばかりでは首を切られるのは明白だったので、問題の切り分け方、ググり方、そして質問の仕方などを鍛えました。具体的にはどうすれば?という方はこちら
一口に「即戦力」と言っても、なりたてほやほやのエンジニアとベテランには求めるものは違うので、なりたてほやほやで経験がなくても、問題解決能力さえあれば「即戦力」として会社に貢献することは可能なのです。
また、実務経験のない方は「プログラミングの仕事=コーディング」と思っている人が多いですが、その認識は正確ではありません。改める方が良いでしょう。私もそんな勘違いを少なからず持っていました。実際、役職や開発のフェーズによってその割合は大きく変わります。バリバリコーディングするフェーズで、実際にあなたが実装するのであれば、8〜9割コーディングすることになるかもしれませんが、それはプロジェクトのほんの一部の期間。他に、要件定義、DB設計、度重なるミーティング、トラブル対応、環境構築、ドキュメント作成など、文字や図を書いたり人と話したり、コーディングをしていない時間の方が圧倒的に長いです。「とにかく実装してほしい」という条件で参画したフリーランスとかだと、コーディングに使える時間は長くなりますが、それでも100%にはならないようです。
したがって、プログラミング言語やフレームワークを学ぶだけでは不十分なのです。具体的には、
- Git管理による開発フロー
- trelloやbacklog, Redmineなどを使ったタスクの進捗管理
- slackやchatworkなどのチャットツールを使いこなしたスムーズなコミュニケーション
- オンライン会議×画面共有(またはスプレッドシート等による資料の共有)
- linuxなど、最低限のOSの知識
- サーバー、ネットワーク構成、仮想環境など開発環境構築
- 報連相や結果にコミットする姿勢など、「組織の中で責任を持って仕事をする」ための基本
など、「それがないと始まらない」シリーズは枚挙に暇がありません。
合わせてチェック!
私自身、転職活動であるベンチャー企業の選考を受けた際、ひとつissueを解決するように実装するというテスト(ミニインターンみたいなもの)を受けたのですが、環境構築で詰まってしまい実装までいかなかったとても苦い経験があります(当然、落ちました)。内定をいただいた会社でも、ネットワークのいろはがわかっていなかったために、環境構築のひとつのエラーで半日つぶしたことがありました
以上より、未経験からエンジニアデビューするときは、「未経験ながらに即戦力になる」つもりで準備することが大切です。でないと、稼げるプログラマーになるどころか、採用すらされない可能性があります。
では、どのくらい準備にかけるか?何を準備するか? それを次に解説していきます。
3.その準備のために、しっかり時間を確保する
実際に転職活動、あるいは案件を探す営業活動をするまでに、最低300時間は必要と思います。できれば1000時間あると確実です。
もちろんこれは年齢や勉強効率によります。
ここでは、少なくともそのくらい時間をかけて準備しないと、仕事をもらうのはなかなか難しい、ということを知っていただければと思います。
例えば、
- 1日1時間勉強すれば、10ヶ月で300時間確保できます。1日2時間なら5ヶ月です。
- 平日は1日2時間、休日に5時間やれば、週に20時間確保できます。15週間(=約3.5ヶ月)で300時間、50週間(=約11ヶ月)で1000時間確保できます。
- 受験生バリに1日10時間できるなら、1ヶ月で300時間、3.5ヶ月で1000時間確保できます。(オススメしませんが)
この3択なら、2番くらいが妥当ですね。本業の残業が少ないなら、さらに時間を確保できるでしょう。いかがでしょうか、思ったより長いでしょうか?しかし、このくらいやる必要があるのにはわけがあります。
第一に、コーディングに慣れ、デバッグ方法を知り、ググり方を知るのに、数十時間では足らないからです。
第二に、先ほども述べたように、コーディングだけでは即戦力にならないからです。その周りの知識の補完が必要です。
第三に、あなたの能力を証明する準備が必要だからです。最も有名な方法が、ポートフォリオ(自分の実力を示すための、自分の作品)をつくる方法です。web系のエンジニアなら、アプリを1つ作ることで、「このアプリをひとりでつくりあげる程度の実力はありますよ」と証明することができます。そして、この本気のアウトプットが、何より勉強になるのです。
後は、キャリアチェンジするのは少しでも実務を体験してからにしたい、とか、少しでも最初の単価を上げたい(あるいは年齢が高いために完全未経験だと仕事がない)人は、副業的に実務をしてみる必要があります。
いかがでしょうか(2回目)、定量的な説明はしていませんが、「確かに、それだけのことをするなら、それだけの時間が必要かも」と納得していただけたのではないでしょうか。
逆に、高々半年〜1年の頑張りでキャリアチェンジ出来るんですよ。医者や看護師と比べて参入障壁が低いと言われる所以です。さらに、今は「未経験でもなれる」噂がひとり歩きしており、半年〜1年かけてしっかり準備している未経験者すら少ない(ちょっと1〜3ヶ月勉強しただけでポートフォリオも作らずに応募してくる未経験者が多い)ようです。ですから、そこまでやれば、キャリアチェンジが成功する可能性はぐっと上がります。
ちなみに、一時にがーっとやるのは効率が良いかもしれませんが、エンジニアになってからも勉強は継続することを踏まえてやる方が良いです。エンジニアになって勉強をやめてしまったら、なかなか単価は上がりませんから。
4.プログラマーになってからも、最初の1〜2年は、普通〜やや低い給料、労働時間多め、都内のオフィスに出社の確率高
プログラマーのメリット <よくある勘違い5選>でもしつこく述べていますが、最初の1〜2年は「駆け出しプログラマー」ですので、「プログラマーデビュー!いきなり月収50万円!」みたいにいきなり生活が良くなったりはしません。フリーランスで割の良い案件がたまたまあれば別ですが、それも実力が見合わなければすぐに契約終了になってしまいます。
「即戦力」と呼べるに値する確固たる実力がつくまでは、今までの給料から下がる可能性もあることを覚えておいてください。特に大企業にお勤めの方は。
したがって、勉強時代も含めると、「最初の3年間は頑張ってみるか」みたいに思っておけば、覚悟としては十分です。その代わり、徐々に、プログラマーのメリットを享受できるようになるはずです!
プログラマーになる方法(私の例)
色々な方法があるので、私の例を紹介します。
私が「プログラマーになろう!」と決意した過程については、プロフィールか、下記記事をご覧ください。
私は「よし、プログラマになろう!」と一念発起してから、丸々一年間勉強してから転職活動しました。
(平日は1日平均1~3時間だったので1000時間には足りていないかもしれませんが)
内訳は、スクールで基礎学習5ヶ月、ポートフォリオ作成3ヶ月、開発案件への参画4ヶ月です。
本業やりながら(かつ人生が動くライフイベントが並行して動いていた時期)だったので時間がかかってしまいましたが、選考では、オリジナルのポートフォリオを作成した点や、副業的に実務を4ヶ月行った経験を話せたことが評価されたと思っています。
ちなみに、最初の5ヶ月(基礎学習)は全く評価されませんでした!(←ココ重要です)
転職活動してみて、採用において、
- 「独学やスクールでコーディングを勉強しただけの完全未経験者」
- 「一応実務経験有りだけど業界未経験者」
- 「経験者」
この3者の差は非常に大きいと感じました。
私は上記でいうところの2番だったので、1番の完全未経験者には負ける気がしませんでしたが、おそらく3番の経験者には全敗したと思います。
転職は常に同時期の求職者との競争なので、こういう視点は大切と思います。採用する側で考えたら、当たり前なんですけどね。
特に1番の未経験は、本気度や将来性が読めない(途中で「やっぱり合わないから辞める」とならないか?確証がない)ために、よほどそれが伝わらない限り採用しにくいのですが、2番の人は「それだけやってきたならある程度は期待できるかな」と思ってもらいやすいようです。
なので転職活動する前に、ランサーズなどで案件を獲得して、ある程度実務を積んでから転職されることをオススメします。
「目指す」だけでも価値がある!
ここまで聞いて、そう思う人もいるかもしれませんね。
そんな人は、「とりあえず目指してみる」のもありだと思います!
なぜなら、
- 目指してみて、出来るイメージが湧きながら次のステップにチャレンジできる(合わなそうなら撤退できる!)
- 目指して勉強するだけで、今後の時代に必要な基本的なITスキルが身につく
からです。
特にコーディングをしたことない人は、プログラミングの勉強を始めたら、全く新しい世界が見えると思います。自分が打ったコードのとおりに目の前の画面が切り替わる、そんな快感を覚えたり、合っているはずなのに・・・と悶々としたり、それが解決したときのスッキリ感を味わったり、喜怒哀楽、色々体験すると思います。特にエラーが消えない時の苦悩や、初めてアプリを作り上げた時の喜びと達成感は、プログラマーならではの体験です。これを仕事に出来るのか?この問に答えられるのは、それを体験した人だけだと考えています。勉強しているだけで、苦痛で耐えられないようなら、もしかしたら向いていないのかもしれませんし、「やっぱりこれだ!」と気づくかもしれません。今の仕事と、結局同じところで悩むんだな、と自分の弱みが明らかになるかもしれません。いずれにせよ、その先は、それを経験した人しか見えないのです。
ですから、「ランサーズで案件をもらえるだけのプログラミングスキルを身に着けて、本業をそれにするかはその時考えよう」それは大いにアリだと思います。そこで「自分には今の仕事の方が合っているからやっぱりやめよう」とすることが出来ます。途中で諦めるのは日本の伝統的な美学に反するので皆さんプレッシャーを感じる気持ちはわかるのですが、エジソン風に言えばそれは「自分に合わない仕事を発見し除外することが出来た」のですし、元陸上選手の為末大さんに言わせればそれは「諦めたのではなく明らめた(合わないことを明らかにした)」だけですから、後ろめたく思うことはひとつもありません。
しかも、仮にそこで撤退することになっても、スキルや経験は残ります。特に、その間に身に着けた検索力、質問力、IT基礎知識はどこに行ってもプラスに働きます。「やったことない、触ったことない、けど、ググったらなんとかなるかも」という考え方自体が、その後新しいことにチャレンジする機会を大いに与えてくれますし、問題解決の助けになってくれると思います。また、点と点が繋がって、別の業務で役に立つかもしれません。私も、転職する前の企業でIT担当に任命してもらったりと、本業で活かせたりもしました。まとまった時間(と言っても、人生を捧げるほどの時間ではない)を投じる分、損する可能性が非常に少ない、優良な自己投資先だと思います。
プログラマーを目指すだけなら、「何かひとつ新しい趣味を始める」くらいの感覚で始められます。ゴルフを始める人がゴルフクラブを揃える時くらいの感覚で、もしかしたら人生を変えられるかもしれないのです。どうですか、他にやりたいことが何もないなら、目指すだけ目指そうかな、という気になってきませんか?
ちなみに、せっかく始めるなら、プログラミングスクール、その中でも、サブスクリプション型(入会金をどかんと払うのではなく、毎月定額を支払う方法)のスクールをオススメします。ひとりで始めると挫折率が高いですが、最初に高額払ってプログラミングスクール入るのには思い切った投資が必要なので。サブスクなら、合わなければすぐ辞められますし、損したとしても数千円程度で済みます。ジムや習い事を始めるような感覚で、新しいチャレンジ、しかも人生に関わるキャリアチェンジができる可能性のあるチャレンジができるなんて、素敵なことだと思いませんか。
サブスク型プログラミングスクール「SAMURAI ENGINEER Plus+」
プログラマーを目指すからには、今の会社は辞めないといけないのかな・・・
もちろん、最後キャリアチェンジする際は辞める必要があります。しかし、「目指す」だけなら辞める必要はありません。「辞める覚悟」だけあればOK。元々、今の仕事に不満があるから、プログラマーへの転向を検討しているのですよね? ただ「辞めたいな・・・」と思っているだけでは、現状は何も変わりません。まずは「よし、いずれ辞めるぞ」と決めることが必要です。
補足情報
・転職活動で、「実務経験有り」の求人でも、未経験から採用されることは十分有り得ます。会社側も「求人見た?経験者って書いてあるじゃん」なんてことは言いません笑。私も、今のところは「実務経験有り」の求人でした。
・年齢は、「未経験の転職は28歳まで」説と、「20代まで」説と、「35歳まで」説をよく耳にしました。(求人にもそれが書かれていることが多いです。)少なくとも、28歳までなら、年齢が問題になることはないように思います。勉強だけ(ポートフォリオや副業での開発経験なし)でも転職できるかもしれません。「勉強もしてない、完全未経験」の場合は、もしかしたら第2新卒と言われるレンジでないとポテンシャル採用するのは難しいのかもしれませんが。しかし、しっかり準備して、ある程度即戦力を期待できるのであれば、年齢は関係ありません。特にフリーランスでしたら、「何ができるの?」だけが問われます。
・ハローワークの方よりも、転職エージェントの方が就職させるモチベーションは高いと思いますので、また違う意見が聞けると思います。ただ、どこでも良いから就職させようとしてくるエージェントも中にはいる(というかそれが多い)ので、そこは注意です。
ITエンジニアの転職ならギークリーも、求人数が多くて良いかと思います。(私は今回はここのお世話になりましたので一応宣伝。笑)
まとめ
もしも、この記事で紹介した程度の痛みを伴う覚悟があるなら、今からプログラマーになるのは全然不可能ではありません。悩んでいるなら、ぜひやる前から諦めずにチャレンジしてみてほしいです!目指すだけで初期投資回収できるほどのメリットがあります!
アラサー以降の方は、ポートフォリオの作成と、クラウドソーシングなどの案件に取り組んでから転職活動することで、成功確率は上がると思います!
とりあえずチャレンジしてみるならサブスク型のプログラミングスクールに!
サブスク型プログラミングスクール「SAMURAI ENGINEER Plus+」
あなたの意思決定のお役に立てれば幸いです。
最後まで読んでくださってありがとうございました!
Photo by Max Duzij on Unsplash
コメント