こんにちは!メドピア新卒採用担当の高橋です。
8月22日から26日の5日間で、24卒学生向けサマーインターンシップ「Med Tech Challenge 2022」を開催しました。
メドピアでの5daysサマーインターンシップの開催は、今年で2度目。
本記事では、インターン生の皆さんやメンターの様子を事前準備から当日まで丸ごとお届けします!
背景と目的
昨年、23卒向けに初めてサマーインターンシップを開催したメドピア。
特に満足度が高かった5daysインターンシップですが、「ぜひまた今年も学生の皆さんに体験していただきたい!」と思い、今年の6月から企画や準備を始めました。
インターンシップで学生の皆さんに届けたいと考えた内容は、以下の通りです。
- 実務を通して実際に使用されている技術を学び、エンジニアに求められる実践的なスキルを身につけること
- 開発実務を通して開発スキルをアウトプットする機会を経験すること
- 企業文化や社風を体験すること
あわせて、メドピアとしては「さらなる事業成長を見据えてエンジニアの仲間をもっと増やしたい」という想いもありました。
取り組む課題
メドピアが採用しているプログラミング言語のRubyを使って、社員プロフィールサイト「Peers」の活用・活性化に役立つ新機能開発や改善を行います。
「Peers」について:メドピア社員が開発した、社員だけが閲覧・編集できるプロフィールサイトです。社員がそれぞれ自己紹介文やプロフィール画像を入れたりその人の特徴を表すタグをつけたりするなどして個々のプロフィールを充実させることができます。チームの顔ぶれを知り社員同士の親交を深める目的で作られました。
▲Peers イメージ(一部の非公開情報は加工しています)
事前準備
本格的に準備を開始したのは梅雨入りの頃。
メドピアの5daysサマーインターンシップは、昨年に引き続きインターン生は5名限定での募集を行いました。インターン生一人ひとりに個別のエンジニアメンターが担当につくという充実のフォロー体制です。
メンターやVPoE、社内IT、各事業部、コーポレートメンバー間で連携し、MacBookPro14インチ(M1 Pro)の手配や開発環境構築などの準備を進めるとともに、インターン生にも、事前に練習課題に取り組んでもらい、インターンシップ初日を迎えました。
▲メンター佐藤による、初日の環境構築に関する参考資料のシェア
1~2日目:環境構築と練習問題、課題設定
いよいよインターンシップ初日。
やや緊張した面持ちで集まった5人のインターンシップ生と、メドピアのエンジニアメンターでしたが、互いの自己紹介を通じて徐々に笑顔が見えるようになりました。
人事からは、今回のインターンシップの目的やPeers についての説明をし、さっそくメンター佐藤による環境構築に関するレクチャーが始まります。
▲1日目:環境構築のレクチャーを受ける様子
インストールに時間がかかるときには、みんなで雑談タイム。
「夏休みはどんなことをして過ごしていますか?」「自己紹介で言っていたボードゲーム、私も好きですよ!」など、オンラインでも活発なコミュニケーションが繰り広げられていました。
環境構築レクチャーが完了すると、インターン生は自分のメンターとの1on1夕会を行います。
▲インターン生Bさんとメンター大竹の1on1ルームでは、本日やったことをドキュメントを使って振り返っています。
▲インターン生Cさんとメンター山下の1on1ルーム。GitHubの画面を共有しながら振り返りを行います。
メンターとの1on1が完了した後は、再度全員で集合して明日の連絡事項を共有し、17時に解散しました。
・・・・・
日付は変わって、2日目。
この日のメイン担当は岸野が務めます。環境構築を完了させたあと、開発作業に向けてまず練習問題が出されました。
インターン生も熱心に練習問題に取り組み、Peers の開発作業に備えます。
▲2日目:練習問題に取り組む様子
午後には、それぞれが設定したPeers の課題について発表をしました。
▲インターン生Cさん:設定した課題に対するアプローチ方法を説明する様子
3~4日目:開発作業
待ちに待ったPeers の開発作業がスタート!
朝のメンターとの1on1では、作業内容や開発の段取りを丁寧に確認したあと、作業を開始。
もくもくと課題に取り組むインターン生の皆さんですが、MacBookProを使用するのがはじめての方や、チーム開発の文脈でのGitHubの使用経験が少ない方、サーバーサイド言語の経験はあるもののRubyは初めてである方など、経験値は三者三様でした。
そんな中でも、質問や不明点があれば、メンターに質問するだけでなく、インターン生同士で相談、解決したり、それぞれが積極的に技術や情報をキャッチアップしていく姿が印象的でした。
個人での開発作業が続くなかでも、お昼休憩はインターン生の皆さんとメンター陣とで一緒に食べて気分転換。
「デスク周りはどんなガジェットを使っているか」「メドピアではどんな働き方をしているか」というインターン生からメンターへの質問や、インターン生同士では通っている学校の話から就職活動の話、技術の話まで幅広く会話を楽しんでいました。
5日目:成果発表会
あっという間に最終日。
これまでインターン生の皆さんが一生懸命取り組んできた課題を発表する日です。
※発表の一部を抜粋し、掲載いたします。
発表1 Aさん
- 設定課題:個人プロフィールページへSNSリンクを作成する
Aさん:SNSのリンクを貼れるようにすることで、メンバー間の交流を活性化できると考えました。社員がどんな技術やビジネスに興味があるのかを知ることができるので、話すきっかけが生まれやすくなると思います。
▲デモ動画を見せながら追加機能の説明をするAさん
Aさん:5daysインターンを通して、大きく2点学びました。1点目はテーブル設計する際に、値が入ってこないときに、nullを許容するのか、空文字にするのかのどちらがいいかと考えたときに、後者の方が良いことを学びました。
2点目は、テストコードを初めて書いてみて、RSpecではdescribeやcontext、itというような書き方があるということ、テストの実行方法を学びました。
メンター岸野:Aさんは実装力が高かったです。DB設計や、コードに対するこだわりが強かったので、今後さらにエンジニアとして伸びていくと感じました!
インターン生Dさん:空文字にする気付きが良いですね!
発表2 Bさん
- 設定課題:個人プロフィールページへ誕生日を追加する、ユーザー一覧の表示スピードを上げる
Bさん:まず、誕生日項目の追加については、Peersを触っていて交流が生まれる要素が少ないと感じました。現行の項目にない「誕生日」を追加したら、コミュニケーションが生まれるのではないかと考えました。
Bさん:さらに、ユーザー一覧の表示スピードを上げようとも思いました。これは、初日に人事の方がPeersを画面共有しながら説明しているときに、ユーザー一覧の表示速度が非常に遅かったことに課題意識を持ったことがきっかけです。
▲デモ画面上で表示速度を計測し、改善前後での比較を見せるBさん
Bさん:Peersの機能改善を通じて、未経験だったRuby、Ruby on Railsの基本を学ぶことが出来ました。また、チーム開発も初めての経験だったので、そちらもたくさんの気付きを得ることが出来ました。
メンター大竹:Ruby、Ruby on Railsやチーム開発が未経験だったので、初日のキャッチアップは大変そうでした。ただ、2、3日目からはみるみるうちに慣れて、Bさんご自身でGemを探したり反映していて、吸収力の高さに驚きました。
インターン生Aさん:パフォーマンスをちゃんと計測しているのは、すばらしいですね!
発表3 Cさん
Cさん:Peersのプロフィールページにはたくさんのタグが付いていたので、タグが一覧になっているページを探して見てみると、アクセス性・デザイン性、検索性の3点に課題感を持ちました。
Cさん:アクセス性を改善するためにタグ一覧ボタンを設置しました。デザイン性の改善にはBulma.cssを使い、検索機能の改善には検索フォームを設置し、3点全てを改善することに成功しました。また、さらなる検索機能の改善のために「漢字検索でひらがな検索も行える」プラスアルファの実装も行いました。
メンター山下:Cさんはインターン前の面談のときから「やりたいと思ったことはやる」と言っていて、それをインターンシップでもしっかり実行していました。
課題を設定する際の案出しのときも、10個以上出していましたし、プラスアルファの実装までやり遂げました。
社員:隠しページのようになっているタグ一覧ページを見付けたり、メンターも使用したことのないGemを見つけ出したりと、見付ける→改善する流れが徹底されていてすごいと思いました。
発表4 Dさん
Dさん:私はセキュリティ面に着目しました。管理者ユーザーだけに付与しているはずの権限が何らかの要因で管理者以外の一般ユーザーも行える状態だったので、そのバグを修正しました。
▲デモ画面では、正常な権限振り分けができる状態になったことを再確認
Dさん:大変だった点は、管理画面の認可処理に対して、リクエスト単位で検証を行うためにテストを21個も追加したことです。テストの作成が初めてだったので、都度調べながら行いました。
メンター金城:Dさんは技術が大好きで、物事の着眼点も大変良かったです。今回のインターンを通じて「相手に適切に伝えるための伝え方」や「発表することの大切さ」も1on1などで何度もすり合わせていたので、成果発表会本番では非常にスムーズで、画面の向こう側にいる人たちのことを考えながら説明することが出来ていました。
インターン生Aさん:Dさんのプルリクを見ましたが、テストコードを一人で何百行も書いていてすごいと思いました。
発表5 Eさん
Eさん:Peersの存在意義の一つに「お互いの人となりを知り、繋がるためのメンバープロフィール社内公開サイト」というものがあります。ですが、交流できる機能は少ないように思ったため、プロフィールに対してコメントができるようにして、交流の機会を増やして繋がりやすくするよう工夫しました。
▲「趣味はサウナ」とプロフィールページに書いた事例を説明するEさん。コメント欄が出来ることで共通の趣味を持つ社員同士の交流がより活性化されました。
Eさん:今回のインターンでの気付きはたくさんありましたが、特にコミットメッセージをレビュワーが内容を把握できるような書き方の心掛けや、vscodeの拡張機能を用いた書き方を学びました。また、テストを書いたのが初めてだったので、RSpecでのテストを書く全体の流れやコードも理解することができました!
メンター佐藤:Eさん、実はインターン開始当初は「自信がない」と言っていたんです。ですが、レビューで指摘した点を持ち前の素直さや柔軟さでぐんぐん吸収してくれました。成果発表会直前の1on1のときに「自信はどう?」と尋ねると「自信は…まあ…頑張ります!」と、ポジティブに言ってくれました。質問をたくさんしたり、ユーザー視点で課題を考えたり出来たこともとても良かったです。
社員:メンターからのコードレビューで、印象的だったことは何でしたか?
Eさん:私はチーム開発が初めてだったので、相手への伝え方(特にコメントの書き方など)を学ぶことが出来ました。この経験は、今後エンジニアとして働く上で大いに活かしていきたいです。
VPoEからの総評
メドピアの開発環境を広く知っていただけたらな…との想いで企画したこの5daysサマーインターンシップでしたが、インターン生自ら課題を発見して、短期間で実装や今後の展望まで成し遂げられていたことが非常に素晴らしかったです。
チーム開発やRSpecなどのテストのご経験がない方も多くの気付きや学びを習得いただけたのではないでしょうか。ぜひ、今後もエンジニアとしてさらなる高みを目指していってください!
インターン生から寄せられた声
Aさん:自分が作成した成果物が具体的にどのように役立つかを知ることができました。
Bさん:未経験の私にすごく丁寧なフォローアップをしていただきました。
Cさん:他のインターンシップ生が5日間で、どのようなことを考え、どのようなことを成し遂げたかを知ることができ、勉強になりました。
Dさん:メンターの皆さんが持っている技術を吸収することができました。
Eさん:「自分と全く同じ期間で他の人はこんな成果物を作ったのか、すごい!」と、とても刺激になりました。
まとめ
あっという間の5日間でしたが、全員で無事に完遂し、たくさんの気付きや学びを得られた5daysインターンシップでした。
今後も、メドピアの事業や理念に興味を抱いてくださる方々との出会いを大切にしていきたいと思います。
9月・10月・11月にはエンジニア社員との座談会を予定しています!ぜひリンクから詳細をご覧くださいませ。
▼座談会日程
- 2022年09月14日(水) 12:00~13:00
- 2022年10月13日(木) 12:00~13:00
- 2022年11月18日(金) 12:00~13:00