見出し画像

私立文系Fラン大学生がプログラミング始めて約1年半でメガベンチャーから内定をもらえるまでのロードマップ

はじめに

 株式会社プレックスの皆様、エンジニアである私の兄、そしていままで私を支えてくれた方々へ心より御礼申し上げます。この記事を執筆できるほど成長できたのは、間違いなく皆様のおかげです。

 初めまして、ゆーだいです。いま現在、首都圏にある私立文系大学(偏差値35のFラン)に通っている大学3年生です。大学では観光学を専攻していますが、24卒として2022年の12月にメガベンチャーからアプリケーションエンジニアとして内定をいただくことができました。普段は、スタートアップ企業の株式会社プレックス(物流×人材紹介会社)でWebアプリケーションエンジニアとして週3回働いていたり、いろいろな同年代の起業家(学生起業家)のプロダクト開発エンジニアとして業務委託で働いている社会人のような大学生です。
 プログラミングを始めて約1年半でメガベンチャーから内定をもらえるまで「学生のうちから即戦力となるWebエンジニアになる」という目標を掲げて、ひたすらに走り続けました。自分で言うのもアレですが、即戦力エンジニアになるためにかなり最短で最適なロードマップを歩んできたと思っています。なお、プログラミングスクールなどプログラミング学習のためにお金は、ほとんど使っていません。唯一お金をかけたのは、Progate(プログラミング学習サービス)だけだと思います。
 この記事で「文系・理系関係なしにエンジニアを目指している全ての学生に希望を持って物事に取り組んでもらいたい」「いままでたくさんのことをたくさんの方に与えてもらったので、今度は自分が誰かに何かを与える側になりたい」と思って、この記事を執筆することにしました。私が実際に行った学習など全てを書くので、かなりの長さになると思います。初めてWeb制作やプログラミング学習を始めた2021年3月ごろ〜2022年12月ごろまでの約1年半のことや学びを事細かに書きます。

この記事を読むべき人

  1. 大学生活で何かひとつ大きなことに挑戦したい学生

  2. Web制作やプログラミングに挑戦してみたい学生

  3. Webエンジニアになりたい学生

この記事から得られること

 今回、この記事は私の行ってきた経験が全て書き込まみました。以下、読むことのメリットです。

  1. 私立文系Fラン大学生がメガベンチャー内定もらえるまでのロードマップがわかる(文系Fラン大学生ができたことなので誰でもできます)

  2. エンジニアとして学生のうちから即戦力になる方法

  3. プログラミングへのモチベーション

プログラミング始めたての私のステータス

 まずは簡単に、プログラミングを始めたての頃の私のステータスを紹介します。小学校5年生から高校最後までの約8年間卓球を続けて、高校では毎日朝5時ごろ起床して朝練をして、夜は21時過ぎに帰宅するなどの卓球漬けの毎日でした。その結果、自分には才能がない中で高校の県大会で個人戦ベスト16になることができたゴリゴリの体育会系の人間です。卓球漬けだったので、中学と高校の授業中はずっと寝ていました。なので、義務教育上の勉強は全くできないと言っても過言ではありません。数学も全然得意じゃないです。そんな学生だった私でもプログラミングという自分が熱中できるものを見つけて全力で取り組んでみたら、メガベンチャーから内定をもらえることができました。このステータスを見て、「自分でもメガベンチャー目指せるエンジニアになれるじゃん」って誰かの希望になっていれば、とても嬉しいです。 

1. 自分自身の環境構築をしよう

 開発を始めるときの環境構築と同じように、初めは自分自身が置かれている環境を構築しましょう。わからないことをいつでも相談できる環境を見つけましょう。プログラミング始めたての頃の私の場合は、兄がフリーランスのエンジニアだったので、いつでも質問することができました。このいつでも質問できる環境は、プログラミング学習を続けていく上でモチベーション的にすごく大事だと思います。
 ここで重要なことは、質問の仕方です。基本的にエンジニアの質問はエラーの解決法だと思いますが、解決法である答えを教えてもらっても何も成長できません。答えという「魚」をもらうのではなく、答え(解決法)を見つける調べ方や考え方である「魚の釣り方」を教えてもらうべきです。誰かに教えてもらえば良いという考えではなく、本当にエンジニアになりたいならば自走できるようになることを目指すべきです。

2. 2021年3月〜5月ごろにやったこと(HTML&CSS)

 では、実際にやっていったことを1から説明していきます。まずは、ProgateでHTML&CSSをずっと独学でひとりでやっていました。初めはHTML&CSSのコースを全て終わらせることを目標にしてみましょう。ここでとても重要なのが、<a href="https://hogehoge"> や h1{ text-align:center; } などのHTMLのタグの意味やCSSの意味は、何ひとつ覚えなくて良いのです。HTMLタグをひとつひとつ全て覚えているWebエンジニアは存在しないと思います。「こういうことができるタグがあるんだ」という認識だけで十分です。この認識だけで良いと言い切れる理由は、実際にWeb制作をするときは「こういうことができるタグあったよなー、調べてみよう」ということができるからです。なので、ひとつひとつ覚えなくて良いのです。エンジニアは、どれだけカンニングが上手いかも重要だと思っています。
 ここで実際にHTML&CSSを書いてみて、「コードを書くことで自分が作りたいものが作れる楽しさ」を感じることができたなら、Webエンジニアとしての素質があると言って良いでしょう。私にとってのコーディングやプログラミングは、「マインクラフトやレゴブロックのような自由度の高い遊びをやっている感覚」です。なので、プログラミングはゲームと同じで趣味なのです。コロナ禍で大学行けてなかったこともありますが、楽しすぎて朝9時からコメダ珈琲(カフェ)に行くなど、スキマ時間を使ってほぼ毎日やっていました。しかし、HTML&CSSのコースを終わらせるのに2ヶ月ほどかかったと思います。

最近は全くProgate触っていませんが、最終的に248レベになっていますね。

 HTML&CSSのコースを一通り終わらせることができたのなら、もう立派なWebエンジニアになれることはほぼ確定です。大抵の学生は、いろいろな理由(学業が忙しい・バイトが忙しい)をつけてHTML&CSSのコースを終わらせることができません。
 次は、いろいろなサイトを模写してみましょう。模写とは、実際に存在しているサイトを真似して同じサイトを自分で作ってみることです。この模写ができるようになったら、もうWebエンジニアとして案件を取ってお金稼ぎができると思います。多分、模写ができるまでに始めてから3ヶ月くらい時間かかったと思います。どういうサイトを模写すれば良いかなどは、Twitterで質問してください!

僕が実際に行っていた模写

3. 2021年5月〜7月ごろにやったこと(Ruby, Ruby on Rails)

 Web制作を始めて約3ヶ月でRubyと出会います。このままHTML&CSSを使ったWeb制作を極めていくのでも良かったのですが、エンジニアである兄に「そこまでできているなら絶対サーバーサイドを学んでWebアプリを作れた方が良い、給料も断然違う」という天の声のアドバイスをもらって、兄と同じRuby on Railsをやることにしました。そこで、まずはProgateでRubyのコースを一通りやりました。正直に言うと当初はRuby(プログラミング)の何が楽しいのか全くわからずに、モチベーションがないままRubyのコースをやっていました。なぜ続けることができたのかわからないほどきつかったですが、「へー、これがオブジェクト志向か。車の設計図を作っていろいろな車を生み出せるんだな」とか考えて、なんとか一通りやりきることができました。そして遂に、最高に面白く最強なフレームワークRuby on Railsに出会います(笑)
 Progateでは、Ruby on Railsのコースになった途端に、いきなりTwitterみたいなWebアプリを作り始めることになります。当時の私は「こんな簡単にTwitterやfacebookのようなWebアプリが作れるのか、ジャック・ドーシやマーク・ザッカーバーグたちは、難しいことしていないんだ!」と、すごく感激していました。いま思うと、この「難しいことではない」と思えたのがとても良かったですね。それまでTwitterなどのアプリ開発は、未知の世界でとても難しいものだと思っていたので、この感覚を得たことによって一気にハードルが下がったと思います。
 あまり良くないことですが学習モチベを考えると、初めはHTML&CSSと同様にそこまで完璧にRubyを書けるようにする必要はないと思います。とりあえずRubyのコースを終わらせる気持ちが重要です。素早くRubyのコース終わらせて、Ruby on Railsのコースにいきましょう。めちゃめちゃ楽しくなります。私は「とりあえず一通り全部やってみよう精神」で生きています。
Rubyのコースは、絶対に一通りはやりましょう。やらないと基礎(変数、メソッド(関数)、クラス、オブジェクトなど)がわからないまま進むことになります。基礎がわからないのにレベルアップすることはできません。

4. 2021年7月〜10月ごろにやったこと(Ruby on Rails)

 Ruby on Railsを学び始めてすごく楽しくなってきたところに、また天の声である兄からアドバイスが届きます。「もうインターンシップやってみても良いんじゃない?もっと成長できるよ」と。「へー、インターシップというものに行けばさらに成長できるのか、やるしかない」と思って、インターン先を探し始めました。(余談ですが、ここで一回サイバーエージェントさんのサマーインターンにエントリーしています、無謀ですよね、普通に落ちました。)
 ここからが結構特殊なルートで、学生のうちから即戦力なエンジニアを目指す上で一番最適なルートだったと思います。某プログラミングスクールのメンター業務の長期インターンに合格したのです。ここでいうメンター業務というのは、HTML&CSS, Ruby, Ruby on Rails, JavaScriptに関する受講生さんからの質問に答えるという業務です。先ほど、最適なルートと言いましたが何が最適かというと、最初は私自身も気づいていませんでしたが、このインターンに参加することで、プログラミングスクールの教材が全て無料で見れるのです。プログラミングスクールは50万円以上するのが一般的だと思います。インターンに行くことでプログラミングスクールのコース関係なしに全ての教材が無料で見放題になったのです。7月後半から9月後半までの約2ヶ月の研修の中で、私はRuby on Railsの知識を深めました。この研修も普通に挫折するほどめちゃめちゃきつくて大変でした。

5. 2021年10月〜2022年2月ごろにやったこと(メンター業務、個人開発)

 やっと2ヶ月間の研修が終わって、10月から本格的に業務が始まりました。当時の私自身も気づいていなかったですが、この業務が始まったことで自動的に最適な学習サイクルが作られていました。いままで2ヶ月間の研修でインプットをした後に、メンター業務という受講生さんに教えることを通してアウトプットが自然とできていました。この学習サイクルのおかげで、一気にプログラミングやWeb制作について知識が深まったと思います。
 そして、「ソーシャルネットワーク」を見て、マークザッカーバーグへの憧れから自分も大学生のときに大学向けのWebアプリを作りたいと思っていたので、業務にもプログラミングにも慣れてきた11月ごろに、早速自分でWebアプリ開発を始めました。そこで初めて開発したのが教科書販売Webアプリ「リケマ」です。このアプリは、友達が使わなくなった教科書をメルカリなどのフリマアプリでなかなか売れない姿を見て、「同じ大学内なら同じ教科書を使っているから売れるのではないか」という予測で作ったWebアプリです。決済機能はないですが、しっかりユーザー機能、販売したい教科書を画像付きで投稿できる機能、購入希望のコメントができる機能などがありました。使わなくなった教科書を売りたい人と買いたい人をマッチングさせることができてました。普通に使うことができるレベルのWebアプリで、初めての個人開発にしてはかなり良かったと思います。

リケマのトップページ

 そして、このWebアプリを運用してエンジニアとして重要なことに気がつきました。それは「作りたいものを開発しても使ってもらえないと意味がない」ということです。私自身、納得ができる開発ができてリリースまでできたのは良かったのですが、全然使われずにインフラサービスの有料化と同時に終了してしまいました。使われなかった要因は、「自分の予測で作ったので、本当はニーズがなかったのではないか」「PRの方法などマーケティングをもっと考えればよい」など様々あると思います。「開発するだけではダメなんだ」という、かなり重要なことに早い段階で気づくことができました。

6. 2022年2月〜3月ごろにやったこと(株式会社プレックスとの出会い)

 ここで、また神の声であるフリーランスエンジニアの兄から「そろそろ実務経験を積めるインターンにも行ってみれば」と、助言をもらいました。この助言をもらって、実務経験を積めるインターンシップを探し始めました。
そこで、株式会社プレックスと出会います。プレックスは、モダンな技術を使っているのがとても魅力的でエントリーしたのですが、いま振り返ってみてもよく提出できたなと思えるほどの高難易度の激ムズ選考課題が出されました。

実際に出された課題内容

課題の要件は上の画像なのですが、APIやSPAの存在を知らなかった私にこの課題は絶対できないレベルの課題でした。ましてや、Rest APIではなくGraphQL。ReactではなくNext.jsとType Script、、(笑)「これは、兄レベルのエンジニアじゃないとできないっしょ」とずっと思っていました。最初は、「この企業は、自分にはレベルが高すぎるから諦めよう」と思っていたのですが、少しやってみたら、なぜかいままでに経験したことのないほどのやる気が出てきて、アルバイトを2週間休んで、10日間毎日10時間以上この課題に時間を使ったら終わらせることができました。本当に10日間で一日10時間以上はやっていました。頭おかしいですよね(笑)

実際に提出した課題のReadme

上の画像にも書いてありますが、一番大変だったのがWindowsの環境構築です。Next.js +Ruby on Rails +GraphQLの記事なんて、調べても全然出てこないです。しかも、Windowsでやるなんて、さらに調べても出てこなかったです。めちゃめちゃ大変でした。
 なんとかこの課題を提出して、すぐに面接をして合格をもらうことができました。プレックスにジョインできたことは、かなり運命の分かれ道だったと思います。プレックスに行けていなかったら、いまの自分はいないと思ってます。そして、「大学1年生からやっていたアルバイトを辞めてプログラミングに集中する」という大きな決断をできたことも運命の分かれ道だと思います。コロナ禍で大学には全く行けていなかったので、バイト先にはたくさん友達がいました。大学に行けない分、バイト先の友達たちとたくさん遊んでいました。なので、バイトを辞める = 友達がいなくなるということだったのです、、(笑) しかし、「何かを得るためには何かを失わなければならない」という考えを持ってバイトを辞める決断ができました。友達はいなくなりましたが、プレックスのエンジニアであるじゅんじゅんさん種井さんに出会うことができました。このお二人は、私のプログラミングの師匠です。じゅんじゅんさんと種井さんにプログラミングの全てを教えていただきました。

7. 2022年3月〜5月ごろにやったこと(初めてのハッカソン、個人開発2)

 無事にプレックスにジョインできて業務を始めた頃に、また天の声が届きます。ここでの天の声は、兄ではなくじゅんじゅんさんです(笑)じゅんじゅんさんに「スタートアップっていう韓ドラを見て、ハッカソン楽しそうでした」という話をしたら、「学生向けのハッカソンもあると思うから探して参加してみれば」というアドバイスを貰えたのです。ここで、「技育CAMP 初めてのハッカソン」に参加します。このハッカソンの運営は、株式会社サポーターズという新卒エンジニアの就活支援サービスをやっている会社でした。この早い段階で、サポーターズに出会えたのも、とても運が良かったと思います。サポーターズめちゃめちゃおすすめなので、エンジニア就活する方は、早いうちにどんどん使っていくことをおすすめします。サポーターズ主催のイベントはとても雰囲気が良くて楽しいし、技育プロジェクトのイベントに参加するだけでも十分に就活のためになります。ここでのハッカソンの経験を書くと、永遠にこのnoteが書き終わらないので割愛しますが、「名言ガチャ」というWebアプリを学生4人で2日間で作りました。
 そして、この時期に個人開発の2つ目のプロダクトである大学の講義クチコミ・検索サイトの「Re:シラバス」というWebアプリを開発しました。このアプリを作った理由として、大学に元々講義検索ができるものがあったのですが、とても使いづらく履修登録にとても時間がかかっていました。そして、前回の個人開発の反省から本当にニーズがあるかを検証するために同じ大学生にアンケートを取りました。そしたら、多くの人が3時間以上履修登録に時間を使っていて、講義にクチコミをつけれるアプリがほしいというニーズがあることをしっかり確認することできました。このWebアプリは今後も継続して進化させていきたいと思っています。2023年2月現在、かなりスベってます。アプリ開発難しい、、

8. 2022年5月〜7月ごろにやったこと(サマーインターンに向けての就活、2回目のハッカソン)

 このサポーターズに出会って初めてのハッカソンに参加してから、サポーターズからサマーインターン募集のお知らせが届くようになりました。ここでいろいろな企業の募集があったので、自然とサマーインターンに応募できる環境が良かったです。サポーターズに登録していなければ、サマーインターンのエントリーに乗り遅れてたと思います。
 新卒エンジニア就活において、サマーインターンへの参加はかなり重要だと思います。私自身が内定もらえたメガベンチャーも、サマーインターンに参加して評価がとても良かったからです。サマーインターンに参加していなければ、この12月に内定をもらうことは不可能だったと思います。この時期に内定もらえている他の就活生もサマーインターンに参加した企業から内定をもらえている印象があります。なので、本選考よりサマーインターンの方が重要かもしれないと言っても過言ではないです。
 このサマーインターンの選考中にもう一度サポーターズのハッカソンに参加しました。ここで、機械学習(GoogleのTensorFlow)とカメラを使ってブラウザ上でリアルオブジェクト認識を開発。お題に出たものを現実世界で探すゲームの「Scavenger Hunt」を学生4人で開発して、努力賞をいただくことができました。ここで気づくのですが、もうすでに他の情報系の学部生よりプロダクト開発力が身に付いていました。 

Room Scavenger Hunt

9. 2022年7月〜9月ごろにやったこと(サマーインターンシップ、技育展)

 全力で駆け抜けた夏休みが始まりました。この夏で、長期インターンとサマーインターンで4社経験したことになります。まずは、内定をもらったメガベンチャーでの1週間のインターンシップ。ハッカソン形式のインターシップで、自分以外ほぼ修士の方たちでした。みんな英語がペラペラでついていけるか不安でしかなかったですが、めちゃめちゃ活躍できました。10月ごろにその企業から本選考へのスカウトが届くのですが、そのサマーインターンでメンターをしてくれていた社員さんからかなり高い評価をいただけてました。

実際のフィードバック
「技術力は良いけど、英語頑張って」

 これは若干皮肉になるので叩かれるかもしれませんが、情報系でずっと座学で学んでいる方たちはプロダクト開発力がない人たちが多いです。情報系を専攻している人はCSの知識はたくさんあるのですが、実際のプロダクト開発はしていないので、私の方がプロダクト開発力はありました。なので、プロダクト開発力に専念して技術磨いていけば文系でも十分に活躍できるのです。ちなみに、私は資格を何も取っていないです、基本情報技術者もITパスポートも何も持っていないです。とにかくインターンとプロダクト開発に注力していきました。
 あと、技育展という学生の日本最大のプログラミングピッチコンテストに参加しました。ここで、いままで技育CAMPで開発していた作品がさらにレベルアップしました。2週間のインターン中に技育展に参加して、ここでも毎日10時間くらいプログラミングしていたと思います、、(笑)

10. 2022年9月~12月の現在まで(個人で業務委託結ぶ、就活、内定獲得)

 サマーインターンなどであっという間に夏休みが終わってしまいました。この終わったタイミングで、学生起業家からプロダクト開発をしてほしいという誘いを受けることができました。
 そして、すぐに本選考の就活が始まりました。 サマーインターンでの選考をめっちゃやっておくと、いろんなところから「ESスキップで本選考受けませんか?」という招待がもらえます。なので、私は本選考を自分からエントリーするということはなく就活を一通り終えることができました。そのまま、就活をしていたら2022年12月8日に内定をいただくことができました。

全体的に振り返ってみて

 この1年半、本当に全力で駆け抜けました。全力で駆け抜けてみたら、ありえないほど大きく変わりました。普通に生きていたら見ることができなかった景色だと思うので、ゲームで言うとスペシャル裏コースに入れた気分です。駆け抜けすぎて一瞬で一年が終わりました。目次6で上げたように失ったものがあって、挫折するタイミングが何回もありましたが、ここまで続けられたのは皆さまのおかげです。そして、間違いなく私は環境と運がとても良かったです。やりたいことに挑戦させてくれる家族がいたこと、フリーランスエンジニアの兄がいたこと、たまたまプログラミングスクールのメンターになれたこと、たまたま株式会社プレックスにジョインできたこと、たまたまメガベンチャーのサマーインターンに参加できたこと。ここまで走り抜けることができたのは、じゅんじゅんさんと種井さんを筆頭に本当に皆さんの支えのおかげです。心より御礼申し上げます。私はたくさんのことを皆さんに与えてもらったので、今度は自分がプログラミングという技術を使って誰かに何かを与える人になりたいです。そして、まだ就職するまで1年ちょっと時間があります。この1年で人生がありえないほど大きく変わったので、もう1年あるということは、もう1回人生変えれるんじゃないかなって思っています(笑)なので、これからの自分の将来や未来がとても楽しみです。
 ここまで読んでいただいた方、ありがとうございます。この記事を通して、誰かの気づきや励みになっていたら本当に嬉しいです。何か話したいことや相談したい方はTwitterのDMにて、いつでも待っています!



この記事が参加している募集

#就活体験記

11,761件

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