SMARTCAMP Engineer Blog

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

SIerからベンチャーへの転職を通して自分と向きあった話

はじめまして!2021年7月にスマートキャンプに中途社員として入社した井上です! 

入社時から現在まで、BOXILの開発業務に携わっています。前職はSIerで顧客のシステム開発や新規プロダクトの開発などをしていました。スマートキャンプ、前職ともにフロント・バックエンド問わず開発をしていますが、スマートキャンプでは使用技術や開発するサービスの形態が前職と大きく異なり、新鮮な気持ちで業務に取り組めています。

今日は入社エントリーとして、私の経歴を含めた自己紹介と、なぜスマートキャンプに入社したか、そして入社後のギャップをメインに書いていこうと思います。

これまでの経歴

前述のように、私は新卒でSIerの企業に入社して、3年と少しの間、在籍していました。

1, 2年目は塾経営会社のWebサイトのシステム開発に携わっていました。同システムの保守業務をしながら新規機能の追加・改修プロジェクトに参加させていただきました。業務を経験していく中で開発リーダーのポジションになり、要件定義・設計・開発・テストなどウォーターフォール開発の工程を一通りこなしました。

その後、同じ会社の新規事業開発チームに異動しました。SIerの中で新規プロダクトを作るという特殊な組織でした。このチームではエンジニアの裁量が大きく、自分たちで要件を調整することができました。基本的にはサーバレスのようなモダンな構成を採用しており、プロジェクトの進め方もウォーターフォールよりはアジャイルに近かったです。周りのエンジニアの方々のレベルも高く良い刺激になりました。関わったプロダクトは3つほどあり、うち2つは立ち上げ時から関わることができ良い経験になりました。

2つの組織を通して基本的には開発業務に従事していましたが、領域はあまり限定せず、幅広く活動しておりました。おかげで視野が広がり、エンジニアとして成長できたと思います。

また会社としても良い会社だったと思っています。評価や待遇の面では、自分が出した成果や努力をしっかり評価してもらえて満足していました。一年目のときは、業務で成果を上げ、プライベートでも資格取得などを頑張っていたら、新人賞をいただけたこともあったりしました。実はチームを異動したのも私が要望を出したからなのですが、これも却下されることなく承認され、望んだ働き方をすることができました。また人間関係においても特に問題はなく、周囲の人は優しくて、特に新卒として入ったときには、周りとの人間関係が円滑になるように定期的に上長に状況確認会を開いてもらったりして面倒を見てもらいました。

このように全体としてみれば良い環境で働くことができていたのですが、そのうちポツポツと気になることが現れ始めました。それは段々と私のエンジニアとしての違和感や危機感を生むものになり、それが後々転職する理由になっていくことになりました。それは主に下記です。

スピード感のある開発がしたい

私が所属していたのはかなりの大企業で、グループ全体では数万人規模の会社でした。各部署がどういう仕事をしているのか把握し辛かったし、関係者とのMTGでは知らない人も多く、ITリテラシーが高い人もいればそうでない人もいます。

そのような組織であることもあり、全社的なルールが厳しく設けられていました。お客様のシステムを預かるのが主業務なので当然なのですが、例えば開発効率化のために新しいサービスを使いたくても利用申請を通す必要があり、プロセス上で承認を得る必要のある関係者も多かったりして、最終承認まで数ヶ月かかったりしていました。これでは便利そうに見えるサービスを導入したいとなってもその気が起きません。

このあたりに開発しにくさを感じていました。例えばCI/CD環境を作りたいとしても、CircleCIなどのサービスは社内承認されてないし、申請するのもすごい体力を使うということで、ローカルにJenkinsを立てるという苦肉の策を実施していましたが、結局ローカルで立てるのが面倒で使わなくなって手動でデプロイしていました。

このように使えるサービスの選択肢が狭いせいで「〇〇のサービス使えたらもっと開発スピード上がるのにな」と感じるようになりました。こうした観点から、使うツールに縛られることなくスピード感のある開発ができるところで仕事をしたいと思いました。

技術的なチャレンジ

前職ではJavaScriptによる開発がメインでした。新規のプロダクト開発であったとしても言語の選択肢は基本的にJavaScriptしかなく、他の言語に触れる機会があまりありませんでした。これは前職では開発において特に速度を優先する文化だったことに関係していると思います。最速で開発できる=使い慣れた言語という図式になりがちで、エンジニアの技術的成長が考慮されているような感覚はあまりありませんでした。

もちろん会社としてはエンジニアの技術的成長より、目の前のプロダクトを早く作ることを優先してほしいという考えもあるでしょうし、それも正しいと思います。ただ、見えている(知っている)言語が少ないのはエンジニアとしての視野の狭さに繋がると思っています。すべての言語を知る必要はないですが、他の言語も知ることで見える世界も変わってくるのではないかというのが個人的な意見です。

なぜスマキャンを選んだか

上記のような事情で転職活動をしていた私ですが、なかなか「これ」という会社が見つかりませんでした。そんな中でスマキャンに決めたのは、下記のような理由からです。

プロジェクト運営

スマキャンではタスク管理はAsana、CI/CDではCircleCIとAWS CodeDeploy、デザインツールはFigma、ドキュメント共有でKibelaなど、様々なツールを駆使して効率化を図っています。また使うツールは特定することなく状況に応じて変えていたりもします。また定期的なレトロスペクティブで改善サイクルを回す動きをしていて、健全なプロジェクト運営をしようと努めています。この組織であれば、核心的な業務への集中やスピード感のある開発ができると思いました。

技術的なチャレンジ

スマキャンでは主にフロントエンドでVue、バックエンドでRuby on RailsやGolangを用いています。インフラはECSを用いてコンテナで運用されています。Macで開発をしますし、GitHubでリポジトリは管理しています。アプリケーション・インフラともに仕事で利用したことのないもので、非常に魅力的に思えました。

面接

カジュアル面談や面接、技術試験を通して見えてきたスマキャンの採用哲学のようなものに共感しました。詳しくは割愛しますが、実際に面接官の人と話していてエンジニアとして非常に話しやすかったですし、自分のことを知ろうとしてくれているというのが伝わってきました。そのため入社時も不安を抱えることなく安心して入社できました。スマキャンに決めたのはここが最も大きいです。

入社してみて

以上のような期待を持って入社した私ですが、期待をしていた部分は概ね想像どおりで、今はホッとしています。しかし想像をしていなかった違いもありました。そこで感じた前職との違いを下に記します。

前職との違い

コミュニケーションが「密接」

スマキャンはコミュニケーションがかなり「密接」であるように感じました。例えば、下記のような施策がスマキャンでは行われています。

  • 毎週火曜にはシャッフル朝会があって別の部署の人とランダムにマッチングして話す機会があります。
  • ランダムで来るSlackのBotの質問に答えるとその答えが全体に共有されます。
  • 日報はSlackの全体チャンネルに投稿します。他の人の日報も見れます。
  • 雑談をするという目的のためだけの時間が定期的にあります。
  • 本部MTGで最近の仕事内容(+身の回りのこと)を全体に共有する時間があります。

上記のように、組織やチーム内で交流の機会がかなり多く設けられています。入社してから現在に至るまでにも、そうした交流の機会を通して自分のパーソナリティについて話すことがよくありました。

前職は良くも悪くもビジネスライクな関係性でした。大企業だったゆえ、チームによるところも大きいと思いますが、私のいた部署はそのような関係性でした。このような点が前職と大きく異なる部分だと思います。

開発スタイル

組織が変われば開発スタイルも大きく変わります。前職では一人で開発する時間が多く、相談したいときもコミュニケーション手段がSlackしかなかったのでなかなか相手の様子を伺うことができず、少し相談しづらかった記憶があります。スマートキャンプでは開発メンバーが常にDiscordにいるので「ちょっといいですか?」という感じで相談しやすく、特に入社したての現在は助かっています。やっぱりSlackメンションを飛ばすより声をかけるほうが心理的抵抗が低いです。

また週に1度、その週に取り組んだ開発の内容を、エンジニア以外のステークホルダーの方々へ共有する「スプリントレビュー」というイベントがあります。これまでの経験では、開発した成果を共有する機会があまりなく、するとしてもPMへの共有のみでした。スプリントレビューでたくさんの人に見てもらい「ありがとう」と言われるのは、実装した側からすると嬉しいです。またプレゼンのような形式で共有するため、自分の考えをまとめて話す力もつきます。大学のときはこういうことに慣れていたのですが、エンジニアとして働くうちに感覚を忘れてしまっていました。

入社して感じたギャップ

さて、上記のようにスマキャンと前職の違いをつらつらと述べてきました。主に良い点が多かったと思いますが、もちろん気になった部分や、ギャップもありました。ここではそのようなことを書いていきます。

コミュニケーションが密接な文化に戸惑う

コミュニケーションが密接と書きましたが、この文化は良くも悪くも私にとってチャレンジとなりました。

入社したての時には、周囲の方々が私に快く話しかけてくれました。全体MTG時など事あるごとに私が話題に挙がりましたし、入社初回の雑談の時間では私がフィーチャーされて話題の中心になりました。また、業務で接するメンバーとは一通り1on1(30分)の機会をセッティングしてもらいました。

しかし私はそもそも人見知りで、そこまでコミュニケーションが得意ではありません。初対面の人と自信を持って喋ることはできないですし、気を利かせたような言い回しもできません。人間性がペラペラだという自覚がありました。

とはいえ、中途エンジニアの採用は一年ぶりと聞いており、採用に際しては「カルチャーフィット」にも重点を置く文化とのことで、技術面のみでなく人間性の部分にも期待されているだろうと考えていました。

そのような意識からか、最初のうちは人と話していると人間性を試されているような感じがしていました。「こいつはスマキャンにふさわしい人物なのか?」というような感じで。これに対して応えようとするのですが、それだけのコミュ力はないので、1on1のときはなんだかぎこちない事が多かった記憶があります。MTGのときには発言することをためらったりすることも多くありました。自分の人間性を見抜かれるのが怖かったのです。

正直なところ、この時期は「この会社合わないんじゃないか」と考えていました。前職に出戻りしようかとすら思ったこともあります。

前職のビジネスライクな関係は、仕事をしていればそれで何も言われませんし、人間性を試されるようなことはありませんでした。そのような文化に染まりきっていた私からすると、スマキャンは正反対の文化を持つ組織で、それだけにその文化に飛び込むのは、適温の風呂から煮えたぎる熱湯に浸かるような感覚がありました。

ただ、入社してから一月半経った今となっては、ある程度楽になってきています。チームメンバーに冗談を言うことも多くなりましたし、自然体で会話できている自覚があります。

異なる文化に馴染めた経緯

上述のように、最初は前職と異なるチームの文化に戸惑っていた私ですが、入社して一月半が経過した今では大分打ち解けることができています。

こうして早々に新たな文化に馴染めた理由としては大きく以下の2つが挙げられそうです。

知識がついたこと

単純に業務知識と技術知識がついて、普通にタスクがこなせるようになってきました。そうなると一つの戦力になった自覚が出てきて、チームの一員になったという自信が自然とついてきました。そのおかげで最近では雑談時も物怖じせずに喋れるようになりました。この「チームの一員になった」という感覚は重要だと思います。どこかお荷物になっている自覚があると、何事においても自信が持てません。結果として萎縮してしまって自分を出せないという状態に陥ります。

そのため、私と同じようなパーソナリティを持っている人であれば、とにかく知識(業務知識・技術知識)を優先的に身に付けることをおすすめします。これはエンジニアが他の職に比べてパーソナリティの差が仕事に影響する範囲が狭く(決してゼロではないです)、知識を身に付けることによってカバーできる範囲が広いという性質を持っているからこそ有効な手段だと思います。こういった面は、個人的にエンジニアという職種の良い所だと思います。

メンバーからの支え

また、「メンバーからの支え」があったことも大きい要因でした。

入社して間もない頃、仕事をする中で出てきた疑問点について、チームメンバーのいるDiscordにてポツポツと質問をするようになりました。最初のうちは、この質問をするのにも緊張していました。とんちんかんな質問をして白けさせたらどうしようと考えるのです。その覚悟をしてから質問するのですが、みなさん私の質問に対して馬鹿にしたような態度を全くすることなく、快く応えてくれました。みなさんBOXILについて詳しいので、1を聞いたら10を返すように、非常に丁寧に回答をしていただきました。

質問に対して誠実に回答をしてもらうと、1メンバーとして対等に向き合ってもらえた感覚になり、次第に「質問してもいいんだ」と思えるようになりました。

毎週行っているスプリントの振り返り会でも「質問をしてくれて嬉しい」とフィードバックをいただくことが何回かありました。はじめは「質問をしてくれて嬉しい」と思う感覚がよく分からず誇張かと思っていたのですが、やがて嘘ではなく、おそらく本当のことなんだろうと思うようになりました。そこには、入って間もないために「正体の分からない」私に対して、質問を通して 分かっている/分かっていない ことなどの区分が明確になり徐々に「解像度が上がっていく感覚」がメンバーにはあったのかなと思いました。

そうすると、周りの人は私を「試している」のではなく、私の「正体を知りたい」だけなのだと思うようになりました。みんな単に私に対して興味があるのであって、それで値踏みしようなどと考えているわけではなかったのだと気づきました。自分の中で創り上げていた「スマキャンに相応しい人物像」と「私」とのズレに自信が持てず、自分に対して意識が過剰に向き、結果として周囲からの言葉に過敏になってしまっていました。

「ただ正体を知りたいだけなんだ」と考えると色々と楽になりました。別に背伸びして自分を大きく見せる必要はないし、自分という人間を隠して逃げ回る必要もなかったのです。

そう考えて以降は自分を出すことが苦ではなくなりました。このように持ち直せたのは、周りのエンジニアが私に真摯に対応してくれたことや、振り返り会でのフィードバックによるところが大きいです。この人達とこの制度があるからこそ、早く持ち直せたと思っています。

この一ヶ月してたこと

最後に、私が入社してから今まで業務としてやっていたことをまとめます。

  • BOXIL開発
    • デザインの修正
    • 簡単な機能改修
  • クエリ作成
    • 別部署からの要望に合わせたデータの抽出

まだ何も成し遂げていない、という感じです。このあたりはタスクの都合というのもあります。今後大きな開発をできるように今はBOXILシステム理解と業務理解に努めているというような段階です。次のブログ記事を書くときには、語り甲斐のあるトピックになるような仕事ができていたらなと思います。

まとめ

長々と自分語りをさせていただきました。ここまで読んでくれた方にお礼を申し上げます。今後、スマキャンやスマキャンに似たような組織に入る、私のような経歴や考え方を持つ人の参考になれば幸いです。

今後もスマートキャンプのエンジニアとして活躍していこうと思っています。