![未経験から4ヶ月でウェブエンジニアになるためのロードマップ](https://manzi.tokyo/wp-content/uploads/2023/09/become-engineer.png)
始めに
こんにちは!
まんじです!!
今回は未経験から4ヶ月でウェブエンジニアになるためのロードマップを書いてみたいと思います。
この通りにできれば4ヶ月ぐらい、遅くとも5~6ヶ月目ぐらいにはウェブエンジニアに就職または転職ができると思います。た、多分。。。
結論から書くと、大体以下のような流れと全体像になります。
- プログラミング文法学習: 0.5ヶ月
- ウェブアプリ作成練習: 1.5ヶ月
- ポートフォリオ作成: 1ヶ月
- 仕事へ応募: 1ヶ月
(まあまあハードめ…)
4ヶ月で未経験からウェブエンジニアになるのは結構大変で、きつめのスケジュール感でゴリゴリやる必要があります。
フルタイムの仕事しながらで4ヶ月とかだと多分クソきついというかめちゃくちゃセルフブラックになるので、やや発狂気味になると思います。
ただ、1年とかかけて勉強してから〜っていうのは時間が長すぎてかなり微妙なので、本気でウェブエンジニアになろうと決めているなら4ヶ月ぐらいを目標に一気に詰めたほうが良い確率が非常に高いのではないかなーっと思います。
スケジュール感がハードすぎる場合などは5|6ヶ月ぐらいでトライすると良さげです。
まず全体像(ゴール)を把握する
![](https://manzi.tokyo/wp-content/uploads/2024/04/how-to-become-web-engineer.png)
ウェブエンジニアに転職や就職するためにやることは大きく分けて2つです。
- ①ポートフォリオ作成(プログラミング学習しましたぜっていう証拠)
- ②仕事に応募して面接突破(応募しまくって適当に面接を通してもらう)
①ポートフォリオ作成
プログラミング言語自体の勉強は2週間~1ヶ月までに抑えて、ポートフォリオの作成が必要です。(ウェブエンジニアならウェブアプリを作るとか)
なぜ必要なのかというと、ポートフォリオがあることによって「こいつはちゃんとプログラミングやる気あるんやな」てきな評価をしてもらえるからです。
採用側としても口だけで「プログラミングやりたいです!!!」みたいなことを言われてもちゃんとやる気があるのかは不明なのでポートフォリオっていう一定量学習した証拠があることでなんかそういうやる気みたいなのと最低限の土台が担保される感じです。
補足
イマドキのミドルベンチャーやメガベンチャーの場合は、ポートフォリオに加えてコーディング試験の突破が必要になることが多いです。
コーディング試験の突破というのはプログラミングを使ってなんか問題を解くやつです。
競技プログラミングとか言われるものに似ていたり、コンピューターサイエンスとアルゴリズムらへんにも含まれます。
※ ミドルベンチャーとかメガベンチャーってのは、DeNAとか、サイバーエージェントとか、Sansanとか、freeeとか
②仕事に応募して面接突破
仕事に応募して面接を突破するってのは、分解すると応募するという作業と面接を突破するという作業に細分化できます。
- 仕事に応募: いわゆる良い感じの企業を探して求人に応募する
- 面接突破: 面接で落とされないように多少の面接対策をする
仕事の応募に関しては、普通の仕事と同じで履歴書書いてポートフォリオのURLなりを貼り付けて、ひたすら応募しまくればOKです。
注意点としては、未経験ウェルカムブラックSESとかにつかまらないことやウェブ系とSIer系らへんの違いがちゃんと分かっている必要性があります。
面接突破に関しては、なぜウェブエンジニアをやりたいのかなどの理由を自分の言葉で言えたり技術的な質問がされるので、そこの対策をする必要があります。
個人的には変な気持ち悪い理由(ITが好きで〜みたいなやつ)じゃなくて、シンプルにリモートしやすいしスキルも仕事するとつきやすいしやってみたら意外と楽しいし合うと分かったから〜とかそこらへんの理由で十分だとは思ってます。
やること4STEP
![](https://manzi.tokyo/wp-content/uploads/2023/09/monaco.png)
大体こんな感じの手順でやればいいと思うよーってことで書いてみます。
STEP1. プログラミングの文法習得(0.5ヶ月)
まずはプログラミング言語の文法を習得する必要があります。
期間の目安としては2週間程度で、深い理解度ではなくていいのでとりあえずざーっとやり終えたいです。
以下の部分を2週間前後でなんとなく把握しておくと良さげです。
- 変数
- 基本的な型(文字列、数値、真偽値、配列、オブジェクト)
- 分岐処理(if else, switch)
- メソッド(関数)
- ループ処理(for, while)
最初から文法を完璧ゴリゴリに理解して使いこなすのは無理なので、自分の中でコピペして処理が追えるぐらいなら十分だと思います。
例えば、「このループの中のこのifがn回目にループから抜けてるんだな」みたいなことが分かっているような状態です。
変数や配列やオブジェクトのスコープや参照などの後々必要にはなるけど最初は分からなくて問題ないようなことは気にせずに飛ばすのが大事です。
たまにプログラミング言語自体の学習を長くやっちゃう人がいるんですけど、微妙です。
プログラミング言語は極めようとすると時間がかかりすぎるし、そもそも使ってると勝手に理解が深まるっていう側面があるので、ある程度の理解でコピペしてでもいいから実際に使っていくほうがプログラミング言語の理解っていう点においても重要です。
STEP2. ウェブアプリ作成(1.5ヶ月)
プログラミング言語の文法を適当に学んだら、次はウェブアプリの作成にいきなり取り掛かりましょう。
最初からドキュメント読んだり英語のチュートリアルや英語で解説されているものでやるのはかなりきついので、最初はKindleなどで1冊「TODOアプリが作れる本」などのコンセプトの内容を真似して作っていくのがおすすめです。
この段階でも必死に覚えたり反復したりしたところでどうせ理解できないので、それなりの理解でコピペしつつ修正が必要な部分は書き直して作り終えることが重要です。
あとできればURL取得してAWSでもVPSでもvercelでもHerokuでもFirebaseでもなんでもいいので、デプロイもできたほうがいいです。
理由としては、ウェブアプリの制作工程として単純に勉強になるのと、ポートフォリオを提出する際にも役立つからです。
その他の注意事項としては、無思考でコピペはできるだけ減らして、理解しようと頑張りつつコピペして修正するのが大事だと思われます。
本当にただコピペするだけだと意味ないんですが、ただここは文字に起こすのが難しい感覚的な部分です。
全て完璧に理解していくのは無理なのである程度はコピペ感はでるものの、かと言ってもコピペすぎても、それは微妙みたいな。。。
ある程度のコピペは許容しつつも、頑張って理解しようとするのが大事カナーって思います。
AIにも適当につっこんで聞きつつ調べながらやると良さげです。
STEP3. ポートフォリオ作成(1ヶ月)
テーマ決めをして、STEP1と2で使ってきたプログラミング言語とフレームワークをベースにポートフォリオを作っていきましょう。
目安の期間としては1ヶ月程度です。(が、かなりきついとは思います。)
STEP2で多少なりウェブアプリの制作工程は分かっているはずなので、ググる時間は以前よりも減っているはずです。
ここでいろいろ技術的な部分に手を広げていくと終わらなくなるので、ある程度は妥協するか、それか一部だけ勉強して取り入れようとしてみるかぐらいのスタンスで良いと思います。
最近だと、AWSのEC2にフロントエンドはReactでDocker使って開発してバックエンドもAPI立てて〜みたくやる人もまあまあいます。
が、個人的にはフロントエンドならReactだけでも良いと思いますし、バックエンドならDjangoとかFlask(Python)のMPAと言われる昔ながらのウェブアプリで全然良いと思います。
レベルの高い会社を除いて、ぶっちゃけ最初からそこまでは求められていないのと、単純に広く浅くなりすぎてしまう場合も多いからです。
STEP4. 仕事へ応募(1ヶ月)
STEP3でポートフォリオがある程度形になったら実際に仕事へ応募していきましょう。
ここでたまに出てくるのが以下のような意見というかマインドというか考え方です。
「もっとブラッシュアップしてから応募します!」
「まだ実務レベルには足りないと思うので引き続き勉強します🙇(土下座)」
昔の自分もまさにこんな感じでした。
でも実際のところ、ブラッシュアップとかをしていくとそもそもキリがないです。
具体的には、実務レベルには足りないみたいなのはそもそもいくら勉強したところで実務(労働)で求められるプログラミングは自分1人でやるプログラミングと少し質が違うのでいつまでたっても勉強は終わらないというのがあります。
なのでポートフォリオがあってそれがデプロイできているならもうその状態で応募していってしまって現場からのフィードバックなどを得て改善をするなり実力が不足していても入ってなんとかしたほうが時間(お金)の節約になります。
- 1日休日にプログラミングの勉強を1人でしている場合 ⇒ 無給料でしかも明確な指針もない
- 1日プログラミングで働いた場合 ⇒ 時給1000円なら少なくとも8000円は出る、現場のエンジニアからのレビューありきでコードが勉強しながらお金をもらいながら書ける
どっちがいいのかは一目瞭然です。
ここは完全にマインドの問題なので、本当にさっさと入ってしまうほうがいいです。
ちなみに大事なのはとにかく応募して面接までいくことです。
面接までいければもし落ち続けた場合でも不足点が雰囲気で分かるので、学習し直すにしても必要な部分を学んでいけます。
自分がウェブエンジニアをやる前にあった疑問点
![](https://manzi.tokyo/wp-content/uploads/2023/09/monaco-castle-1024x768.png)
疑問1. 最近のウェブエンジニアのポートフォリオのレベルは上がってるって聞いて不安
答え: 実際にリアルの現場にいけば普通に雑魚がいるので大丈夫
ウェブエンジニアがフルリモートできたりフリーランスなりやすかったり手に職がついたり年収も平均と比べると悪くないっていう側面で人気なんですけど、ウェブエンジニアって言ってもただのそこらへんにいる平凡なサラリーマンが大半です。
最初は周りがすごそうに見えたり、すごい人ばっかだと錯覚して自滅しがちなんですけど、自分で自滅するのはもったいないというか80%ぐらいは普通のおじさんなので大丈夫です。
ただ、普通の水準でやっているとそこらへんの普通と同じぐらいの並びになるので、そこは気をつけないといけないかもしれません。
*普通にクソ優秀だったり、労働時間が長くて開発時間が長い勤勉厨、ガチ勢もいる
疑問2. ポートフォリオの数は1つよりも2つがいいのか?
答え: 1つでいい
2つあっても採用者側はそんなに見きれないし、そもそも限られた採用判断の時間だと1個のウェブアプリで十分です。
ただ当然のことながら、1個がレベル4よりも2個がレベル4のほうが評価は高くなると思いますが、2個作ったから評価が2倍になるかというとそんなことはないです。
労力とリターンの比例が1個をそれなりにちゃんとするほうがコスパがいい可能性が非常に高いです。
疑問3. 英語は必須なのか?
答え: 必須ではないけど、できる人は英語は普通に読み書きできる
ウェブエンジニアをするとドキュメントとかgithubのissueとか海外のサイトやスタックオーバーフローをみる機会が圧倒的に増えるので、基本的に英語は読み書きがそこそこできるのが好ましいです。
だだ最初はぶっちゃけdeepLだけで十分なのと、やりながら本当に必要を感じ始めたら英語も勉強すればいいってだけだとは思います。
余談としては、いわゆるそこそこ技術力があるっぽい感じの人はかなり高い確率で英語ができるか、そもそもグローバル企業出身だったりもうなんていうか土台から優秀という現実はあります。
疑問4. ウェブエンジニアになってからも勉強し続けないといけないのか
答え: できる人や収入が高い人は勉強時間や開発時間やその他自己研鑽の時間が長い
これはウェブエンジニアに限らないと思いますが、普通に普通な年収とか人生自由度でいいなら周りと同じように平均的な時間の使い方をすると大体そこらへんに落ち着きます。
ただ、一定期間で一気に実力を伸ばしたい場合や収入を上げちゃいたい場合や人生自由度を上げちゃいたい場合なんかには、特に最初の1~2年は思いっきり勉強すると自分の理想っぽい状態に近づくのが早くなります。
「みんな勉強しているのか」とか「エンジニアはこうあるべきだ!」って感じのやつに関してはそもそもそんなのはないというか、別に個人の自由で、良くも悪くもただ自分の待遇へフィードバックが来るだけです。
勉強しまくって技術力が高ければ良い待遇が得やすいけど、勉強を全くしないでチーム内でも底辺の地位ならそれ相応の扱いを受けるだけです。
疑問5. 実務レベルとは
答え: 普通に職場の平均ぐらいの技術偏差値と遂行能力があって労働できるレベル
実務レベルって言っても大体現場で1年ぐらいそこそこがんばって仕事してれば身につきます。
一方でいくら自分1人で勉強しても実務レベルにはなりにくいです。(コードの複雑さとかアーキテクチャとかが個人でやるよりもやっぱりもっと複雑)
なので実務レベルになるには〜みたいなのはそもそも基本的には無理で、実務に入ってそこで雰囲気を知って慣れていくしかないです。
まとめ
ロードマップって言っても「プログラミングの基礎文法をさくっと適当に勉強してウェブアプリの作り方を学んで作って、それらの学んだことをポートフォリオに入れて仕事に応募しまくる」という1行の記事でした。
細かい方針などの道筋が見えない場合にはメンターをつけるなどしてお金で時間を買って、将来的にお金をむしろ多く回収するみたいな戦略もありだと思います。
実際、完全に独学で誰からも教えや導きがない状態で進めるのは大変です。
個人的にはウェブアプリを学んで作る部分と、ポートフォリオを作るところが1番大変だった気がしますが、そこを乗り越えるともはや仕事応募&面接ゲーです。
つらい時はなんでウェブエンジニアをしたいのか(年収、自由度、スキル、将来性、らへん・・・?)などを改めて思い出しつつやると良いと思います。
ぶっちゃけ最初の勉強シーズンと実務1~2年目は普通にきついと感じることが多いです。
ファイトだああ