SMARTCAMP Engineer Blog

スマートキャンプ株式会社(SMARTCAMP Co., Ltd.)のエンジニアブログです。業務で取り入れた新しい技術や試行錯誤を知見として共有していきます。

SES企業出身者が競技プログラミングで転職して頑張ってる話

はじめまして。ビジネス向けのSaaS比較サイト『BOXIL SaaS』のエンジニアをしていますJinJin(三浦)です。昨年12月にSESをメインで行っている企業からスマートキャンプに転職しました。

この度、テックブログの執筆を担当させていただけることになりましたので、競技プログラミングの成績をアピールポイントにして転職活動を行なった経験や、スマートキャンプに入社してみて気付いたことなどをメインに、入社エントリを書いていこうと思います。

スマートキャンプのエンジニアポジションに興味がある方だけでなく、競技プログラミングに興味がある方や、SES企業・SIerからWeb系への転職を考えている方にとって参考になるような記事にできればと思っております。

転職活動について

はじめに、転職をしようと思ったきっかけやスマートキャンプを選んだ経緯について書かせていただきます。

きっかけ

もともと愛知県にあるSESをメインで行っている企業に務めており、自動車メーカーの関連企業に客先常駐しながらアプリケーション・エンジニアとして働いていました。そこでは主に自社フレームワークを用いた社内向けの経理システムの開発に携わっていました。

入社6年目に差し掛かる頃に自分の中で心境の変化があり、「よりモダンな環境・手法で開発をしてみたい」、「自分のスキルやキャッチアップ力が他の環境で通用するのか試してみたい」と思うようになり、その頃から業務を続ける傍らひっそりと転職活動を始めました。

スマートキャンプを見つけた経緯

趣味で競技プログラミングを行っていたため、そのスキルをアピールできないかと、求人サイトは『paiza』をメインで利用しました。競技プログラミングのコンテストで有名なAtCoderの行っている転職サービスも選択肢としてあったのですが、求人の多さや企業へのアプローチのしやすさから、paizaをメインで利用しました。

出典:プログラミングスキルチェック | ITエンジニア専門の転職サイト【paiza転職】https://paiza.jp/challenges

paizaでは求人を出している企業へアピールできる材料として、レーティングシステムが用意されています。その数値は、サイト内で用意されているプログラミングの課題を解くことで上げることができました。

もともと競技プログラミングの入門書として有名な『蟻本』で勉強していたり、AtCoderの週末のコンテストに継続的に参加して水色のレーティングを獲得していたりしたこともあり、本格的にして開始して約半月で最高のSランクの中でも上位の赤色のレートを取ることができました。

レートの推移。

そして、「どうせだったら、上位のランクを募集条件にしているところから探そう」と思い、条件指定して検索をかけた際に目に留まったのがスマートキャンプでした。

どうしてスマートキャンプにしたか

カジュアル面談から選考を始めてもらい、数回の面接とリファレンスチェックがあった後に、内定をいただくことができ、その数日後に行われた内定者向けのWeb面談にてEMの入山さんと会話する機会がありました。

その場で、前職とはカルチャーも必要なスキルセットもギャップがあるけども、それを踏まえたうえで三浦さんでしたらキャップアップできると思うので、挑戦して欲しいという気持ちを伝えてもらえたのが、入社する決め手になりました。

入社してみて

カルチャー面

  • 利用するSaaSが多い

    SaaS比較サイトを運用しているだけあってか、社内で利用しているSaaSの種類も多いです。入社した初日には、多くのツールの利用登録を行なった記憶があります。(社内チャットツール、バーチャルオフィスツール、勤怠管理ツール、経費精算ツール、人事評価・社員名簿ツール、ナレッジ共有ツール、短文メッセージツール、など)

    実際にそれぞれ有用に用いられており、Missionとして掲げる「テクノロジーで社会の非効率をなくす」を体現しているように思えました。

    BOXIL SaaSエンジニアの雑談チャンネル『# boxil_dev_心』は心の癒し。

    キャンプスペースでの開発朝会中のスクリーンショット。Gatherについての記事はこちら

  • Microsoft製品をあまり使わない

    前職では「ドキュメントといえばとりあえずExcel」という文化でしたが、スマートキャンプに入ってからは、NotionでMarkdown形式で記述することが多く、スプレッドシートを使う場合でもGoogle Spreadsheetを利用するようになりました。

    地味ですが自分の中では結構大きな変化でした。

    また、開発PCもWindowsではなくMacを利用するようになりました。(Visual Studio Codeは愛用しています。)

    支給されたMacBook

  • あだ名文化

    スマートキャンプではあだ名をつける文化があり、本名で呼ぶよりもメンバー同士の距離感を縮めやすく、ありがたいと感じています。(あだ名に慣れすぎて本名が思い出せなくなるのはスマートキャンプあるあるだと勝手に思っています。)

    ちなみに自分は、下の名前を音読みすると『ジン』となることから『JinJin(ジンジン)』と呼ばれています。

  • みんなコミュ力高い

    心理的安全性を保てるようにしつつも、フランクに接していただける方が多いように感じます。自分も見習いたいと思う面が多いです。

業務面

  • Ruby on Rails

    前職ではJava(Struts系)をメインを使っていたため、スマートキャンプに入社が決まってから初めてRuby on Railsに触りました。 フレームワークの方でいい感じにやってくれるが故に、どこがどう動いているのかわからなくて初めの頃は戸惑うことが多かったです。最近になってようやく勘所がついてきました。(と思いたい。。)

  • GitHub

    Git・GitHubでの開発を本格的に行ったのもスマートキャンプに入社してからになります。前職では資産管理ツールとしてずっとSVNを用いていたため、ようやくデファクトスタンダードな資産管理ツールで開発ができる嬉しさがありました。

    また、前職ではコードレビューの指摘事項はExcelに記述して共有していたのですが、GitHubのページ上でソースコードの具体的な箇所にレビューコメントを残すことができるようになり、レビューがGitHub上で完結するようになったのもありがたかったです。

    また、『GitLens』(VSCodeの拡張機能)を用いて、ソースコードから過去のPull Requestを簡単に辿ることができ、書かれた背景などを簡単に調べられるのも便利でした。

  • アジャイル開発

    BOXIL Magazineを運営しているメディアチームやセールスチームから次々と開発要望が上がってきて、それを、Sprintのタスクとして次々積んでいき消化する。それが、早いサイクルで回っていくのが楽しいです。 毎週金曜日にあるSprint Reviewでは、エンジニアチームの行った開発の成果を発表する場があり、その場で反応がいただけたりしてモチベーション向上にも繋がります。

これから

チームやプロダクトに対してリスペクトがあるので、今以上にドメイン知識やシステム構成について理解して、機能追加や開発改善などをゴリゴリにできるようになっていきたいと思ってます。