こんにちは!メルカリの CS Tool Team で Software Engineer インターンをしている @ayumi-u です。
私は 2022 年のエンジニア育成プログラムの Build@Mercari に参加して、その後長期のインターンシップに参加しました。
今回は、
- インターンシップ内容
- 社内での交流の機会
- 終わりに
の章立てでご紹介いたします。
メルカリグループのインターンシップや新卒入社を検討している方の参考になれば嬉しいです。
インターンシップ内容
この章では、メルカリの働き方、取り組んだ内容や、大変だったことについてご紹介したいと思います。
働き方
メルカリの働き方は、完全フレックスタイム制で出勤時間はライフスタイルに合わせて自由に調整でき、リモートからお仕事をしている方や、オフィスに頻繁に出社している方がいたりと、とても柔軟でした。メルカリの Your Choice 制度を活用していて、地方に住んでいたり、時にはワーケーションをしながらお仕事をしているチームメンバーもいました。
私も大学の予定で忙しい時は出勤時間を自由に調整しながら、インターンと学業を両立してました。
お仕事内容
所属した CS Tool チームは、お客様対応を行うための社内ツールや複数のマイクロサービスの運用に携わっていて、バックエンドからフロントエンド、さらにインフラ周りまで全て担っています。入社前の面談時に、バックエンドエンジニアが多いチームと聞いていたのですが、実際入ってみるとエンジニアの方々は肩書き関係なくフルスタックにお仕事を行っている点は印象的でした。
インターンシップでの大まかな内容については、チームが所持していた社内ツールのマイクロサービス化に伴うお仕事をさせてもらったり、所持していたマイクロサービスの改善を行ってました。主に携わったタスクは以下の通りです。
バックエンド
- PHP リファクタリング
- GraphQL API の実装
- Swagger を用いた API 設計
フロントエンド
- ローディングが遅いページの UI/UX の改善
インフラ
- Kubernetes 関連の CD (Continuous Delivery) タスク
- CircleCI から Self-Hosted Github Actioins への移行 (背景: 未知の脅威に対抗するメルカリのCI再設計 )
その他
- バグ修正
以上のように、幅広いエンジニアリングを行っているチームにいれたおかげで様々な技術分野のお仕事に携われました。
初めのうちは用意されたタスクをこなしていったり、慣れてきたらメンターさんや他チームメンバーと相談しながら、自分の興味を元に色々選択してました。学びたい技術があれば関連するタスクをやらせてもらったり、社員同等の通常タスクを自分から選ぶ時もありました。
常に飽きることなく、新しい学びが本当に沢山ありました。
大変だったこと
さまざまなお仕事に携われた一方で、個人的に苦労したポイントもいくつか紹介します。
膨大なレポジトリでの開発
インターンに参加するまで大規模サービスの開発経験がなかったため、メルカリサービスの膨大なレポジトリの内容を読み解くことは初めは非常に大変でした。言語の基礎文法がわかっていても、どのファイルに何を書けば良いのかわからなかったり、エンドポイントの使用箇所を探す方法さえ、さっぱり分からないという状態でした。しかし、メンターさんがモブプログラミングを行ってくれたり、他チームメンバーから沢山の助けをいただけたおかげで、徐々に慣れていくことができました。
サービスごとに開発手順が異なる
もう1つとして、古くから存在するサービスがあったり、新しいマイクロサービスを持っていたり、またそれぞれ使用されている言語が違ったりして、開発環境の構築方法やリリースプロセスが各自違ったため、慣れるのに時間がかかりました。初めは色々質問していたのですが、メルカリの社内ドキュメントはとても豊富で、デバック方法やリリースプロセスなどの手順は丁寧に記載されていることが多いため、それらを見返すことでも解決していきました。
交流の機会
インターン中はお仕事以外に、社内勉強会やオフラインイベントなど、業務以外でも充実した時間を過ごせたのでそれについても紹介したいと思います。
さまざまな社内勉強会
メルカリでは、インターン生でも正社員同様に、社内の勉強会に自由に参加することができます。私はチームの勉強会に参加したり、社内の誰でも参加できる技術研修に参加してみたりしました。
チーム内では、ランチを食べながら技術を楽しく学ぶ勉強会があったり、 Testing ライブラリの輪講会にも参加しました。
新卒研修にも参加してみようと思い、メルカリの QA エンジニアの働き方に関する講習会や、 Go を使ってペアでモブプログラミングを行う講習会なども受講しました。講習会は時期によっては頻繁に開催されていて、気になったものは自分のポジションが何であれ参加できる点はすごく魅力的だと思います。
メルカリの勉強会は技術のインプットとアウトプットを行えるとても良い機会になるし、社内で知り合いを増やすきっかけにもなります。
オフィスでの関わり
私は大学の予定がない時は、家から近かったこともあり、オフィス出社をしていました。オフィスには 4K モニターや上質な椅子、場所によっては防音個室や上げ下げができるデスクがあったりと環境がすごく充実しています。オフライン出社をすると、近くに座っている人と仲良くなれたり、一緒にランチをする機会が増えたりするのでおすすめです。
これは、オフィス内のお気に入りのスペースで撮った写真です。
少し疲れたなと感じた時はオフィスのカフェに行き、美味しいコーヒー片手に社員さんと雑談やカジュアルに 1on1 を行なったりしました。
またオフラインで交流する場も最近は多くなり、月1くらいで会社全体にに向けておこなわれるイベントに参加したり、社内の部活に参加もしました。部活では、みんなで美味しいご飯を食べに行ったり、オフィスでホールケーキを食べたり、みんなでたい焼きを食べたり、英語でボードゲームをしたりなど、さまざまな交流の機会を得ることができました。
オフラインイベントはどれもすごく楽しかったし、オフィスで沢山の人と知り合える事ができたのが嬉しかったです。
終わりに
ライフスタイルに合わせた自由な働き方で、手厚いサポートの中、豊富な技術分野に触れることができる、学びが多い最高のインターンシップでした。
社内を通じて多様なバックグラウンドを持つ人たちと関わることもできました。
今回のブログを通してメルカリでのインターンを検討している方の参考になれば幸いです。
メルカリグループでは、インターンを通年、積極募集しています。
メルカリの様々な技術に触れてみたい方は、ぜひご応募してみてください。
Software Engineer (Internship) – Mercari Group
また、私がメルカリインターンに参加するきっかけとなった Build@Mercari が今年も開催されるそうです。ご興味のある方はこちらもチェックしてみてください。
Build at Mercari 2023, Software Engineer (Traning&Internship)