始めに
こんにちは、まんじです。
今回は未経験から4ヶ月でウェブエンジニアになるためのロードマップをご紹介です。
結論から書くと、大体以下のような流れと全体像になります。
- プログラミング文法: 0.5ヶ月
- ウェブアプリ作成: 1.5ヶ月
- ポートフォリオ作成: 1ヶ月
- 仕事へ応募: 1ヶ月
4ヶ月で未経験からウェブエンジニアになるのはおそらく結構大変で、わりとハードなスケジュール感でゴリゴリやるか元々の土台(高学歴など)などが必要です。
しかし、4ヶ月で未経験からウェブエンジニアになるのは可能です。
また、ウェブエンジニアになるのに半年とか時間を最初からかけるつもりだとダラダラとやってしまいがちなので、それなりに短い期間でキメるのが良いと思います。
ちょっとスケジュール感的なものがハードすぎる場合などは5ヶ月ぐらいでやってみてください。
未経験からウェブエンジニアになるまでにやること4STEP
STEP1. プログラミングの文法習得(0.5ヶ月)
まずはプログラミング言語の文法を習得します。
期間の目安としては1~2週間で、深い理解度ではなくていいのでとりあえずざーっとやり終えたいです。
以下の部分を2週間前後で抑えましょう。
- 変数
- 基本的な型(文字列、数値、真偽値、配列、オブジェクト)
- 分岐処理(if else, switch)
- メソッド(関数)
- ループ処理(for, while)
正直最初から文法を完璧ゴリゴリに理解して使いこなすのは無理なので、自分の中でコピペして処理が追えるぐらいなら十分だと思います。
例えば、「このループの中のこのifがn回目にループから抜けてるんだな」みたいなことが分かっているような状態です。
変数や配列やオブジェクトのスコープや参照などの後々必要にはなるけど最初は分からなくて問題ないようなことは気にせずに飛ばすのが大事です。(←難しくて何言ってんのかよくわかない場合は無視してください。)
STEP2. ウェブアプリ作成(1.5ヶ月)
プログラミング言語の文法を適当に学んだら、次はウェブアプリの作成にいきなり取り掛かりましょう。
最初からドキュメント読んだり英語のチュートリアルや英語で解説されているものでやるのはかなりきついので、最初はKindleなどで1冊「TODOアプリが作れる本」などのコンセプトの内容を真似して作っていくのがおすすめです。
基本的にこの段階でも必死に覚えたり反復したりしたところでどうせ理解できないので、それなりの理解でコピペしつつ修正が必要な部分は書き直して作り終えるのが重要です。
あとできればURL取得してvercelやHerokuなどの簡単にデプロイできるホスティング先へのデプロイもできたほうがいいです。
理由としては、ウェブアプリの制作工程として単純に勉強になるのと、ポートフォリオを提出する際にも役立つからです。
その他に何か注意事項があるかというと、無思考でコピペはできるだけ減らして、理解しようと頑張りつつコピペして修正するのが大事だと思われます。
本当にただコピペするだけだと意味ないんですが、ただここは文字に起こすのが難しい感覚的な部分です。
全て完璧に理解していくのは無理なのである程度はコピペ感はでるものの、かと言ってもコピペすぎても、それは微妙みたいな。
STEP3. ポートフォリオ作成(1ヶ月)
テーマ決めをして、STEP1と2で使ってきたプログラミング言語とフレームワークをベースにポートフォリオを作っていきましょう。
目安の期間としては1ヶ月程度です。
STEP2で多少なりウェブアプリの制作工程は分かっているはずなので、ググる時間は以前よりも減っているはずです。
ここでいろいろ技術的な部分に手を広げていくと終わらなくなるので、ある程度は妥協するか、それか一部だけ勉強して取り入れようとしてみるかぐらいのスタンスで良いと思います。
STEP4. 仕事へ応募(1ヶ月)
STEP3でポートフォリオがある程度形になったら実際に仕事へ応募していきましょう。
ここでたまに出てくるのが以下のような意見というかマインドというか考え方です。
「いや!でも!もっとブラッシュアップしてからのがいいと思うんです!」
「まだ実務レベルには足りないと思うので引き続き勉強します🙇(土下座)」
ぼくも昔はまさにこんな感じでした。
でも実際のところ、ブラッシュアップとかをしていくとそもそもキリがないです。
具体的には、実務レベルには足りないみたいなのはそもそもいくら勉強したところで実務(労働)で求められるプログラミングは自分1人でやるプログラミングと少し質が違うのでいつまでたっても勉強は終わらないというのがあります。
なのでポートフォリオがあってそれがデプロイできているならもうその状態で応募していってしまって現場からのフィードバックなどを得て改善をするなり実力が不足していても入ってなんとかしたほうが時間(お金)の節約になります。
- 1日休日にプログラミングの勉強を1人でしている場合 ⇒ 無給料でしかも明確な指針もない
- 1日プログラミングで働いた場合 ⇒ 少なくとも8000円は出る、現場のエンジニアからのレビューありきでコードが勉強しながらお金をもらいながら書ける
どっちがいいのかは一目瞭然です。
さっさとクソコードをgithubやgitlabにpushしてメガネからdisられつつも適当に謝りながら改善していくほうがいいです。
もはやここは完全にマインドセットの問題なので、本当にさっさと入ってしまうほうがいいです。
大事なのはとにかく応募して面接までいくことです。
面接までいければもし落ち続けた場合でも不足点が分かるので、学習し直すにしても必要な部分を学んでいけます。
自分がウェブエンジニアをやる前にあった疑問点
疑問1. 最近のウェブエンジニアのポートフォリオのレベルは上がってるって聞いて不安
答え: 実際にリアルの現場にいけば普通に雑魚がいるので大丈夫
ウェブエンジニアがフルリモートできたりフリーランスなりやすかったり手に職がついたり年収も平均と比べると悪くないっていう側面で人気なんですけど、ウェブエンジニアって言ってもただのそこらへんにいる平凡なサラリーマンが大半です。
最初は周りがすごそうに見えたり、すごい人ばっかだと錯覚して自滅しがちなんですけど、自分で自滅するのはもったいないというか80~90%ぐらいは普通のおじさんなので大丈夫です。
ただ、普通の水準でやっているとそこらへんの普通と同じぐらいの並びになるので、そこは気をつけないといけないかもしれません。
*普通にクソ優秀だったり、労働時間が長くて開発時間が長い勤勉厨、ガチですごい人などは普通のサラリーマンに比べると多い感じはするのでそこは注意が必要です
疑問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番大変だった気がしますが、そこを乗り越えるともはや仕事応募&面接ゲーです。
つらい時はなんでウェブエンジニアをしたいのか(年収、自由度、スキル、将来性、らへん・・・?)などを改めて思い出しつつやると良いと思います。
ファイト!