インターンでmixi2を開発してきたよ
こんにちは、@kurikin です。2024年6月から8月中旬まで、MIXIでFlutterエンジニアとしてインターンをしてきました。
私が携わっていたのは、MIXIの新SNSアプリ「mixi2」の開発です。12月16日についにリリースされたので、この機会にインターンでの経験を共有できたらと思い、体験記を書くことにしました。
なお、このnoteでは技術的な詳細には深く触れません。mixi2で使われている技術については、きっと近いうちにチームのエンジニアから詳しい情報が出ると思うので、そちらを楽しみにしていてください!
参加のきっかけ
今回のインターンとの出会いは、サポーターズ主催の1on1面談イベントでした。3月の会で、MIXIの人事とエンジニアの方とお話しする機会があり、その時に「Flutterのインターンを探している」という希望を伝えていました。
面談から数日後、人事の方から1通のメールが届きました。
メールを読んだ瞬間、これは絶対面白いプロジェクトだと直感しました。
詳しい内容は明かされていませんでしたが、新規事業という響きと、自分の得意なFlutterが活かせる環境だということに強く惹かれました。すぐに話を聞きたいと返信し、数回の面談を経てインターンへの参加が決まりました。
蓋を開けてみれば、それがmixi2だったというわけです。
インターンでやったこと
実際の業務ではインターン生という枠に縛られることなく、社員と同じようにmixi2の機能開発に携わらせてもらいました。
最初の数日間は環境に慣れるため小さなUI修正から始めましたが、Flutterの経験はそこそこあったので、比較的スムーズにキャッチアップできました。
その後は大きめの機能や画面の開発も任せてもらい、Figmaのデザインを見ながら新しいコンポーネントを自分で一から実装したりしました。
今のmixi2の中にも、私が一から作った機能や画面がいくつか残っています。改良が加えられている部分もありますが、そのまま使われているものもあって、自分の作ったものが多くの人の手に届いているという事実は非常に嬉しいです。
和気あいあいの最高チーム
配属チームの雰囲気を一言で表すなら「和気あいあい」です。想像していたより小規模なチームで、フロントエンド・バックエンドエンジニア、デザイナー、PMが一つのチームとして和気あいあいと働いていました。
印象的だったのはチームメンバーの仲の良さです。仕事中も和やかな雰囲気で、メンバーが多く出社する日はみんなで社食に行っていました。
私の隣にはメンターが座っていたので開発で困ったときはすぐに相談でき、後ろの席にいたデザイナーさんとも気軽に話し合える環境でした。
社外でも楽しい思い出がたくさんできました。ランチや仕事終わりに渋谷周辺のお店に連れて行ってもらい、美味しい馬刺しや社員の方おすすめのお寿司など、渋谷グルメを存分に楽しませてもらいました。
他にもチームの人たちとシーシャに行ったりと、仕事以外でもとても充実した時間を過ごせました。
何でも挑戦できる環境
元々このインターンではFlutterの開発が主軸の予定でしたが、2ヶ月半という期間があったので「せっかくだからGoのタスクもやってみたい」とメンターに相談したところ、快く了承してもらえました。
「じゃあ新機能のAPIを作ってみようか」という感じでタスクを任せてもらいました。チームの良かったところは、フロントとバックエンドでそれぞれリードエンジニアがいながらも明確な壁がないところです。
手を挙げれば、フロントメインのエンジニアでもバックエンドの開発に携われる柔軟な環境でした。
メンターは方向性を示しつつ細かな判断は任せてくれ、他のメンバーと相談しながら自律的に開発を進められる環境でした。
インターンという枠にとらわれることなく一人の開発メンバーとして責任ある仕事を任せていただき、エンジニアとしての実践的なスキルを磨くことができました。
スクスクの贅沢オフィス
オフィスは渋谷スクランブルスクエア(通称スクスク)の28~36階にあり、駅から直結していたので雨の日も快適に通えました。リモートワークも可能でしたが、オフィスの環境が良すぎて私は基本出社して働いていました。
設備は本当に充実していました。全席にアーロンチェアと昇降デスクが備え付けられており、社内にはローソンやバイロンベイコーヒーもありました。アーロンチェアは快適すぎて、インターン期間中に自宅用に購入したくらいです。
個人的に気に入っていたのは、フリーズドライのスープが置いてあり自由に食べれたことです。朝一で出社した時や夕方に小腹が空いた時によく食べていました。
クラムチャウダーや豚汁、オニオンスープなど種類も豊富で、毎日いろんな種類を楽しんでいました。
社食も魅力的でした。ビュッフェ形式で毎日メニューが変わり、価格は重さで決まる1g1円制です。普通は300-400g程度で収まるのですが、初日は色々食べてみたくて700gくらいになってしまいました。
大きく成長できた2ヶ月半
もともとFlutterには自信があったのですが、このインターンを通してさらに多くのことを学べました。Flutterは小規模な開発なら比較的簡単にできますが、大規模なプロジェクトになると適切な設計が不可欠になってきます。
mixi2のコードベースは非常に洗練されていて、独自のウィジェットや状態管理の設計、フォルダ構成など数多くの工夫が詰まっていました。
インターネットでFlutterの情報は増えてきていますが、サンプルコードは基本的な実装に留まることが多いです。このような大規模かつ洗練されたコードベースに触れられたのは本当に貴重な経験でした。
Flutterの技術力が向上しただけでなく、Goでのバックエンド開発も経験できたことで、技術的な引き出しが増えました。2ヶ月半という限られた期間でしたが、エンジニアとして確実に成長できたと実感しています。
秘密プロジェクトならではの体験
当時のmixi2は社内でも限られた人しか知らない秘密のプロジェクトで、外部に情報を漏らさないよう細心の注意を払っていました。
インターンの話になると友達から「どんなことやってるの?」と聞かれます。でも絶対に話せないので、「新規事業をやってるんだよね」と、mixi2のことを言いたい気持ちを抑えながら、その場をやり過ごしていました。
国の機密プロジェクトに関わってる人もこういう感じなのかなという気持ちになりました。リリース後はmixi2の話を隠す必要もなくなり、電車の中でも堂々とアプリを開けるようになりました。この変化は個人的に面白い経験の一つです。
リリース後のmixi2の盛り上がりを見ていると開発チームに戻って、この熱気の中で開発できたら楽しそうだなと思うことがあります。
今のこの盛り上がりの中、ユーザーの反響を直に感じながら開発できるチームの方々がちょっと羨ましいです(笑)。
おわりに
インターン生ながら、この一大プロジェクトに関われたのは本当に幸せな経験です。また、メンターやチームの方々には丁寧にサポートしていただき、技術面でも人間関係の面でも充実した日々を過ごすことができました。
このような機会を提案してくださった人事の方々、そしてインターンとして温かく迎え入れてくださったチームの皆さんには心から感謝しています。素晴らしい経験をありがとうございました!
P.S. ヘッダーの可愛いイラスト(左から Flutter 君、mixi2 君、dash 君)は @kuno さんに描いていただきました!本当にありがとうございますmm