Ric.'s rubbish heap.

~ Ric.の掃き溜めブログ ~

開発インターンでマーケ学んでみた話 ~MTI Summer Intern~

f:id:Ric418:20200312181555p:plain

最近車を購入することを検討しておりますRic. です。 今回は2019のMTIサマーインターンに参加した話を書いて行きたいと思います。

MTIさんについてはこちら、有名所で言うとルナルナとかを開発している会社さんです。

www.mti.co.jp

インターン参加まで

MTIさんとの出会い

これは逆求人イベントで面談して頂いたのがきっかけだったのですが、
自分が当時ヘルスケア事業に関しても興味があった為、そこからインターンの参加も検討し始めたと言う感じです。

最初はMTIと聞くと何の会社だろうか?と言う感じでしたが主要サービスを聞くと、あーあの会社さんか!って感じになりました。

期間・形式

  • 期間:講義・開発合わせて9日間(最終日は発表)
    • 1日目:AWSを用いてのサーバレスなアプリケーション(エンドポイント)の作成
    • 2日目:Vueを用いたフロントエンド実装
    • 3日目:総合演習
    • 4日目:マーケ講義・チーム分けをしてマーケ・企画・立案
    • 5日目〜最終発表:企画中間発表(もしかしたら6日目だったかも)・開発
  • 形式:基本的にチームに分かれてエンジニアのメンターの方が4名ほど人事の方1人

事前課題

インターンに参加するまでに事前課題を行います。

開発課題

これは簡単なテトリスゲームをWebブラウザ上にJSで作ると言う課題でした。
それほどの難易度ではなかったのですがインターン期間中にnode.jsを使いサーバレスなサービスを作ると言う事でちょうど良い課題でした。

マーケティングの基本知識の習得

これが結構自分には稀有な体験で、このインターンではマーケティングから企画開発まで一気通貫して行うと言うものだったのでマーケティングの基礎知識を押さえた資料を読み込んでおく事が事前課題となりました。

普段の開発インターンハッカソンではアイデアソン的なものを最初に軽く行うと言うのは体験したことがあったのですがマーケティングの基本知識(3C分析やSTP・4P分析など)を体系的に学んでから企画立案・開発まで行うと言うのは初体験でした。

参加を決めた理由

まあ色々あるので箇条書きにしておきます。

  • サーバレスなアプリケーションの開発がしたい
  • マーケティング等のビジネスサイドもしっかり学んでおきたい

これらが大きくあったでしょうか。

インターン期間中

1日目〜3日目

期間形式の所でも書いた様に最初は開発講義と言う事で

  • サーバーとは?エンドポイントとは?
  • フロントワークショップ
    HTML・CSS・JSの基本的な書き方とフレームワークについて
  • AWSとはサーバレスとは

などなど、こんな感じで最初の最初から丁寧に講義して頂きました。 この後、実際に各自デモアプリをハンズオンの様な形式で進めて行きました。

自分はこの前のインターンでWeb全般の知識と技術を軽ーく入れておいたのでここら辺は優しく感じスムーズに開発を進めることが出来ました。

ここで初めてサーバレスと言うかAWSに触れた訳なんですがとても楽しく、今でも自分がAWSでサービスを個人開発しているきっかけになっています。

4日目〜中間発表

チーム分け

4日目からチームに分かれてマーケティングの講義に入ると言う事になりました。

チーム分けは人事の方とのインターン期間中での面談とインターン生の様子、性格分析などから総合的に判断して頂きました。

ちなみに自分は3日目までの様子を人事の方から「他のメンバーをおいて独走しちゃいそうなイメージあったけど、インターン終わって最終的にはそんな事無かった」と言われまして…笑

そう言うこともあってかメンバーは結構優秀な方かつ皆さん周りを見てくださる方々が集まりました笑

他のチームにはバチバチに意見ぶつけ合いたいと言う方もいらっしゃった様で、こっちが心配になるくらいバチバチのチームもありました。

マーケティング講義

チームで分かれた所でマーケティングの講義が行われました。

事前に3C分析などの用語ややる事は課題にて確認していたのでここではこれらを何故やるのか何のためにやるのかと言う所を詰めて講義をして頂きました。

課題発表〜中間発表

マーケ講義が終わった所で、このインターンで取り組む課題(テーマ)が発表されました。 課題は

「運動不足を解決するサービス」

と言う事でチームで企画立案することとなりました。
ここでエンジニアとして不慣れながらもチームでマーケティングプロセスを踏んで中間発表でサービスをプレゼンした訳ですが…

  • セグメント分けが甘い、と言うか全てが甘い
  • ユーザーに要求する利用シーンがストイックすぎる
  • いい所が発表分かりやすさ・上手さしかない

といった様な感じで中々手厳しいフィードバックを頂きまして…中間発表時首位をチームとしては頂いたのですが自分の中では課題が山積する内容となりました。

この結果を受けセグメント分けをより詳細に行い利用シーンの見直しを行いました。 その結果サービス自体を考え直すこととししました。

その結果開発する事になったサービスは

  • 個々人の可処分時間を奪わない仕事中に行える運動
  • 導入意思決定は法人だが利用者は社員、その間のハレーションが起きない様な物(BtoBtoC的な感覚)
  • 仕事中としても業務の支障にはならず業務の利益になる様な物
  • 業務時間中に運動不足を感じている職種

などと言うセグメント分けと利用シーンと言う事で、
業務中座り過ぎ且つ職種間の連携が重要なエンジニア・デザイナー・企画・マーケティング(座り過ぎランキングトップ3)に絞りました。

職種間のプロジェクト上のちょっとした質問や疑問をストックし定期的に立ち上がって話あう事をスラックチャンネルに提案するSlack botと立ち上がってコミュニケーションをした回数を記録するWebサービスを開発することとなりました。

座りすぎの弊害は皆さんもご存知かと思いますが腰などの健康被害にも繋がる訳でございやす…

〜最終発表まで

要件定義と役割分担

開発するサービスが決まった所で開発を進めていく訳ですが、
エンドポイントからDB、フロントページのデザインを詰めたのち

  • サーバーサイド
  • クライアントサイド -SlackAPI

といった感じで役割を分担しました。 自分はDB周りの設計とSlackAPIとSlackbotとlambdaの繋ぎこみを担当しました。

f:id:Ric418:20200312181555p:plainf:id:Ric418:20200312202719p:plain
アーキテクチャフロントページgithubみたいに立ち上がると芝が生える

最終発表

最終発表をして結果発表と言う感じだったんですがチームとしては優勝を逃したのですが、エンジニア賞を頂きました!

SlackAPIとlambdaの仕様を一から理解して繋ぎ込んだと言う所を評価して頂いたようです。

自分としてはサービスの展開、収益性・拡張性を上げる為にSlackbotの機能を考え抜き開発した所が推しポイントです。

機能例:登録したチャンネルに新しいメンバーが入ると自動的にSlackAPIが発火、サービスに新規登録、DBとログインページを用意しそのユーザーにDMやメッセージでログインURLを送る機能。ユーザー単位での課金の為、いちいち手動の新規登録が必要でない、導入コストを抑える機能でユーザー数を伸ばす工夫が機能として重要だったのです。

これは前回のNextebeatで学んだ事を実践した形です。ちなみにNextebeatの開発インターンに関してはこちら。

ric418.hatenablog.com

これは中々タフな作業でもあったのですがチームメンバーが他の部分の実装をしっかりやってくれていて自分はSlackbotの開発に集中出来たおかげだと思っておりチームでとったエンジニア賞だと思っています。

f:id:Ric418:20200312205806j:plainf:id:Ric418:20200312211356j:plain
エンジニア賞の表彰状とチーム写真

また懇親会において中間発表の際に手厳しいフィードバックを頂いた社員の方から

「中間発表から大きく方針転換をした訳だけど、自分達の課題を解決する形で思い切ったマーケティングと判断が出来たのは大きな事だと思うから自信を持って欲しい」

ともフィードバック頂けたのでマーケとしてのインターンとしても良い経験出来たんかなぁと思いました。

参加してみて

MTIのエンジニア像

これはどこのエンジニアもこれからはそうなるのかもしれませんがエンジニアもビジネスサイドとしてマーケティングを行い提案をする。

この役割も一面として担っていく、これがMTIで求められている若しくは活躍しているエンジニアなのだろうと思いました。

マーケに関して

もちろんマーケ自体も勉強になったのですが、開発時の思わぬ副産物もありまして。

それは何かと言いますと、

  • 利用者をセグメント分けだけでなく具体的なペルソナレベルまで組む事でユースケース・ユーザーストーリー・デザインが明確になる
  • マーケティングの時点で利用シーンを詰めておくと課題を解決する重要な機能を見失わない
  • 収益化モデルを明確化する事でどの機能を強化するべきか明確になる

などなど…当たり前だけど個人開発ではあまり意識出来ていない所を意識して開発する事でいつもの個人開発よりも質も速度も上がる開発をすることが出来ました。

チームとして

先述したように最終的にはクライアントサイドとサーバーサイドと言ったように分担はしたのですが、

  • 折角クライアント・サーバーサイドの講義を受けたと言う事
  • それぞれに得意不得意がある為、足並みは揃えたい事
  • 分担するにしても機能・レイヤー間の共通認識は持っておきたい事

これらを踏まえて全員がそれぞれのサイドの実装を一通り関わった後に分担する事にしました。

これと細かい開発時の逐次の相談と報告によってそれぞれのサイドで齟齬が生じる事は少なくなったと感じました。

インターンの印象

最後にこのインターンに参加してみての感想を箇条書きにして締めたいと思います。

  • マーケ初心者兼エンジニア初心者にはうってつけかもしれない
  • 割と発表時にはメンタル削られるのでメンタル強く持つのが良し
    (これに関しては変に厳しいとかではないので安心して下さい)
  • サーバレスとの良い出会いになるかも

こんな感じでした。ではでは今回はここまでと言う事で。