はじめに
今回は、合同会社DMM様のインターンであるDMMGUILD2024に参加してきたので、その体験等を記録として残したいと思います。
インターンシップに参加した動機
私が今回インターンシップに参加した経緯は、金沢で開かれたサポーターズさんの技育CAMPキャラバン in 金沢がキッカケで、そこでDMMGUILDの存在を知り、応募しました。
https://note.supporterz.jp/n/ndb486859d0f6
応募した理由としては以下のとおりです。
- 大規模ToC向けの自社開発サービスの開発を経験したい
- 実際の業務のコードを見てみたい・携わってみたい
- DMMの事業に対する解像度を上げたい
インターンシップの概要
『開催期間』2024年9月2日〜9月13日
2週間のうち基本リモートでの業務となりましたが、9/12~13の最終日前日と最終日は東京本社に出社して業務を行いました。他のインターンシップのように一つの事業に配属され、その事業のIssueを解決する形式ではなく、複数の事業部から提示された実際の課題に各自が取り組む形式です。
また、各Issueには「estimate」と呼ばれるポイントが設定されており、そのポイント数に応じて賞金が支給されるという、珍しいインターンシップでした。
インターンシップの業務内容
インターンでは、インフラからモバイルアプリまで幅広いタスクが用意されており、自分の目的に合わせて取捨選択しながらタスクを進めていきました。
取り組んだIssue① 新規ページ作成
普段から慣れているTailwindを使用したタスクだったため、比較的スムーズに実装に取り掛かることができました。しかし、Mantineというライブラリは初めて使ったため、その仕様を理解するのに少し時間がかかった点が課題でした。ただ、事業部の方に質問しながら進めたことで、無事に実装まで完了できました。
取り組んだIssue② UIの表示崩れ修正
既存のメンバーページで、ユーザー名が長い場合に画面が崩れてしまうバグが発生していたため、-webkit-プロパティを使用して3点リーダーを作成し、UIの崩壊を修正しました。以前も同様のタスクに取り組んだ経験があったためスムーズに進められると思っていたのですが、仕様の違いに悩まされました。
取り組んだIssue③ トップページの修正
Figmaのデザインと現在のデザインが、大きな画面サイズで異なっていたため、その原因を調査し、修正実装に取り組みました。
取り組んだIssue④ アプリダウンロード部分のズレ修正
画面を縮小した際に、QRコードの表示が崩れるバグが発生していたため、対応しました。初めはどのように修正すればいいのか見当がつかず困っていたのですが、最終的には画面サイズに応じてQRコードの位置を調整することで、問題を解決することができました。
取り組んだIssue⑤ 横画面のUI対応
縦画面を前提としたアプリケーションを、横画面でも使用できるようにするタスクでした。リサイズ処理が複雑で、どのコードがどのデザインに影響を与えているのかが不明だったため、最初はCSSで対応しようとしましたが、レビューを受けてJS部分に修正が必要であることがわかりました。その後、再実装を行い、保守性を意識したコードを書くように意識しながら、最終的に実装を完了することができました。
取り組んだIssue⑥ Goの単体テスト
これまでGoを扱ったことがなかったため、Goの単体テストに挑戦しました。まずはGoの基礎を学んでからテストに取り組みましたが、Suite構造体やGo.Mockなど、ポインタ操作を含む複雑な部分に苦労しました。最終的には完全な実装には至りませんでしたが、未知の領域に挑戦する良い経験となりました。
インターンシップで得たもの
インターンシップを通じて、特に印象に残った学びを以下にまとめました。
即時の反応とスタンプなどを活用したコミュニケーションの重要性
Slackなどでメッセージを確認した際、「確認しました」と相手にしっかり反応を返すことが重要だと感じました。ただ確認しただけでは、相手に安心感を与えられず、結果としてコミュニケーション不足による不安やトラブルにつながる可能性があるからです。迅速な対応が、Issue解決のスピード向上にも役立つことを学びました。
プライドを捨てて質問することの大切さ
自分一人で悩み続けるのではなく、15分ほど考えても解決策が見つからない場合は、すぐに周りに質問をすることが大切だと学びました。これにより、誤解や認識のずれが少なくなり、無駄な作業や手戻りを防ぐことができます。今後も、わからないことがあれば積極的に質問していこうと思います。
わかりやすい変数名と保守性を意識したコード作成
コードは他の人が理解できるものでなければならないと改めて認識しました。読み手に負担をかけるような変数名や、複雑でわかりにくい関数は避けるべきです。コードレビューを通して、自分のコードに対する意識がさらに高まり、今後はより保守性や可読性を意識したコードを書いていきたいと感じました。
DMMさんの自分なりの企業理解
新人研修では、フロントエンドからインフラまで幅広い技術に触れることができ、新しい技術領域の開拓が可能な会社です。さらに、数多くの事業が展開されているため、忙しい部署で自己研鑽に励むことも、程よい硬さと緩やかさのバランスを保ちながら充実したライフスタイルを送ることもできそうです。自分の目指す将来像に合わせて働き方を選べる会社だと思いました。
結果
お助けThanks賞とコツコツissue解決賞をいただきました!!!
やったぁ!!
あとがき
最後になりますが、今回のインターンシップでタスクのレビューやサポートをしてくださった事業部の皆さんには、心から感謝しています。また、24卒のエンジニアの方々との座談会を通じて、エンジニアとしての働き方のイメージがより具体的になりました。来年度、インターンシップ選びで悩んでいる学生には、ぜひお薦めしたいインターンシップです!