
はじめに
こんにちは、アプリケーションチームの山田です!
今回は、夏に実施したインターンシップについてお届けします。
概要
エムオーテックスでは毎年、開発本部主催のインターンシップを開催しています。
例年では夏は 5 日間 × 2 回でオンライン開催しているところを、今年は 2 日間 × 4 回 に変更して開催しました。
特に今年は 4 開催の内 1 回をオフラインで(大阪本社で)実施したので、その様子も合わせてインターンシップの実施内容をお伝えします。
なお、エムオーテックスでは他の部門(営業、カスタマーサクセス、セキュリティエンジニア)でも毎年インターンシップを行っています。
「参加した学生さんに少しでも貴重な体験をしてほしい」「エムオーテックスに魅力を感じてほしい」という現場の思いから、新しい技術や変化しているプロセスを取り入れた形で、毎年インターンシップの内容を変えています。
エムオーテックスのインターンシップに興味を持たれた方は、ぜひ今後のインターンシップもチェックしてください!
スケジュール
1日目のスケジュール
| 時間 | 概要 | 詳細 | 
|---|---|---|
| 9:30~10:00 | 会社説明 | |
| 10:00~10:10 | オープニング | スケジュール説明、社員紹介 | 
| 10:10~10:40 | アイスブレイク | |
| 10:40~10:50 | 休憩 | |
| 10:50~11:00 | 課題説明 | |
| 11:00~12:00 | ワーク:要件定義 | サンプル問題 | 
| 12:00~13:00 | 昼休憩 | |
| 13:00~14:10 | ワーク:要件定義 | 実際の問題 | 
| 14:10~14:20 | 休憩 | |
| 14:20~15:20 | ワーク:インフラ設計 | インフラ構成図作成 | 
| 15:20~15:30 | 休憩 | |
| 15:30~16:30 | ワーク:サーバー開発 | |
| 16:30~16:40 | 休憩 | |
| 16:40~17:20 | ワーク:クライアント開発 | 基本課題 | 
| 17:20~17:30 | クロージング | |
| 17:30 | 終了 | 
2日目のスケジュール
| 時間 | 概要 | 詳細 | 
|---|---|---|
| 9:30~9:35 | イントロダクション | |
| 9:35~10:10 | アイスブレイク | |
| 10:10~12:00 | ワーク:クライアント開発 | 基本課題・応用課題 | 
| 12:00~13:00 | 昼休憩 | |
| 13:00~14:00 | ワーク:クライアント開発 | 応用課題 | 
| 14:00~14:30 | 発表準備 | |
| 14:30~14:40 | 休憩+発表順決め | |
| 14:40~16:10 | 成果発表 | |
| 16:10~16:15 | 休憩 | |
| 16:15~16:30 | フィードバック | |
| 16:30~17:10 | 座談会 | |
| 17:10~17:30 | クロージング・アンケート | |
| 17:30 | 終了 | 
今年のテーマ
今回の夏インターンシップでは「LANSCOPE 開発フローの疑似体験」をテーマとし、
 エムオーテックスならでは・メーカー企業ならではの楽しさを感じてもらうことが出来るようにワークの内容を考えました。
そのために、以下の要素をワークに盛り込んでいます。
- 要件定義、インフラ設計、開発の流れを体験する
- 各ワーク完了時に、レビュー会を行う
- 実際に AWS のリソースを使用する (DynamoDB, Lambda など)
- チームごとに出たアイデアを成果物に反映させる
そして、今年もすべてのワークをモブプログラミング形式で行いました!
ワークについて
今回のインターンシップでは、学生さんにサーバーとクライアントの両方を使用するアプリケーションを開発してもらいました。
最終的なイメージは以下のようになります。

要件定義
要件定義のワークでは、まず「要件定義とは何か」という説明から始めました。
大まかには以下のようなイメージです。
「要件は 機能要件 / 非機能要件 / (略)... に分かれます。 各要件は(略)という意味です。
では有名な SNS を例に挙げて、「メッセージがいつでもやり取りできる事」はどの要件にあたるか考えてみましょう。」
その後は以下の流れで進めました。
- 要件定義の練習
- 実在する Web サイトを例として、要件定義書を作成してみる
 
- 作成された要件定義書を、チーム内 + インターンシップ担当社員でレビューする
- 要件定義の本番
- インターンシップのお題に対して、要件定義書を作成する
 
- 作成された要件定義書を、チーム内 + インターンシップ担当社員でレビューする
- レビューの内容を元に、決定稿を作成する

インフラ設計
インフラ設計のワークも、要件定義と同じく説明から始めました。
特にエムオーテックスはクラウドサービスが主体のため、
- クラウドとは
- サーバレスとは
- 良いインフラ設計とは
- etc...
といった内容を学生さんに伝えました。
その後は要件定義ワークで作成した要件定義書を元に、実現するためのAWS構成の作成、担当社員からのレビューを行いました。

サーバー開発 + クライアント開発
サーバー開発のワークでは、インフラ設計で作成した構成を実現するために、実際の AWS 上に API Gateway + Lambda を構築してもらいました。
Lambda の実装は AWS コンソールのコードエディタで行う、Lambda で扱うデータは DynamoDB を直接確認する等を通して、可能な限り AWS を体験してもらいました。

クライアント開発のワークでは、実装した API Gateway + Lambda を使用するツールを Python コードで実装してもらいました。
ワークの内容として基本課題・応用課題を担当社員で用意していましたが、どのチームも課題の内容を超えて
- 「要件定義で出した案をもっと盛り込みたい」
- 「自分がユーザーだったら、こう改良してくれたほうが嬉しい」
といったアイデアが沢山生まれ、完成する頃には多種多様な工夫が施されていました。

実施結果について
参加人数
今回のインターンシップでは、計 68 名の学生さんにご参加いただきました!
学生さんからの感想
Q. インターンシップの満足度を教えてください(5 が最高評価)
| 満足度 | 人数 | 
|---|---|
| 5 | 50 | 
| 4 | 13 | 
| 3 | 0 | 
| 2 | 0 | 
| 1 | 0 | 
| 未回答 | 5 | 
参加いただいた学生さん全員から、4 以上の満足度をいただきました!
また、学生さんから各コンテンツに対して多くの感想をいただいたので、一部抜粋で紹介します。
要件定義に対して
普段の生活であまり考えない、顧客目線で考えることに大変さを感じた。
今まで体験したことの無かった、しっかりした要件定義ができて面白かった。
初めてだったので回り道も多かったが、チームメンバーと沢山の議論をして、最終的な着地点を明確化できて良かった。
インフラ設計に対して
インフラ設計を学んだことが無かったので、もう一度挑戦してみたいと思った。
今度は冗長性や耐障害性について触れてみたいと思った。
教えてもらったことを元に、もっと高度なプロダクトの設計をしてみたいと思った。
サーバー開発 + クライアント開発に対して
モブプログラミングで思い通りに伝える難しさを感じたが、上手くいった時は非常に高い満足度を得ることができた。
チームメンバーそれぞれが持つ知識で、エラーが出たときの対応やコードを書いたことが良い経験になった。
AWS について改めて理解することが出来てとても良かった。Python で実際に動くプログラムを作成できたことが印象に残っている。
座談会について
全てのワークが終了した後は、エムオーテックスの第一線で活躍するエンジニアを招いて座談会を実施しました。
学生さんからの質問を どんな内容でもOK の姿勢で受けたため、エンジニアからの「ぶっちゃけ話」に学生さんから多くの好評をいただきました。
学生さんからの座談会に対する感想も、一部抜粋で紹介します。
先輩社員の方の雰囲気が柔らかく、いろいろな質問ができました。
答えにくいであろう質問でもしっかり答えていただき、今後の就活の参考になりました。
製品に誇りを持って開発されていることが座談会で垣間見え、自分もその一員になりたいと思いました。

エムオーテックス採用情報について
インターンシップに限らず、エムオーテックスにご興味のある方は、ぜひ下記リンクから採用情報をご覧ください!
おわりに
以上が 2024 年夏のインターンシップで実施した内容となります。
今年は特に様々なチームで独自の発想が飛び出し、同じワークでもチーム毎に全く異なるものが完成していました。
チームを見守る担当社員としても、議論の様子を見ていてとても楽しかったです。
(学生さんの発想力には何度も感服しました。)
また、開発本部としては久方ぶりのオフラインインターンも、無事に終えることができました。
オフライン特有の苦労もあれど、学生さんから非常に良い評価をいただけたため、担当社員側も「やってよかった」と思えるインターンでした。
引き続きエムオーテックスでは 2024 年冬もインターンシップが実施されますので、もし興味を持っていただけたなら是非ご応募ください!
開発本部一同、皆様とインターンシップで会えることを楽しみにしております!
