ゴリにゃのブログ

徒然なるままに

DMM.comのサマーインターン「DMM GUILD」で1番エンジョイしちゃった話。

こんにちは!ゴリにゃです!🦍🐈

DMM.comが主催するサマーインターンシップ「DMM GUILD」に参加してきたので、その時の話を書いていきます ✏️

DMM GUILDとは

「DMM GUILD」とは、合同会社DMM.comが主催する2週間のクエスト型エンジニア向けインターンシップです。

DMM.comの各事業部が実際に抱える課題にissueという形でアサインし、解決まで導くという流れになります。

issueにはそれぞれestimateという形でポイントが割り振られており、closeまで持っていくとポイントが加算されます。そして、最終日には獲得したポイントに応じて表彰されるという感じです。

因みに、入賞者には別途賞金も渡されます💰💰💰(総額50万円ってヤバくね?)

hr.dmm-corp.com

その他の概要は以下の通りです。

  • 期間:9/7~9/18
  • 参加人数:25人位
  • 報酬:時給1,500円
  • 場所:オンライン

参加した経緯

サポーターズさんの1on1面談イベントでオファーを頂いたのがきっかけです。

その後、面接をしていただき無事合格を頂きました!

因みに、面接終了から合否連絡まではDMMさんが一番早かったです…!(流石だ✨)

初日

簡単な会社紹介やDMM GUILDの概要などが紹介されました。

また、入・退社手続きの案内や、現場で実際に使用されている各種ツールへの登録も行いました。

今回のインターン自体は個の色がとても強いインターンではあったのですが、一応チーム分けもなされており、朝会と夕会をチーム毎に毎日行っていました。

そして、issueが発表され、各自アサインするタスクを決めて初日は終わりました。

アサインしたタスク

ここからは僕が実際にアサインしたタスク毎に話していこうと思います!

Class ComponentのTS+Hooks化

僕が最初に取ったタスクはReactのClass ComponentをTS+Hooksに移行するというタスクでした。僕自体はフロントエンドが一番得意だったので、肩慣らしでアサインしました。(因みに2ポイントです)

このタスクで初めてプロダクションコードを読むことになりました。実務経験がほぼなかった僕としてはこれだけでも大きな収穫ですね☺️

タスク自体は1日で難なくクリアしました!

因みに、インターン生の中で一番早くcloseまで持っていきました✌️(まあ、2ポイントですが☺️)

スクロール位置のバグを修正

タスクの概要としては、投稿一覧画面から投稿詳細画面に遷移し、そこでブラウザバックした際にスクロール位置がズレているので、これを修正して欲しいというタスクでした。

まずは原因の調査ですね。この投稿一覧自体はIntersection Observerを使って画像の遅延読み込みを行っていました。ここが怪しいと思ってバグの再現を行ってみたところ、狙い通り画像サイズと同じサイズのズレが発生していました。

つまり、実際の画面の高さとブラウザ側が持っているヒストリー(スクロール位置)が遅延読み込みの影響でマッチしなくなっていたことが今回の原因でした。

この解決策として、遅延読み込みをする前に元画像と同じ高さの代替画像を埋め込むことで解決しました。

因みに、コードを2行追加するだけで解決したのですが、変に難しく考えちゃって実装に2日間掛かっちゃいました…。

ただ、その過程でプロダクションコードをじっくり読めたので、結果オーライですね😊

Cypressを使ったE2Eテスト環境の導入(CIで実行まで)

3つ目のタスクは、Cypressを使ったE2Eテスト環境の導入でした。

ローカルでの導入自体は半日で終了したのですが、CIで実行するところで無茶苦茶時間が掛かっちゃいました😔

因みに、CI自体は別に実装しなくてもよかったのですが、このタスクを発行していた事業部の方に「是非やらせて下さい!」と言ってCIまで実装させて頂きました。

CIにはCircleCIを使っており、Cypressを使ったE2Eテストのサンプルも一杯あったので「一瞬で終わりそうだな🤔」と思っていましたが、結局closeまで持っていくのに4日間費やしました…。(舐めてました…。すみません…。)

結果発表

結果としては、入賞ならず😭😭😭

終結果として、僕がcloseまで持っていったタスクは3つでした!ポイント自体は15ポイント位です!

グランプリを取った人は40ポイントくらい稼いでました!(ヤバイ)

賞自体はグランプリ意外にもいくつかあったのですが、僕は一つも擦りませんでした😂😂😂(ムッチャ悔しい…。)

入賞した方々本当におめでとうございます🎉🎉🎉

開発以外の部分

最初の方でも話しましたが、DMM GUILD自体は個の色がとても強いインターンです。ただ、折角の機会だし僕は積極的にチームメンバーとコミュニケーションを取っていました!

そのお陰もあってか、朝会と夕会がいつも一番長くて、毎日退社後もDiscordでわちゃわちゃと会話してました😊

ぶっちゃけ、僕のチームはダントツで仲が良かったと思います😂😂😂(うえちょ、きょーちゃん、やまちゃん、本当にありがとう😊。無茶苦茶楽しかった!!!!)

また、チーム内だけでなく、他のインターン生とも積極的にコミュニケーションを取っていました!

それ以外にも、Twitterハッシュタグを勝手に作って、それが人事に公式採用されるなど、結構好き勝手やってましたね(今思うとヤバイ)

最後に

初めてプロダクションコードを読み、新しい技術にも挑戦をさせて頂けて、本当にいい経験になりました!僕の書いたコードが実際にDMMのサービスで動いていると思うと興奮しますね!

結果的には入賞できませんでしたが、無茶苦茶楽しませて頂きました!!(多分1番エンジョイしてた😂😂😂)

改めて、この様な機会を提供して下さったDMM.comさん本当にありがとうございました!!!!

そして、入賞したみんなも本当におめでとう🎉🎉🎉

また機会があれば飲みにいこう🍻

 

ごりにゃ