Progate〜渋谷でWebエンジニア3年目までのやったこと・収支の過程を総まとめ


先日こんなツイートをしました。


わりと いいね されているので、「Progate以降何をしたらいいの?!」
「エンジニアなりたいけど自分はなれないかな...」と悩みを持っている人が多そう。

「自分も同じような境遇にあったから、当時の自分に向けて3年後に自分の立場から書けることをまとめよう!当時の自分と同じ悩みを持っている人のためになれば!」

と思い、上記ツイートに書いた内容を詳細にまとめることにしました。


「Hello World表示された!!すげー!!」状態だった文系の大学4年生だった頃(3年前)から、渋谷でWebエンジニアとして働く今までに、何をして・どの程度の時間とお金がかかり・どれくらいプログラミングを通してお金をもらえるようになったのかを時系列で書いていきます。

プログラミング未経験〜エンジニア就職のいずれかの段階にある方の参考になれば( ・v・)b



プログラミング開始0ヶ月~1ヶ月(大学4年生)

やったこと:プログラミングに関してググりまくる、Progateやりこむ
かかった時間:3~4時間/日
かかったお金:980円
もらったお金:0円

プログラミングを始めようと思ったきっかけはもはや記憶の彼方ですが、以下のような経緯だった気がします。

大学4年生の春、営業職で内定をもらった。暇になったから経営学部の友人と個人事業をやっていた。

営業ゴリゴリで事業を進めていたが、「これってWebサービスで代替すれば俺たちの仕事必要なくなるんじゃね??」と思いつく。

「Webサービス作ろう!」と決める。「でもプログラミングできる知り合いいなくね...?」と行き詰まる。

「自分たちでやるしか!」「そもそもWebサービスってどうやって動いているの?!」と、プログラミングナニモワカラナイ。。。状態に陥る。

上記のような流れで「Webサービス作りたい!」となり、ぼくのプログラミングライフがスタートしました。


やったことなど

どうやったらWebサービスが作れるのか、プログラミングとはそもそもなんなのか、HTMLとは?CSSとは?、サーバーサイドとフロントエンドとかあるらしいぞ、データを表示するのとデータを保存するのはや枠が別なのか、じゃあ画面にプログラム表示するには?、プログラミングができればWebサービスが作れる以外に作業効率化もできるのか、、、

と、頭に浮かんだ疑問を片っ端からググって、そこで新しく出てきた疑問をさらにググって、、、ということを繰り返してというのを2、3日続けました。

ある程度プログラミングとは何者なのかがわかったところで、「実際に手を動かさないと作れるようにはならないよな、、、どうすればいいんだろう、、、」と思っていたところに、友人と話していたら「プログラミングを学ぶなら、ドットインストールとProgateというサービスがおすすめだよ」と教えてもらいました。


ドットインストールは何個か講座を見てみましたが、動画を見ながら自分で環境構築をしたりすることができず(当時は環境構築という言葉も理解できていなかった)、断念。


次の選択肢としてProgateをやることに。

ProgateはWebブラウザ上にコードを書けばすぐに結果が反映される(環境構築しなくていい!)かつ、3年前の時点でもHTML、CSSはもちろん、JavaScript、Rubyなど様々な言語の学習ができたので、「これは自分が求めていたものだ!!」と感動し、このサービスをやり続けました。

HTMLから初めて、CSSに入り、JavaScriptまで一通りやったところで1,2週間くらいかかりました。1周しただけだとあまり理解できている気がしなかったので、もう1周。

この段階で「プログラミングナニモワカラナイ」状態から3週間経過。

「プログラミングナニモワカラナイ」状態の時は、「プログラミングってよく分からないけど何だかムズカシソウ。」と思っていましたが、3週間いろいろやってみることで、「プログラミング学べば学ぶほどできること増えて楽しいじゃん!」となっていきました。


Progateをやり続けたら3週間くらいでLv.220くらいに。


ここまででかかった時間は4時間/日くらい。

とはいえ、集中してプログラミングに取り組んでいない時間も、大学の講義中にプログラミングに関して気になったことをググったり、友人とプログラミングに関して雑談して情報を雑多に知ったりしていた時間も含めると5~6時間/日はプログラミングに触れ続けていた1ヶ月目。


収入・支出など

かかったお金はProgateの有料会員の月額980円(だった気がする。間違えてたらごめんなさい。)だけ。

今振り返ると、技術書とか買えばよかったんだけど、技術書を買うお金すらなくて断念していました...。


振り返り

この時期は、ほとんどProgateやる→気になったことをググる→知識増えて喜ぶ→Progateやる...というのを無限ループさせていましたが、今振り返ると結構熱中できていてよかった。

ちなみに、ここで熱中できた反面、次の期間に反動が生まれます。



プログラミング開始1ヶ月~2ヶ月(大学4年生)

やったこと:Progate卒業、TECH::CAMPで個人Webサービス開発
かかった時間:3~4時間/日
かかったお金:60,000円(+10,000円)
もらったお金:0円

Progateはある程度やり込んだ実感があったので、もういいかなと思って卒業しました。(課金停止はしてなかったみたいで、お布施は払い続けた。)


やったことなど

大学の友人と「Progateの次のプログラミング学習として、何すればいいんだろ?」と話をしていると、その友人がTECH::CAMPというプログラミングスクールのメンター(プログラミングを教える人)をやっていたようで、プログラミングスクールのメリット・デメリットを聞けた。

「プログラミングスクールで質問したいことをすぐに質問できる環境は魅力的すぎるるる!」とすっかり惹き込まれ、TECH::CAMPに通うことに。

大学で講義がない夏休みを利用して、TECH::CAMPにがっつり1ヶ月取り組むことにしました。


収入・支出など

当時のTECH::CAMPは、友人と一緒に申し込めば月額60,000円という料金だったので、お金がないギリギリ大学生でも払えました。感謝

(今は料金形態が変わって値上がりしているみたい。今の料金形態だったら大学生の時にTECH::CAMPは通えてなかったかなぁ...)


この時までSurfaceというWindowsのPCでプログラミング(Progate)をしていたのですが、「環境構築が不要で楽だから、Macがいい。」ということを聞き、MacBookを買うことに。

10万円くらいだったMacBook Airの13インチを分割1年間で購入しました。月に1万円弱でも死ぬほどつらかった。(マジで金ないよね大学生。社会人になった今あまってるお金、当時の自分にあげたいよホント。)

ここで前述の熱中の反動が発動。結局2回しかTECH::CAMPのスクールに行けませんでした。笑
実質1日通うのに3万円払ってるおバカ大学生。


振り返り

この時期は、「TECH::CAMP登録したし、猛烈にプログラミングするぞー!!Webサービス作るぞー!!」と思って勢いだけで登録までしたものの、急激にプログラミング熱が冷めてプログラミングから離れます。

元来飽きるのが早い性格ですが、プログラミングに飽きるのも早かった。



プログラミング開始2ヶ月~6ヶ月(大学4年生)

やったこと:TECH::CAMP卒業?、渋谷でWebエンジニアインターン
かかった時間:8時間/日
かかったお金:(80,000円)/月
もらったお金:100,000円/月

プログラミングを始めて1ヶ月でプログラミング熱は冷めたものの、「エンジニアにはなってみたいなぁ...」という思いはあり(今思うと謎の心理状態)、関西を離れて渋谷でWebエンジニアとして未経験でもインターンができる会社を探し始めました。


もともと営業をしていたおかげもあってか、人と会って話すのは好きな方だったので、Wantedlyを見て気になった会社に片っ端から面談を組んでもらい、最終的に10社ほどと面談をしてその中でも未経験でもいいよと言われ、面白そうだなと思った会社でWebエンジニアとして働かせてもらうことに!

ここで、「Webエンジニアとして働き始めるからには、半年間は何があっても続けよう!どんなに辛くても喰らいつこう!」とだけ決めました。


やったことなど

10人くらいの規模のスタートアップで、Webエンジニアは僕以外にCTOが1人、社員が1人、インターン生が2人、完全リモートの業務委託が1人という構成でした。

「未経験ですが気合いはあります!」状態で働き始めたので、「すぐに業務に入ってもらっても任せられない。まずはRails Tutorialやろっか!」となり、会社でRails Tutorialをやることに。


CTOの隣の席に座って5日間、Rails Tutorialだけをやる。分からないところがあったらCTOか社員に質問するという、なんとも贅沢な身分で働かせてもらいました。

順風満帆に進みそうだなと楽観視していたぼくですが、そんなわけもなく早速問題発生。

インターンを始めて最初の1週間は、CTOや社員さんとランチに行っても、彼らの話す会話の8割が分からない。この頃はエンジニアの使う特有の単語がほとんどが理解できなかったんですよね。さらに、社員さんやCTOからされたレビューの内容もほとんど理解できない。何が理解できていないのかもわからないからググれない。自分で解決しようにも、何が問題になってそうかもわからないから自力では何も進まない...。

この時期はマジで辛かった。英語が理解できないのに英語の会話がされているコミュニティに入った時みたいな。何話されてるか全然理解できないけどとりあえずウンウンうなずいとこみたいな...。自分の存在意義とは...ってめちゃ悩む。


今振り返ると、分からなかった単語を片っ端からググる・質問するとかできればよかったんだけど、余裕がなくてそれすらできなかったな...。

↑の記事にも書きましたが、この時期の学習が一番きつい。死の谷は深かった。

自分の無力感にさいなまれてやめたくなるけど、仕事から逃げたら今まで学んだことが全部無駄になりそうだからそれはヤダ。でも、自分できなさすぎだろ、、つらい...。みたいな。


...とはいえ、いつまでもクヨクヨ悩んでいても今の状況変わんねえな仕方ないと思い、「今はRails Tutorialをやりきることに集中しよう!」とRails Tutorialに集中しました。

CTOも社員さんも幸いなことにめちゃくちゃいい人だったので、わからなかった時のググり方とか、ショートカットの使い方とか、Gitのコマンドの意味とか、そもそもどのファイルにどんな処理を書くべきかとか、どんな初歩的な質問をしても嫌な顔一つせずに説明してくれたので、少しずつ業務で使う知識を理解し、疑問を自分で解決する力もつけていくことができた。


Rails Tutorialをやりきったところでようやく業務に入れることになり、社内の営業管理サービスとか、分析ツールとかを不具合改修したり、機能追加したりと仕事を進めていきました。


収入・支出など

ちなみにこのインターンでは一応時給が発生していました。500円/時。

マックのバイトとかで時給500円だったら1時間も続けない自信があるけど、「勉強しながらお金もらえるなんて最高かよ!」と思って働いてた。最低賃金以下だったけど、CTOにいつでも質問できる環境が時給に上乗せされた報酬になってたなと。


振り返り

Webインターン時期は業務ができない自分、少しずつしか成長しない自分に対しての無力感にさいなまれながら何とか日々頑張って仕事するみたいな状態でした。ある程度頭が良かったり、要領がいい人なら「プログラミングスキルもぐんぐん伸びて、インターンでも業務で大活躍!!」となるんでしょうが、僕はそうではありませんでした。

「プログラミングやめて、今までやってきた営業職に戻った方が自分の価値は出せるんじゃないか?」「プログラミングをやり続けて先に始めてた人よりも成長するのか?」「もうプログラミングやめてしまった方がいいかも…」と2日に1回くらいのペースで何度も何度も思い続けました。

が、インターンを始める当初の想いを思い出して思いとどまる...。また悩む...。また思いとどまる。みたいなことを繰り返した半年間でした。(完全に病む一歩手前。)


ちなみにこの頃は、週4~5日渋谷でWebエンジニアとしてインターンをし、週2~3日関西で大学に通う。という生活をしていたので、夜行バスと渋谷のAirbnbの安宿でほとんど寝れない状態で働いていたのも、よくなかったのかもしれません。

しかも交通費と宿泊費がバカみたいにかかりました。月間で10万円のお金稼いで、8万円は交通費・宿泊費に消えるみたいな...。


関西でWebインターンできる場所があればよかったんですが、東京でしか見つけられなかったんですよね。東京の大学生の方が地方の大学生よりも機会として恵まれているなと痛感した。


その他

この時期にもともと営業職で内定をもらっていたのを破棄し、エンジニアとして就職できないか交渉することに。

「営業職にしよう!」と説得されましたが、「営業職で就職するくらいなら、来年に新卒就職ずらしてでもWebエンジニアで別の会社に行きます。」とゴネて職種チェンジを断行。

せっかくエンジニアとして働き始めたのに、新卒のファーストキャリアとして非エンジニア職を選んでプログラミングをしない時間が増えると、自分の性格上プログラミングを続けることはできないなと思ったのと、またプログラミングをやりたくなった時に絶対後悔するなと思ったのでいい判断だったなと。

人事の方には相当迷惑をかけましたが、Webエンジニア職として1次面接から再開していただき、なんとかWebエンジニア職として内定をもらい直すことができました!



プログラミング開始6ヶ月~7ヶ月(大学4年生)

やったこと:渋谷でWebエンジニアインターンやめる、遊び倒す
かかった時間:0時間/日
かかったお金:0円
もらったお金:0円

大学4年生の2月ということもあり、この時期はWebエンジニアインターンもやめ、卒業旅行や個人的に旅行に行ったりと遊んで過ごしました。

ほとんどプログラミングをしない生活が続きました。

「Webエンジニアとして働く!」って決めた情熱はどこに行ったんでしょう...。この性格はもう治らないんだろうな無理。



プログラミング開始7ヶ月~8ヶ月(大学4年生)

やったこと:VRアプリ開発
かかった時間:10時間/日
かかったお金:60,000円
もらったお金:0円

1ヶ月間プログラミングから離れていたからか、また急激にプログラミング熱が高まり、のこり入社1ヶ月の空白期間でVRアプリを作成することに。

(↑実はProgateやってた時期からVRに興味を持ってた。VRさむらい。)


やったことなど

ひとりでググりながら実装してもいいかなと思いましたが、TECH::CAMPでちょうどVRコースを募集していることを知り、「質問できた方が非効率にググって試行錯誤しなくてもいいから効率的だな!」

と思い、2度目のTECH::CAMPに通うことに。(TECH::CAMPに2回も通ったことがあるのはわりとレアだと思う。)


1回目のTECH::CAMPでは2回しか通わずまったく意味がなかったことを振り返り、2回目はほぼ毎日(1ヶ月で28日間くらい)10時間近く、渋谷のスクールに通いました。

結果として4週間目くらいでiOSアプリ向けのVRアプリを開発しきり、リリースすることができました🎉

(Android端末で開発してリリースはiOSでしたのが悪かったのか、リリース後に不具合が多く見つかったのは、今となっても悪い思い出)


収入・支出など

TECH::CAMPに6万円くらいまた払いました。趣味で開発しているVRアプリだったので、収入は0。

「新卒で働き始めたらお金入るし、耐えどきかな〜。」と思って、丸亀製麺の常連になり、かけうどんを食べ続け、ギリギリの生活費で生きてました。


振り返り

VRアプリ開発では未経験のUnityを使ってこれまた初めてのC#で開発をしていました。

ですが、Railsをある程度理解できるようになっていたからか、UnityもC#もつまづくことなくすんなり理解することができました。

「一つの言語をやり続ければ他の言語の習得も早くなる」というのは真実だなと。

先述した記事の「死の谷」は超えられたな。と実感。


プログラミング開始8ヶ月~1年半(新卒1年目)

やったこと:Webエンジニアとして新卒1年目~1年半
かかった時間:8~9時間/日
かかったお金:5,000円/月
もらったお金:250,000円/月

「プログミラングナニモワカラナイ」から8ヶ月。

この頃には「どんなエラーが出ても、ググりながらならある程度自力で解決してプログラミングはできるな。わからなくても、わかりそうな人に何を質問すればいいかは分かるな。」くらいのレベルでした。


業務など

新卒Webエンジニアとして渋谷のベンチャーに入社して最初の数ヶ月はWebエンジニアとしての基礎を研修で学び、その後事業部に配属されて開発を進めました。

これまで書いてきたRuby on Railsは、ある程度フレームワークが内部の処理を隠蔽してくれて、型も意識しなくてよかった。数万人が利用するWebサービスでもなかったので、処理の最適化とか考えなくても、必要な機能が実装できればそれでOKでした。

が、配属先では言語がJavaだったので、オブジェクト指向かつ静的型付け言語で型を意識するようになり、とっかかりは苦戦しましたが、入門書を2、3冊こなしてなんとか業務には入れるようになりました。

(↑この本たちを読んだ)


また、事業部が割と大きかったこと、ベンチャーで成長が優先されてきたこともあってか、技術的負債が各所にあり、それを改修するための機能改修や機能開発を進めるチームで働くことに。


これまであまり意識して使っていなかったSQLのチューニング作業や、データ出し、効率のよい処理はどうやって書くか、他のエンジニアが読んでも理解しやすいコードはどんなコードか、数年後のデータ量を見込んでも問題ない実装か、他の機能との連携部分にも考慮がされているか、、、など、10人のベンチャーでWebエンジニアとして働いていた時には意識しなくてもよかった様々なことに意識せざるを得ず、先輩エンジニアの方からの想定もしてなかった角度からのレビューから学びをもらえる日々。


その機能の必要とすることを考えるだけじゃなくて、その機能が利用されるユーザーの心理、その機能が将来的に問題を起こさないのか、機能の仕様が変更されても対応しやすいのか、、、などなど、一つの機能を実装するだけでもあらゆることを考慮する必要があるので、日々頭を使って新しいことを学んで成長している実感があるし、楽しい日々。


頭を使うこと、新しいことを学ぶこと、パズルやゲームが好きな人にとっては、Webエンジニアは天職だなと。


収入・支出など

給与面では、東京のITベンチャーでエンジニア就職をしている新卒の平均値くらいだと思う。手取りで月25万くらい。自分はほとんど未経験枠で入社したけど、情報系の学部・院卒の同期も最初は同じくらいの給料だったぽい。

残業は自分が入社するまでは結構あったらしいが、僕が入社して以降で労働時間の改革が進められ、「残業は原則しないようにしよう」という方針になった。


ぼくの入社したタイミングでちょうど、↑この価値観からの転換がされたらしい。


ぼくはNo残業の方針に全力でのっかってほとんど残業はしなかったし、他の社員も残業していない人が多かった。平均すると月の残業時間は多くても10時間くらい。

支出面では、技術書を月に平均2冊くらいしか買わなかったので、5000円くらい。あとは最低限の生活費しかかからないから、月に10万円くらい余裕で手元に残る。


その他

この時期に、仮想通貨にはまり、ブログも始める。

「新卒1年目で毎月10万円残っていたお金が新卒2年目の4月には全部解けました」って香ばしい話もあるけど、この記事の趣旨とは関係ないので割愛。


振り返り

事業が大きかったこともあり、大きな事業だからこそ経験できる業務を数多く経験することができたのはよかったなと。

スタートアップ・個人で開発していた時には、浅く広く技術をスピード感持って触りまくれる良さがありましたが、大きな事業部では少しの改修でも考慮するべきことが多いので複数の視点で考慮し、内部の処理の最適化を地道に続けることができる良さがあるなと。

エンジニアと一口に言っても、上記のいずれの開発環境が得意か・好きかは人によって違うと思うので、自分がどっちのタイプが得意か・好きかを知る意味でも、渋谷でWebエンジニアインターン、新卒で大きな事業部でエンジニアの両方が経験できたのはありがたかった。

ちなみに、ぼくの場合は前者の方が好きだけど、後者の方が得意かもなって感じです。経験した時の僕のエンジニアスキルが大きく違ったのもあるかも。



プログラミング開始1年半~2年半(新卒2年目)

やったこと:Webエンジニアとして新卒2年目~3年目
かかった時間:8~9時間/日
かかったお金:5,000円/月
もらったお金:260,000円/月


業務など

5人くらいの開発チームのリーダーを一時的に経験したり、1年目にはなかった職務が少し増えたり以外は、2年目になってもやることは大きく変わらず、同じ事業部で開発を続けた。

業務内容書きすぎるとおそらく同僚に特定されるので、ふせます。


収入・支出など

給与面では、手取りで月26万くらい。1年で1万円くらいあがって年収ベースでは15万円くらい手取り増えたかな。ボーナスが入る月は2倍になる。

会社の平均値くらいの昇級ペースぽい。


その他

この時期にPythonとnoteを書き始める。Pythonのコードとブログで月に1万円くらいは何もしなくても入ってくるように。


振り返り

この時期は、会社の業務だけやって土日に何もしないと、自力で0から実装する力がなくなっていきそうだと思い、意識的に個人開発を始めました。

Pythonを書いたり、Angularを書いたり。Herokuで個人開発した機能を定期実行させたり、TwitterやLINEのBot作ったり、ブログの自動投稿プログラム書いたり...。

この辺の話は↑の記事にまとめています。


自分の下の代で入ってきた新卒たちが自分より数段経験豊富・優秀で、「自分はいつか駆逐されてしまうのでは??」といつも思わされる。



プログラミング開始2年半~3年(新卒3年目)

やったこと:Webエンジニアとして新卒3年目
かかった時間:9~10時間/日
かかったお金:10,000円/月
もらったお金:270,000円/月


業務など

今のところ業務内容は特に変わらずです。

詳細は同上の理由で伏せます。


収入・支出など

また手取り1万円増えて、月に27万円くらい。(額面はもっと増えてるのに...税金つらい。)

技術書もっと買ってもいいなと思ったので、会社で先輩にオススメされた本とか、気になった本をすぐに買っています。


その他

この時期にPythonとnoteを書き始める。Pythonのコードを書いたこのnoteとブログで月に1万円くらいは何もしなくても入ってくるように。


振り返り

3年目は始まってまだ1ヶ月しか経ってないけど、この1年で自分の今後のキャリアがまた大きく変わりそうな気がしている。正念場。



これから

未定です。

恵まれた職場環境だとは思うので、特に何もなければこのまま今の会社で働き続けるかもしれない。

急に他の職場で働きたくなって転職するかもしれない。

大学生の頃から「海外でエンジニアとして働いてみたいなぁ。」という漠然とした想いはあるので、突拍子もなく海外に行ってるかもしれない。

個人で今作っているWebサービスがあるので、それをガッツリ開発したくなるかもしれない。



エンジニアになるか悩んでいた頃の自分を振り返って


「プログラミングナニモワカラナイ」状態だった時よりは、自分が選べる選択肢は格段に増えているし、その選択肢の一つ一つがより鮮明に見通せる。

日々新しい技術を学べてるのも嬉しいし、プログラムのこと考えてるのも楽しいし、エンジニア同士で技術的負債のつらみを話しているのだって楽しい(楽しんじゃダメかもだけど笑)。


プログラミング始め〜半年くらいが一番心理的にも報酬的にもきつかったけど、徐々に「きつい!やめたほうが楽だ!」が和らいでいって、いつの間にか今の自分がある。

もしも今この記事を読んでいるあなたが、「プログラミングできねえ!」「エンジニアなりたいけど、〇〇で、、、」という状況なのであれば、「半年間はプログラミングを書かざるを得ない環境でプログラミング書き続けよう!」と決めること。そして、半年やりきってみてほしいです!

僕もまだまだ全然エンジニアとしてはしょぼいし、人にアドバイスできるような立場でもないけど、プログラミング始め〜半年の状態の自分に何か言えるなら、それだけは伝えたいなと思って書きました。


最初はつらいことも多いけど、徐々に楽しくなっていくのがエンジニア職だと思うし、新しい技術とわからないことをわかるようになることを楽しむことができれば、やめられなくなるから。


よいプログラミングライフは、プログラミングライフの積み重ねが生み出してくれるから!


では。



この記事が気に入ったらサポートをしてみませんか?