SMARTCAMP Engineer Blog

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

新卒エンジニアが経験した研修とスクラムの世界 | 2023年度新卒入社エントリ

ご挨拶

はじめまして! 2023年4月よりスマートキャンプに23卒として入社しました小宮です。

社内ではリーブスと呼ばれています。学生時代のインターンでもジェネシスと呼ばれていたので、なんかカタカナ系のあだ名が多いです。

自分について文章を書くのは苦手ですが、とりあえず書いていきたいと思います。

自己紹介

出身地は東京の蒲田で、東京の住みたくない街ランキングではいつも上位を守っています。

ネットの口コミを見ていたら、「昼間はスラム街のような雰囲気」と書かれていて、笑ってしまいました。

ですが交通の便も良く、自分的には住みやすい街だと思っています。

趣味は筋トレ(ダイエット)とサウナで、仕事が終わった後は基本的にそのどちらかに行っています。

学生時代

大学では文系の学部に通っていたため、エンジニアが何をする職業なのかも知らず、複数のサークルに入って典型的な大学生をやっていました。

当時、学習塾でアルバイトをしていたのですが、同僚のアルバイトから「生徒のテスト管理が面倒」という声をよく聞くようになりました。 そこで簡単にPCで管理できる方法はないかと考え、新型コロナウイルスの影響で大学がリモート授業で時間を持て余していたということもあり、プログラミングの基礎を勉強しました。

プログラミングの基礎を勉強することは楽しかったですが、同時に独学では作れないと感じました。 そのため当時働いていたアルバイト先の社長にお金を出してもらい、プログラミングスクールに通い、無事にアルバイト先にツールの導入できました。

作ってみて周りからのフィードバックも嬉しかったのですが、0から1を作る楽しさを知ることができたのが収穫だったと思います。

どんなインターンに行っていたか

技術力を身につけるためには実務経験が必要だと考え、アルバイト先でツールを導入した後にインターンを探し始めました。

当時の技術力と使用言語で求人を絞っていくと、あまり求人数は多くなかったように思います。そんな中、不動産系のSaaS企業でのインターンを決めました。

当時、僕はPHPをフレームワークを使わずに書いていました。なので会社でどんなフレームワークを使うのかワクワクしながらインターンを始めると、 聞いたこともない(Laravelしか知らないだけ)Zend Frameworkというフレームワークを使っていて、少し落ち込んだ記憶があります。

実際にインターンを始めると、クライアントがいるサービスを作ることになったので、自分の書くコードに責任感を抱くようになりました。 そして、SaaS企業であったため、毎週のようにアップデートしていく過程で運用を意識したコーディングなども学び、独学では学べない箇所も知ることができたのは良かったと思いました。

就活

インターンでの実務経験を経て、エンジニア職で就職活動を始めました。 SaaSであったり新規事業に挑戦している会社を中心に受けていきました。 ただ就活のやり方を全く知らなかったので、優秀なインターンの友人に何度も就活のやり方を教わった記憶があります。

何とか第一志望だった会社から内定をいただくことができましたが、大学を卒業する直前に一身上の都合で内定を辞退してしまい、崖っぷちになりました。 新卒の募集はもう終わっていたため、中途採用で探していたのですが、実務経験3年の壁を越えることができずに断念しました。

そこで、大学を卒業するか留年するか悩んだのですが、当時は大学にいること(就職留年)のメリットがあまりないと思い、卒業を決断しました。

フリーター生活

学生という肩書きを失い、フリーターになったのですが、思いのほか楽しかったです。 今までの敷かれたレールの上から急に外れて、謎の解放感に包まれた記憶がありますw 就職活動をしながら、暇だったので興味があったブロックチェーン系のスタートアップでアルバイトをしたり、旅行をしたりなど、 人生でフリーターを経験してよかったなと思いました(何を言っているのだろう)。 この期間の就活中に、スマートキャンプとご縁があり、今に至ります。

スマートキャンプへの入社理由

スマートキャンプに興味を持ったきっかけは、私が選考を受ける程に関心があったSaaS業界に特化したサービスや事業を行っていたからです。 また、同社では新規事業への前向きな姿勢が強く、選考を受けてみようと思いました。

選考を進める中で、選考に関わっていただいた方々の人柄が良く、社員の方々のnoteやテックブログを見ると、 同じ方向性を持っていてVISIONに共感している人が多く、個人としても組織としても成長していけるのではないかと感じました。 以上の理由からスマートキャンプへの入社を決めました。

入社してみて

内定者インターン

スマートキャンプの内定者インターンは半年間程行いました。

最初は京都にある開発拠点に在籍し、スマートキャンプの技術を実践的な形で学びました。 私は東京にいたため、リモートで参加させてもらっていましたが、最初は少し不安でした。 リモートで働いたことがなく、自宅の環境も最悪で(最初はパイプ椅子に座っていました)、対面でのコミュニケーションが取れないことから関係性を築くことができるのかと思ってました。 しかし、実際に働き始めてみると、GatherやSlackなどで細かいコミュニケーションが取れることがわかり、一週間ぐらいでリモートワークは最高だと思いました。

また、スマートキャンプではフルリモートで働くエンジニアの方も多く、コミュニケーションを取る手段がしっかり整備されている印象を受けました。

インターンを行った所感としては、今まで触れたことのないテストやインフラ周りなどをたくさん学ぶことができ、 これまでのエンジニアのアルバイトでは得られなかった視点からの学びが多かったなと思います。

研修について

4月に正社員となり、最初に行ったのはマネーフォワードと合同の研修でした。 期間は約2ヶ月で、前半はビジネスと合同で社会人スキルを身につけるような研修で、後半はエンジニアの研修になりました。

前半のビジネスと合同の研修では、FFSワークショップ(Five Factors & Stress)やロジカルシンキング研修などを行いました。 FFSワークショップでは、自分の性格やタイプなどを数値化していただき、自分が思っていた自分の性格とは違う発見や相性の良い性格などを知ることができました。 また、ロジカルシンキング研修では、事実と解釈の違いや情報を整理する方法などを学び、今後の社会人生活で活用できる内容だったと思います。 ビジネス研修全体を通して、グループワークが多く、同期の数もかなりいたので、たくさんの人と話す機会をいただくことができました。

エンジニア研修では、3人のグループで約3週間で図書館の管理システムを作りました。 基本的にはリモートで作業して、週に1回程度オフラインで進捗を確認していました。 使用技術から設計まで、自分たちで決めていくので、今までの業務などでは経験できない範囲を経験できました。 自分のチームは3人チームでしたが、配属後の使用技術が異なるため、技術選定が難しかったです。結果として、Next.js、Kotlin、GraphQLという、自分がすべて初めて触る技術スタックになりました。 ただ、新しい技術を学ぶこと自体に抵抗感はなかったので、チームの仲間と通話を繋げながら、作業してわからないところがあればすぐに聞くことができたので、苦しむことなく作業できました。 他のチームとは異なる機能を実装したくて、ChatGPTにおすすめの本をレコメンドする機能なども作っていただいたのですが、 最終的には間に合わなかったため、自分たちのリソースと向き合うことの大切さなども学ぶことができました。 最終日には発表会があり、他のチームのプロダクトを見て、マネーフォワードのレベルの高さを感じました。完成度やデザインが高いだけではなく、英語で発表しているグループもいて驚きました。 英語の方が情報量が多い点や、オフショア開発などを考えると英語でのコミュニケーションは必須なので、今後の課題として英語力を上げていきたいと思っています。 なので最近はDuolingoというサービスを使って、1日10分だけ英語の勉強をしていますw。

研修を通じて、たくさんの同期に出会うことができたことは、良かったと感じました。 研修が始まる前から上長に何よりも友達をたくさん作るように言われていたので、プライベートで旅行に行ったり飲みに行ったりできる同期ができたのは、今回の研修の一番の収穫だったと思います。

初めてスクラムをやってみて 

研修が終わった後は、BALES CLOUDというインサイドセールス特化のSaaS事業部に配属となり、スクラム開発をすることになりました。 スクラム開発を始めた当初は、スクラムという単語を聞いたことあるなぐらいのレベルで、頭の中には屈強なラガーマンがたくさんいました。

なのでまず最初に行ったことは、スクラム開発をする目的とスクラムイベントの理解から始めました。 具体的には、ドキュメントを読んだり、YouTubeで解説動画を見たり、OJT担当の方に質問したりなどをして理解を深めていきました。 ある程度流れが掴めてきたら、積極的にファシリなどに手を挙げて全体像を理解していくようにしました。

スクラム開発をやってみて初めに思ったことは、ミーティング(スクラムイベント)が異様に多いことです。 学生時代もエンジニアのアルバイトは行っていましたが、タスクを渡されて黙々と開発するだけだったので、こんなにミーティングをする必要性があるのかと疑問を思ったこともありました。 ただミーティングがしっかり行われるからこそ、細かい仕様変更などに柔軟に対応でき、手戻りすることが減っているなと感じました。なので生産性は学生の頃に比べると明らかに上がっていると思います。

またBALES CLOUDでは朝会(デイリースクラム)を非同期化するなど、同期的に行わなくても問題がないミーティングなどを非同期化していく取り組みをしています。 非同期化することで、ミーティングの時間を減らし、連続的な開発時間を確保する取り組みも素晴らしいと思いました。

スクラム初心者が理解を深めるうえで、一番大事なことはしっかりタスクの完了率を追うことだと思いました。 タスクの完了率を追うことで、1スプリント内でタスクを終わらせる意識が生まれ、タスクの正しいポイント付けや考慮もれをリファイメントで話したり、 リリースまでの進捗状況を常に意識することになり、スクラム開発の目的やメリットを一番感じれるようになるのではないかと思います。

入社してからの目標

長期的な目標としては、新規事業などに携わって、プレイヤーではなくマネージャー的な立場になりたいと考えています。 そのため、エンジニアリングスキルを伸ばすことはもちろん、ビジネススキルも身につけ、個人の成長と事業の成長の両方を考えられる人材になることが必要だと思っています。

短期的な目標であれば、現在所属しているBALES CLOUDはまだまだ発展途上で、多くの人々の負担を軽減できるサービスだと考えているので、 機能を充実させ多くの人々に価値を提供できるように努めたいと思います。

まだまだ駆け出しですが、誰よりも経験を積んで成長していきたいと思っています。

まとめ

ここまで読んでいただきありがとうございました!これからコミットして結果を出していこうと思いますので、よろしくお願いします!