1. はじめに
みなさんこんにちは,Haruk1yと申します。
この度,フリー株式会社(以下,freee)が主催する二週間の「freee Summer Internship アドバンスコース」に参加させていただきました。今後参加する方の参考になれば&自分自身の振り返りになればと思い,インターンシップの体験記を書いていきます。
2. freeeについて
「スモールビジネスを、世界の主役に。」をミッションに掲げ,freee会計やfreee人事労務などの統合型経営プラットフォームを開発・提供している。
詳しい情報は公式サイトや10分でわかるfreeeエンジニア向け会社説明資料をご覧ください。
3. インターンについて
freeeのサマーインターンにはエントリーコース・ビギナーコース・アドバンスコースの3種類があるのですが,自分はその中で実務経験者対象のアドバンスコースに参加しました。
内容としては,freeeの開発チームに配属され,freeeが実際に提供しているプロダクトに対して機能追加や改善などを行います。
3-1. 配属チームについて
自分はIAM(Identity and Access Management)チームに配属されました。IAMチームを含めたfreeeの認証認可基盤開発エンジニアについて,詳しくはカジュアル面談説明資料をご覧ください。簡単にいうとfreeeの各プロダクトに共通したログイン機能や,権限管理基盤を開発しているチームです。
3-2. 与えられた課題
本リリース前なのでこの記事では詳しく書けないのですが,「ユーザーのログイン体験をより良くするための機能の調査およびデモ実装」に取り組みました。
フロントエンド(React)・サーバーサイド(Ruby on Rails)どちらもガッツリめに触れるタスクであり,既存のAPIの調査から選定まで幅広く行う,やりがいのある課題をいただけたと思います。最終的に本リリースには至りませんでしたが,動くデモ実装を完成させ,発表会で実際に動かすことに成功しました。
4. インターンの流れ
1日目
初日はオンラインで行われ,まずインターン全体についての諸連絡や,支給されたPCの共通のセットアップなどを行いました。余談ですが,支給されたPCが新品のM2 MacBook Pro(メモリ32GB)という高待遇でとても驚きました。
その後,各チームに分かれてチームごとのミーティングを行いました。自分が配属されたIAMチームでは,2週間お世話になるメンターの方からチームの簡単な紹介を受けたのちに,開発に必要な環境の構築を行いました。この際,色々なエラーが出てスムーズにはいかなかったのですが,メンターの方が逐一助けてくださってなんとか環境構築を終えることができました。
チームのチャンネルで「環境構築できました!」と報告したところ,皆さんから「偉業」スタンプをいただけてとても嬉しかったです。暖かいチームだなあと感じました。
2日目
freeeのインターンではリモートとオンラインを自由に選べたため,自分は2日目から全日出社をしました。チームメイトのもう一人も全日出社で,この日から対面で業務を行いました。
2日目はこれから実装する機能に関連した技術や,APIの調査を行い,ドキュメントにまとめました。また,チームの方々とランチへ行き,業務に限らず色々なお話を伺うことができました。
3日目〜5日目
少しずつプロダクトのコードを眺めつつ,機能の実装を進めました。実際に業務で使われている大規模なプロダクトのコードを触るのは初めてだったので,コードリーディングなど基礎的な部分からメンターの方に教えていただき,とても参考になりました。
6日目
土日を挟み,インターンも残り1週間となりました。この日は引き続き実装を進め,なんとか一通り動くところまで実装をすることができました。あわせて,freee社内で使われているデザインシステム「vibes」(OSS版がGitHub上で公開)に出したPRがマージされたりと,ようやく成果を実感できた一日でした。
夜には24卒でfreeeに入社された方々が,新卒研修の一環で開発した社内アプリに関する講演を行うfreee Tech Nightが開催されていたので,現地で参加しお話を伺いました。1ヶ月間で企画・設計・開発・リリースまで行い,煩雑な社内業務を20倍速くした話や,開発する上で苦労した話など貴重なお話を伺うことができました。実際の講演動画はYouTubeで公開されていますので,ご興味のある方はぜひご覧ください。
その後の懇親会でも24卒の方々と個別にお話しする機会があり,freeeについてより深く知る良い機会になりました。
7日目〜9日目
一通りの実装を終えたので,この期間はコードのリファクタリングや,本リリースにあたってのユーザーシナリオ作成,懸念事項の洗い出しなどを行いました。個人開発をするだけではなかなか経験ができないような工程ばかりで,非常に学びになりました。
また,チームビルディングというチーム全体で集まるご飯会のようなものにもインターンの身で参加させていただき,より一層チームの方々と交流を深めることができました。
10日目
最終日はインターンの成果発表会を行いました。チームごとに発表を行うのですが,どのチームも「本当に2週間でやったの...!?」と驚くような成果ばかりで,とても刺激を受けました。また,発表会の様子は全社員が見れるようになっており,Slackのわいわいスレッドの盛り上がりが印象的でした。自チームの発表を終えた後,チームの方々がたくさん暖かいコメントを書き込んでくださっていたのを見て,IAMチームでインターンをすることができてよかったな,と改めて感じました。
5. インターンを終えて
2週間のインターンを通じて,非常に多くの経験・学びを得ることができました。特に自分が印象に残ったのはfreeeの価値基準の一つである「あえて、共有する(通称:あえ共)」の大切さです。例を挙げると,何らかのエラーに当たった際,社内のSlackやドキュメントに解決方法を記してくださっている先人の方がいて,何度も助けられました。また,Slackで今自分が何に取り組んでいるか,何に困っているかを逐一記録することで,メンターの方と進捗状況をスムーズに共有することができました。
総じてfreeeの方々には非常に親切に接していただき,質問などが非常にしやすい環境だと感じました。また,オフィス内に飲み放題のドリンクバーがあったり,駄菓子屋さんを模した会議室などの遊び心があったりと,労働環境的にも非常に魅力的だと感じました。特に,IAMチームでは出社時刻が10時と定められていたので,早起きが不得意な自分はとても助かりました。
6. おわりに
ここまでお読みいただきありがとうございました。自分が感じたfreeeの魅力や,サマーインターンの中身について,この体験記が少しでもどなたかの参考になれば幸いです。
最後になりましたが,インターンで関わってくださったメンターの方,チームの方々,freeersの皆さんには多くのサポートをしていただくとともに,他では中々できないような貴重な経験をさせていただきました。この場をお借りして感謝を申し上げます。本当にありがとうございました。