モダンなWeb系自社開発企業への転職を成功させるためのロードマップ(1:はじめに)

一覧

はじめに

実務未経験の方がモダンなWeb系自社開発企業への転職を成功させるための「期待値」と「再現性」の高い手法は既に確立されています。具体的には「MacBook Proを購入する」→「QiitaおよびTwitterアカウントを開設する」→「Web開発の基礎を学ぶ」→「質の高いポートフォリオを作成する」→「適切な転職活動をおこなう」という順序になります。(各手順の詳細はこのロードマップ内で後述します)

つまり「やるべきこと」は確定しているので、あとはそれらを「全部しっかりやり切る」ことさえ出来れば、モダンなWeb系自社開発企業への転職は決して難しいことではありません。

多くの人はそもそも「やるべきこと」つまり「正しい努力」の方向性を知らないので、こちらのロードマップを読まれた方は、少なくとも知識的には既に上位10%には入れています。

あとは正しい努力をやり切れればよいということになりますので、こちらのロードマップの内容をしっかり理解した上で、正しい努力を毎日着実に積み上げていって頂ければと思います。

また、ゼロから学習を始めて自社開発企業さんへの転職を成功させるための期間は、どんなに長くても半年程度と考えておいた方がよいでしょう。仕事をしておらず、毎日フルタイムで時間を使える方なら4ヶ月程度が目安になります。

一つのことにチャレンジする際の人間のモチベーションはそれほど長くは続きませんし、ダラダラと長くやっても学習効率が悪く、時間と労力を無駄遣いするだけなので、「4ヶ月〜半年程度の短期間で一気に決める」つもりで、先へ先へとどんどん進んでいくことをお薦めします。

環境作りについて

モダンなWeb系自社開発企業への転職を成功させるためには、まずはとにかく「十分な時間の確保」が大前提になります。

特に、プログラミング学習期間およびポートフォリオ作成期間に関しては、仕事をやっておらずフルタイムで時間を使える方なら「毎日最低8時間以上」、仕事をやっている方であっても「平日は朝と夜に4時間以上・休日は8時間以上」の時間を必ず確保するようにしましょう。

「本業や家庭の都合でそんな時間は確保できない」とおっしゃる方も多いのですが、その時点で「負け」がほぼ確定してしまいます。

「お仕事やご家庭の事情で学習時間が短かったのでポートフォリオはこのくらいのレベルで仕方ないですね。でもちゃんと頑張りは評価しますよ」という配慮をしてくれるようなお人好しの自社開発企業さんは存在しませんので、Web系エンジニアへのジョブチェンジを実現したいならば、まずはどうにかして時間を確保する必要があります。

現状のコロナ禍においては、時間を確保するために会社を無闇に辞めたりすることは非常にリスクが高いのでお薦めしませんが、Web系エンジニアになるために仕事を辞めてご実家に帰ってプログラミング学習とポートフォリオ作成に膨大な時間を投下しているような方もいらっしゃいますので、そういう人達との競争なのだということはしっかり理解しておいた方がよいでしょう。

「わかってから始めたい病」について

拙著「Web系エンジニアになろう」でも説明しましたが、プログラミング学習においては「教材を何周もすること」ではなく「とにかく実際に手を動かしてみること」が最も効率的な学習方法になります。

もちろん「モダンなWeb系自社開発企業の書類選考を突破できるレベルのポートフォリオ」を作成するために必要な基礎知識の量はそれなりに多くなりますが、基礎の勉強を延々と繰り返すことは単なる逃避であり非常に効率の悪い学習方法です。私はこれを「わかってからはじめたい病」と呼んでいます。

こちらのロードマップの「Web開発の基礎を学ぶ」の節では、各分野の安価で良質な教材を紹介していますが、これらの教材を最初にしっかりやりこんでも、何の苦痛もなくスラスラとポートフォリオを作成できるみたいな状態には残念ながらなりません。

なぜならば、スポーツに例えるとそれらの学習は「ルールブックをとりあえずざっと読んで、準備運動とウォーミングアップが完了した」という程度のものであり、実戦力は何も身に付いていないからです。

Web系エンジニアへジョブチェンジするための本当の意味での実戦的な練習は「ポートフォリオ作り」に入ったときにやっと始まるので、「教材での座学」という準備運動を延々と繰り返しても意味がありません。スポーツを上達するためには実際に試合をしてみることが最も効率的であるのと同様に、必要なことをざっと学んで頭の中に各分野や各技術の「地図」や「インデックス」を作ったら、できるだけ早めに作品作りに入って実際に手を動かしてみる必要があります。

モダンなWeb系自社開発企業への転職に成功した方たちの中で、「教材を何周もするべきだった」と言っている人はほとんどいませんが、その逆に「もっと早くポートフォリオ作成作業に入るべきだった。時間を無駄にしてしまった」と後悔している人は非常に多いです。先輩たちの失敗を繰り返さないように十分に注意しましょう。

「教材マニア」について

教材には人によって「合う合わない」がありますので、自分に合った教材を探すのは悪いことではありませんが、教材知識だけはやたらと豊富な人ほどいつまで経ってもポートフォリオ作りに入らないという、かなり分かりやすい傾向があります。

まだ良質な教材が存在しないような最新技術は別として、RubyやRails等の、古くから使われていてアップデートがそれほど頻繁ではない言語や技術に関しては、評判が良くて安価な市販の教材(もしくは無料の教材)が既にいくつも存在します。あれやこれやと色々な教材に手を出す必要はありませんし、その違いはせいぜい誤差程度です。

前述したように、教材での学習はあくまでも「ルールブックでの座学」程度のものなのでその選定にやたらと時間をかけても意味はありませんし、十分に評判の良い教材であればどれを使っても大差はありません。

なによりも重要なのは「基礎の分野をざっと学習したら早めにポートフォリオ作りに入ること」であり、色々な教材に手を出したり無駄な高額教材を購入したりするのは単なる「現実逃避」です。教材マニアになって貴重な時間を無駄にしないようにご注意ください。

質問力について

当サロンのスタンダードプランとプレミアムプランでは、メンターさんへの技術的な質問時には「技術的質問のガイドライン」を守って頂くことを必須とさせて頂いております。

これは、要領を得ない曖昧な質問によってメンターさんの時間と労力が浪費されることを防止するという意味合いもありますが、参加者の皆様の「質問力」を高めて頂くことが主な目的となります。

質問力が低いということは、要するに「発生している問題や状況を正確に相手に共有できない」ということになりますが、この状態だと問題の解決に無駄に時間がかかってしまうことになるので学習効率が著しく悪化しますし、今後Web系エンジニアとしてキャリアアップしていく上でも、周囲の方たちと良好な関係を築く上でも、大きなハンデになってしまいます。

(質問力が低い状態を放置していると、問題の解決が遅くなるだけでなく、会社の先輩や周囲の方から「自分達の時間を無駄に奪うお荷物」という風に認識されてしまうので、Web系エンジニアになれても社内やチーム内で嫌われて孤立しやすく、場合によってはメンタルを病んでしまう可能性もあります)

質問力を高めれば、学習効率も高まりますし問題解決までの時間も短くなりますし、周囲からの評価も高くなります。雑な質問をしてしまう癖は早めに直して、良質な質問をできるようになりましょう。

また、良質な質問をするために「質問の背景」や「発生している問題」や「自身で調査した内容」等を整理していると、「あ、そうか!」という感じで、自分で解法を発見できることもよくあります。

つまり良質な質問をするための手順を身に付けると、自力で技術的な問題を解決するための一般的な手順も自然と身に付くため一石二鳥なので、当サロンで是非質問力を高めていって頂ければと思います。

RubyとRailsを推奨している理由

一般的に、ほとんどのWebサービスの開発においてはバックエンドの工数が最も大きくなるため、必然的にバックエンドエンジニアの求人数は多くなり、既存サービスのバックエンドの保守改修ニーズも大きくなります。

そして保守改修作業というのは、新規にサービスや機能を開発する作業と比較すると難易度が低い場合が多いため、実務未経験者にも門戸を開いている自社開発企業のほとんどは、転職組の方には最初は保守改修作業から経験を積ませていくことを前提としています。

つまり「保守改修作業のニーズが大きい = 実務未経験者への潜在的な求人数が十分にある」ということになるので、Web系エンジニアへのジョブチェンジにおいてはバックエンド分野を主なターゲットにするのが現状では最も成功確率が高いということになります。

(それ以外にも、バックエンドエンジニアは「フロントエンドエンジニアやインフラエンジニアとの兼務がやりやすい」とか「言語や技術の選択肢が幅広い」というメリットもあるので、どの職種が自分に向いているかまだ判断できないという方の場合は、バックエンドからキャリアを始めることが最も無難と考えてよいでしょう)

また、バックエンドの言語とWebフレームワークに関しては「PythonとDjango(ジャンゴ)」「PHPとLaravel(ララベル)」等の様々な組み合わせがありますが、RubyとRailsに関しては

・RubyとRailsを使っている企業の技術環境は十分にモダンである可能性が高い
 → パッケージマネージャやLinter/Formatterが使用されている、テストが十分に書かれている等。
・Web業界における実務未経験者への潜在的求人数が十分にある
 → Wantedlyで「Rails」と他のWebフレームワークの求人数を比較してみると一目瞭然です。
・日本語の学習リソースが豊富に揃っている
 → 特に「Ruby on Railsチュートリアル」の存在はかなり大きいと思います。
・RubyとRailsを扱えるエンジニアの数が十分に多い
 → 情報を収集する上でもコミュニティで質問する上でもこの点は非常に有利になります。

というメリットがあり、「実務未経験者がWeb系自社開発企業に潜り込むための言語として現時点では最適」と考えられるので、当サロンではバックエンド分野、特にRubyとRailsで良質なポートフォリオを作成することを強く推奨している、ということになります。(上記に関しては「Web系エンジニアになろう」のP119のコラムでも詳細に解説していますのでそちらをご参照ください)

PythonとDjango、またはPHPとLaravelでポートフォリオを作るという選択を避けた方がよいということではありませんが、上記のような業界事情を考慮すると、現時点でRubyとRails以上にモダンなWeb系自社開発企業への転職可能性が高くなる組み合わせは存在しないと考えられるため、当サロンではPythonやPHPでのポートフォリオ作成サポートはおこなっていない、ということになります。(業界内の状況が変化すれば柔軟に対応していく予定です)

フロントエンドについて

最近は多くのWebサービスが「SPA化」されているということもあり、実務未経験からの転職組の方たちも、1年目からフロントエンドとバックエンドの両方を担当するケースが多くなってきていますが、入社時点でVue.js(ビュージェイエス)やReact(リアクト)等のフロントエンドフレームワークに関する十分な知識を求めるWeb系自社開発企業さんはまだそれほど多くありません。

(自社開発企業における実務未経験者の採用においては、「フロントエンドのフレームワークを使いこなせるか」よりも「十分に整っているUI/UXを構築できるかどうか」の方が現時点では重視されています。Vue.jsやReactに関しては入社後にキャッチアップしてくれればよいという方針の企業さんが多いようです)

そのため、当サロンではVue.jsやReactをポートフォリオに組み込むことを強く推奨してはいませんが、Railsで作ったアプリケーションの一部にVue.jsを組み込む程度の作業であればそれほど大きな工数は必要なく、また他の応募者との差別化手段としても有効なので、挑戦してみてもよいでしょう。

もちろん、さらに余裕のある方は、Vue.jsやReactを使用してアプリケーションを完全にSPA化してみてもよいでしょう。(当サロンのメンターチームにはフロントエンドに強い方もいらっしゃいますので十分にご支援可能です)

インフラとiOSとAndroid

実務未経験からいきなりWeb系自社開発企業のインフラエンジニアにジョブチェンジするのはほぼ不可能なので、当サロンではそういった方向でのご支援はおこなっていません。(「ポートフォリオのインフラのAWS化」は強く推奨しておりますが、これは「アプリケーションの構造を大きく変更しなくても組み込めること」および「他の応募者との差別化手段として非常に有効であること」といったメリットによるものであり、インフラエンジニアとしての転職可能性を高めることを目的としてはいません)

インフラはWebサービスにおいて非常に重要度が高く、バックエンド部分の保守改修作業と比較すると、ある程度の経験が求められる分野のため、AWSやGCP等のインフラ(クラウド)に興味のある方は、まずはWeb系自社開発企業のバックエンドエンジニアとしてキャリアを開始して、周囲の信頼を獲得しながら徐々にインフラの仕事を任せてもらうようになっていくというのが一般的です。

また、iOSやAndroidに関しては、iOSエンジニアやAndroidエンジニアとしてキャリアを開始したいという実務未経験の方があまり多くないため、当サロンでは現時点ではご支援はおこなっていません。(こちらも業界内の状況が変化すれば柔軟に対応していく予定です)

タイトルとURLをコピーしました