転職で年収60万アップ!エンジニアとしての引き出しをRecursionが増やしてくれた|keisukeさんインタビュー

今回インタビューさせていただいたのは、keisukeさん。

Recursionにはテスト時代からご参加いただいている最古参ユーザーのお1人です。現役エンジニアとして活躍されていらっしゃいましたが、さらなるキャリアアップを狙って転職活動を始めたそうです。

Recursionの上級コースでデータ構造、木構造を学んだことでプログラミングで表現・実現できることが格段に増えたとのこと。結果、見事年収アップで転職成功されました。

転職成功の秘訣やRecursionユーザーへのアドバイスをkeisukeさんに伺ってみました。


keisukeさん:

Twitter:https://twitter.com/kesuike713

Recursionプロフィール:https://recursionist.io/dashboard/users/kesuike

キャリアアップを見据えてコンピュータサイエンスを学ぶ

――keisukeさん、インタビューをお受けいただいてありがとうございます。早速ですが簡単な経歴と、プログラミング経験の有無について教えていただけますか?

keisukeさん(以下敬称略):

現役エンジニアですので経験はあります。

エンジニアになる前に1年ほど勉強していて、現職は2年経験があるので合計3年の経験ですね。

言語としてはRuby(Ruby on Rails)が3年、JavaScript(Vue.js)も2年ほど経験があります。

大学は商学部でした。なのでプログラミングに関しては大学では全く習いませんでした。高校の時理系を選択していればとかなり後悔しています。

大学を卒業した後はSESとして9ヶ月間テスターをしました。その後は現職に入社してRuby on RailsとVue.jsを使い自社サービスの機能拡張を主にやってきました。

――Recursionを始めたのはどうしてですか?

keisuke :

CS周りの学習をしたかったからです。

当時から「開発の仕事で困る」みたいなことは特段なかったのですが、今後を見据えたときに基礎であるアルゴリズムやデータ構造などは抑えておく必要があるなと思い、サービスを探していたときにshinyaさんがテストユーザーを募集していたので応募しました。

――Recursionをどのように利用しましたか?

keisuke :

アルゴリズム、データ構造に1番力を入れて学習しました。次点でOOPやデザインパターンですね。

特に上級のデータ構造、木構造は最高でした。これらを学ぶことでプログラミングで表現・実現できることが格段に増えました。難しいという意見もありますがぜひ完遂して欲しいです。

プロジェクトは1〜4と6を完成させました。5は途中で断念しています。orz

上述したデータ構造やOOP、デザインパターンを試す良い機会だったのでプロジェクトは結構楽しんでやってましたね。

――Recursion以外にも何かサービスを利用していますか?

keisuke :

Leetcodeというサービスをコーディング試験対策として使っていましたが、それ以外は特に使っていません。

基本的にはRecursionで学んだ内容をアウトプット、またRecursionでインプットしてアウトプットの繰り返しでした。

UNIXやネットワーク周りに関しては、本を読んで学習しました。

  • Linuxの絵本
  • TCP/IPの絵本
  • コンピュータはなぜ動くのか
  • プログラムはなぜ動くのか
  • みんなのコンピュータサイエンス

などです。Recursionでこれらのコースが用意されるのを楽しみにしています!

――エンジニア関連の資格は取りましたか?

keisuke :

資格は何も持っておりません。

もちろん資格は持っていて無駄ではないと思いますが、僕は資格取得のために勉強するよりも物作りを通じて勉強する方が性に合っていると思ったからです。

――keisukeさんは、ポートフォリオを用意していらっしゃいますか?

keisuke :

Recursionのプロジェクトの他には、インターネットに公開してはいませんが「HTMLとCSSを自動で開発するサービス」を作りました。

https://github.com/keisuke713/grid_layout_generator

html/cssでよく使われるgridというレイアウトをユーザーが好きなように配置して最終的にそれをプログラム側でコードに変換するというサービスです。

RecursionでCSを学んだことで作れるシステムの幅が広がった

――Recursionを始める前と後ではどのような変化があったと思いますか?

keisuke :

作れるシステムの幅が広がった気がします。

Recursionを始める前はよくある掲示板などしか作れませんでしたが、Recursionでデータ構造を学んだおかげで作れるシステムや機能が格段に増えました。ちなみに上記のサービスもDOM操作はもちろん木構造・キューを使ったりOOPやデザインパターンを意識して開発をしています。

Recursionは僕にエンジニアとしての引き出しをたくさん与えてくれたと思います。

――Recursionを友人や同僚におすすめできますか?

keisuke :

もちろんおすすめできます。

理由は2点ほど。

まず1つは、「Recursionでは特定の言語やFWに依存しない事柄を学習できること」です。例えばアルゴリズムやデータ構造などです。言語やFWが異なっても、使われるアルゴリズムやデータ構造は基本的には変わらないと僕は思います。

なのでそれらを学習することによって、言語やFWに左右されることなく安定して力を発揮することが出来るようになります。

あともう1つは、「コミュニティで気軽に質問できること」のも大きな魅力だと思います。僕もそうだったのですが、初学者って本当に何も分からないと思います。

だけどどこでどう質問したら良いのか分からなくて結局嫌になりプログラミングそのものを諦めた人を何人も知っています。

その点Recursionはコミュニティがあり分からないことは何でも無制限に質問できます。

これは本当に大きいことだと思います。またどう質問すれば良いか分からないって人のために質問テンプレートもあるので安心だと思います。

以上の理由から僕はエンジニアを目指している人はもちろん、エンジニアになれたけどなんか仕事で詰まることが多いなって人もRecursionをぜひぜひ使って欲しいです。

61ドル/月なのも大分良心的かなと笑。

年収60万アップ!転職成功の秘訣

――転職活動についてもお聞かせください。まずは、どういった方針で会社を選びましたか?

keisuke :

次の3点です。

  • バックエンドで人気が出てきているGoやKotlinなどを採用していること
  • 開発に関しての価値観
  • 保守運用よりかはガンガン開発したかったので新しく立ち上がったプロジェクトやサービスに携われること

特に二つ目の価値観に関しては譲れない条件でした。

具体的に言いますと自動テストやレビューなどで全体の品質を担保する意識があること、プロダクトの機能の量だけでなく質(パフォーマンスや拡張性)にも重きを置いていることです。

カジュアル面談や企業の技術ブログでこれらを確認して合致しているなと思った企業を中心に応募していきました。

――活動を始めてどれくらいで内定をいただけましたか?

keisuke :

最初に内定を頂いたのは転職活動を始めて2ヶ月経過した頃だったと思います。有難いことに合計で3社から内定を頂きました。

――何を重視して確認されましたか?

keisuke :

現職でどんな価値を残したかですね。

特に上から与えられたタスクだけでなく、自分で考えて何かしたことがあるか。を複数企業(大手、ベンチャー問わず)で聞かれました。

その点に関しては僕は自分で勝手に(笑)社内ツールを複数作っていたので割と評価されたと思います。

――選考の流れはどのように進みましたか?

keisuke :

多かったのは以下の流れです。

書類審査->一次面接(orコーディング面接)->二次面接->最終面接

――コーディング面接はどうでしたか?

keisuke :

アルゴリズムやデータ構造を問ういわゆる競プロに近い課題やその会社で扱うプロダクトの簡易的なものを作るなどの問題でした。

アルゴリズムやデータ構造に関しては、特にグラフや木構造に関する問題が多く出た気がします。

中にはRecursion内の問題と全く同じ問題が出てきてビックリしましたねw

――前の仕事に比べて給料はアップしましたか?

keisuke :

有難いことにUPしました!年収ベースで60万ほどです。

――転職後の業務内容の概要を差し支えない範囲で教えていただけますか?

keisuke :

まだ働いていないので分かりませんが、GolangでAPIを作ったりインフラの整備と言われています。

GoでのAPI作成はもちろんインフラの経験も今後積みたいと考えているのでとても楽しみです。

――今後の展望などあれば教えてください

keisuke :

ソフトウェアエンジニアとして社会の自動化に貢献していきたいです。そして日本の労働環境を少しでも良くしていけるようなサービスを開発出来たら良いなと思います。

あとはミーハーなのでGAFAで一度は働いてみたいです笑

Recursionユーザー、実務未経験者へのアドバイス

――実務未経験者が内定を取るためにやっておいた方が良いことは何だと思いますか?

keisuke :

うーん僕自身がもう実務未経験者ではないのであまり分からないですが、やっぱり自分のサービスではないでしょうか。

「教材に載っていたから作った」などというものではなく、自分で課題を発見して解決するところから作られたサービスは面接担当者も「おっ」となると思います。

それこそ現職や普段の生活で何か不満がある人はそれを解決するようなシステムを作るのが良いと思います。

――Recursionを始めたばかりのユーザーがやっておくべきことは何だと思いますか?

keisuke :

出来るだけアウトプットをした方が良いです。もちろんインプットも大事ですが、実際に使うことで「どういった場面で役に立つのか」「どう使うのがベストなのか」など様々なことに腹落ちすると思います。

真の意味で理解していると言えるようになるにはやはりアウトプットは避けては通れない道かなと。

あとはそもそも論ですが途中で辞めないこと、毎日続けることですね。

スポーツなどと同じで数ヶ月でレベルアップするとかは、よほど地頭が良くないと無理だと思うので…。

自分を信じて自分のペースで(でも決して立ち止まることなく)続けることが一番大事かなと思います。

――keisukeさん、貴重なお話を聞かせていただいてありがとうございました。今後のご活躍を期待しています。