今回はメガベンチャーのWebフロントエンドエンジニアとして内定を獲得されたToshikiさんに、未経験から実務をこなせるようになるまで努力したことやその学習方法、内定を獲得するためにアピールしたことなどについてインタビューを行いました。
- メガベンチャーにソフトウェアエンジニアとして就職したい
- フロントエンドエンジニアの内定が欲しい
- 未経験から実務をこなせるようになるための学習方法を知りたい
そんな方にToshikiさんの成功体験をお伝えします。
![Recursionユーザー toshiki](https://blog.recursionist.io/wp-content/uploads/2022/11/ODqP2JgX_400x400.jpeg)
Toshikiさん
現在は情報理工学部3年生。大学1年生からプログラミング学習を始め、2年生でRecursionでの学習を開始。長期インターンで実務を経験し、個人事業主としてもコーポレートサイト制作案件を引き受けるなど活躍中。早期選考でメガベンチャーでのフロントエンドエンジニアの内定が決まっている。
目次
メガベンチャーでエンジニアの内定を獲得できた学習方法
――メガベンチャーのフロントエンドエンジニアとしての内定おめでとうございます!ぜひToshikiさんがどのように学習を進めたのか、内定獲得に向けて準備したことなど詳しくお話を聞かせてください。まずは簡単な経歴とプログラミング経験の有無について教えていただけますか?
現在情報理工学部コンピュータ応用工学科の3年生です。
中学、高校生時代はずっと部活動で卓球をしていました。大学入学後も続ける予定でしたが、コロナ禍で活動ができなくなってしまったため、大学1年生から家でプログラミングの勉強を始めました。
Recursion を始める前は独学でPythonを1年ほど学習していました。具体的には、CUIで遊べる簡単なゲームを作成したり、ブラウザを自動操作できるライブラリ(Selenium)を利用してタイピングゲームを自動化したりして遊んでいました。その他の言語は特に勉強していませんでした。
――Recursionを始めたのはどうしてですか?
当時大学2年生(2021/5)だった私は、実務経験を積むために長期インターンを始めようと考えていました。しかし、長期インターンでやる業務のイメージが湧かず、今の実力で業務ができるのかを不安に思っていました。そんな時にRecursionを知り、「これなら実務についていくための技術力が身につきそう!」と思ってRecursionを始めました。
――どのようにRecursionを利用し学習を進めましたか?
初めは以前から学習していたPythonで進めました。コースの性質上Javaで進めたところもあります。長期インターンを始めてからは、そのとき必要になったHTML/CSS/JavaScriptも学習しました。
学習時間は特に決めていなかったので、30分未満の日も12時間以上やっていた日もあります。一番やる気があった日は、入浴中や食事中でも頭でコーディング問題を考えていました。
――もっとも注力して勉強したのはどの項目ですか?
エンジニアの基礎力を身につけるために満遍なく勉強しましたが、最も注力したのはデザインパターンだと思います。
デザインパターンを理解するとアプリケーションの設計時に選択肢が増えるので勉強のやりがいを感じていました。ただ、かなり難しかったので何度も読み返してやっと少し理解できてきた感じです。
――Recursionで学習してみてご自身の変化を感じましたか?
一番大きい変化は、どんな技術でもキャッチアップが早くなったことだと感じています。
Recursionでコンピュータサイエンスをちゃんと学んだことで、エンジニアリングについての解像度が格段と上がり、プログラミング言語に依存しない知識が手に入ったことが要因のひとつだと考えています。
特に最近のフロントエンドは技術の移り変わりが激しいため、キャッチアップ能力は必須なのでこの変化はとても嬉しかったです!
フロントエンドエンジニアとして内定までの選考の流れ
――就職活動を行うなかで、どういった方針で会社選びを行ったのですか?
長期インターンに参加する中で日々情報を集めていました。そこで働く先輩エンジニアやチームメンバーから「自分がやりたいことができる環境が大事」、「結局は一緒に働く人が大事」などアドバイスをいただいたのでそれを元に自分なりの就活の軸を考えました。
その中でも特に重視していたのは以下の二つでした。
- フロントエンドエンジニアとして経験を積んだ後、色んな職種に挑戦できること
- 活躍されていて尊敬できるチームメンバーと働ける環境があること
私がみていたWeb系の企業は魅力的な福利厚生や新人研修が多くかなり悩みましたが、最終的に「ずっとここで働きたい!」と思えた企業を選びました。
――何社くらい応募されたのですか?
本選考は、早期選考にお誘い頂いた1社のみ応募して、その企業に内定を頂きました。
――内定までの選考の流れはどのように進んだのですか?
書類選考から複数回の面接を経て、最終面接に進み内定という一般的な流れでした。途中の面接の回数は人によって増減するようです。
――コーディング試験はありましたか?
私が受けた企業にはコーディング試験はありませんでしたが、他の企業ではある所の方が多いと思います。
サマーインターンシップを探していた時にコーディング試験をいくつか受けましたが、Track(トラック)というコーディング試験のプラットフォームが多く使われていました。
問題の内容は企業によって違いましたが、難易度はRecursionでいうmediumくらいだと感じました。ただ、標準入力のやり方だけは少し対策しておいた方がいいかもしれません。
メガベンチャーの面接でアピールしたのは「やりきる力」
――書類や面接でどのようなことをアピールしたのですか?
書類でも面接でも一貫して実務経験があることをアピールしていました。
ただ、実務で書いたコードは契約上見せることができないので、設計に対する考えや普段開発している時にこだわっていることを言語化するなどの準備をしていました。面接では、実際に「コンポーネント設計する時に気を付けていること」を聞かれ、しっかり答えることができました。
――内定をもらえた一番の要因は何だったのでしょうか?
最終面接のフィードバックで「Toshikiさんはやりきる力がある」と言って頂いたのを覚えています。
面接を振り返ると、未経験からエンジニアとして仕事ができるようになるまでのエピソードを強調していました。
私は未経験からいきなり実務を始めたので、最初は地獄でした。まず言われたことが理解できませんでしたし、理解できたとしてもそれをどうやって実行するのか検討もつきませんでした。
当時のレベル感は「Web って何?」という感じで、jquery-x.x.x.min.js( jQuery ライブラリの圧縮ファイル)を怪しいファイルと勘違いして、本番環境で消したことがありました(めちゃくちゃ猛省しました)。
そこで挫折しかけましたが、諦めずに勉強を続けました。Recursionで基礎を身に付けつつ、実務ですぐに必要な知識は本を読む、動画を見る、大学の教授に質問するなど、できることは何でもして勉強しました。
それを続けていくうちに徐々に実務ができるようになり、余裕が出てきたら新しいことを勉強して、アピールすることを繰り返していきました。私はモダンフロントエンドに興味があったので特にReact、Next.jsを勉強しました。
その結果、Next.jsを用いたコーポレートサイト制作の案件を頂き、それが自分の中での成功体験にもなっています。
この経験から「やりきる力」があるという印象を持って頂けたのではないかと思っています。
メガベンチャーでエンジニア内定が欲しいならやっておくべきこと
――就職後の業務内容の概要を教えていただけますか?
現時点では配属が決まっていないので、まだ未確定です。個人的にはフロントエンド側のディレクトリ設計やアプリケーションのパフォーマンス改善に興味があるので、それに関連した業務をやってみたいです。
――今後仕事としてどうしていきたいですか?
今後はフロントエンドが強みのテックリードを目指します。
そのためにもバックエンドやインフラの知識はもちろん、これから必要になりそうなエッジ周りの知識なども貪欲に勉強していきます。他職種の方にも技術力で信頼されるくらい技術力をつけたいです。
――実務未経験者が内定を取るためにやっておいた方が良いことはありますか?
チーム開発です(即答)。
就活の時に感じたのは、以下の2つの点について重要視されていることです。
- 自分なりのポートフォリオを持っていること
- チームで取り組んだ経験があること
この2つについて実体験を元に少し説明します。
自分なりのポートフォリオを持っていること
これは自分で考えて作りこんだポートフォリオという意味です。なぜこれを作ったのか、どこにこだわったのか、そこから何を学んだのか、といった部分がよく聞かれます。個人的には、アプリを作ってから友人に使ってもらって改善することをおすすめします。面接時に語れるようになります!!
チームで取り組んだ経験があること
チームで取り組んだ経験についての質問がある企業が多かった気がします。私の場合は開発経験以外にも部活動の経験なども話しました。面接ではチームでの自分の役割や、どう立ち回ったかを聞かれました。
これらの2つのことから分かるのは、「チームで開発するポートフォリオが最強」ということです。インターンでもサークルでも何でもいいので、これらを経験しておくことが内定への近道だと私は思います。
Recursionにはチーム開発ができる環境まであるので、今からチーム開発したい人は利用しない手はないですね!
――Recursionを知人におすすめできますか?
エンジニアになりたい人にはかなり自信をもっておすすめできます。(特に学生!)
エンジニアになりたいと思った時、一番最初にぶつかる壁は「何を勉強すればいいのか分からない」だと思います。インターネットで検索しても知識が無い状態では「最新プログラミング言語ランキング」で1位の言語を始めることになるでしょう。それでPythonを始めたのが私です。
その後も独学では常に何を勉強するのかを探り続けることになると思います。
その点、Recursionでは1人前のエンジニアになるまでのロードマップが示されており、初心者がつまずきやすい部分がしっかりサポートされていると感じています。また、コンピュータサイエンスを深く学べる環境があり、エンジニアとしての土台がしっかりできるところが推しポイントです。
こういった理由で、エンジニアになりたくて勉強をしたい(している)人には最適なサービスだと思います!
実際にプログラミングの勉強を始めた友人におすすめしてみましたが、好印象のようでした(嬉しい)
――Recursionを始めたばかりのユーザーがやっておくべきことは何でしょうか?
これは個人的な意見ですが、Recursionで何を得たいかを明確にすることだと思います。
私の場合は常に実務でのアウトプットが目的にありました。今の仕事で書いているコードを責任を持って説明できるようにする、次の仕事で必要になりそうな知識を先取りする、など「今自分に必要な知識は何か」を意識しながら学習していました。
Recursionのコンテンツ量は膨大です。全部を理解しながら進むのは不可能ですが、自分に必要だと思った知識は理解できるまで繰り返し学習することが大切です。そのためにもまずは、何が必要か、何を得たいかを考えることをおすすめします!
――Toshikiさん、大変興味深い話を聞かせていただいてありがとうございました。