見出し画像

【体験談】技育展に出たら、学びがいっぱいだった

「技育展2022」という学生エンジニアのピッチコンテストに参加をしてきた。

技育展には2021年と2022年に参加しました。どちらもリーダーみたいなPM見たな役割をさせてもらいました。その時の体験談と身をもって感じた難しさを書いてみようと思います。

「技育展」という存在

◆出場するメリット

サポーターズが公式で出しているnoteにメリットがさまざま並んでいます。このコンテストには個人開発やチームでの開発がありますが、僕自身はチーム開発で出ていました。

その中でもチーム開発での醍醐味は、やっぱりプロダクト制作じゃない部分での要素が入ってくるということです。つまり、プロダクトの開発に加えて、チームでの進捗管理など様々な要素が出てくるのです。プロ(社会で責任を伴って働いている人)に対して、アマチュア(責任を伴わなずに作れる人)は、やはりこの経験は貴重なものになります。何かを作り出す時のチームでの管理はそこまで経験できるものではありません。就活で言えば、そんな体験をしている人はほぼいないでしょう。(超レア✨)

◆日本の中でも唯一無二のもの

学生エンジニアがものすごい量集まっているのが、このコンテストです。2022年では、180作品400名の方が登壇しています。その裏には、登壇応募数で300作品近くもの応募があったようです。(思ったより高かったという事実をほとんどの登壇者は人は知らない笑)でも意外と、プロダクトをどれだけ愛しているのか、考えているのかを伝えれば書類は受かる気がします(根性論)。

ここではやはり横のつながりができます。twitterやgithubでの相互フォローなどができ、あらゆるプロダクトや発信が見られるようになります。

僕自身のtwitterも現在1250名の方にフォローしていただいていますが、おそらく50~100名は技育展関連だと思います。それくらい横のつながりができます。エンジニアに関連している人と知り合うのは意外とエンジニア同士ないものです。この機会に巡り出会い、何か作ろう!というようなこともあるようです。いい出会いですね!

こういうところも含めて、技育展に出場してみると面白いのではないかと思います。


開発に関する概要と考えたこと

◆チーム・開発概要

技育展2022では、
・チーム名:IDLE (I don't like English)
・プロダクト名:MPFAR (Matching Professors for Advanced Researches)
・チーム編成:大学院生M2 × 3
・部門:1ヶ月でゼロから開発
・受賞:優秀賞(1ヶ月でゼロから開発)
というような内容でした。

今回出た目的として、

自分達がニーズとなったところから視野を広げて、それを実装へ落とし込む力をつけることやサービスに適切な言語を選んだ上で実装すること。また制作をする上でサービス全体の実装に全員が関わること。

【応募書類】制作にあたり、工夫したい点/技術的に拘りたい点など、制作する上での意気込み

としています。M2で来年からエンジニアとして働く三人が、実務に近いようなところでの開発をチーム開発として目指しました。それもあり、PMという自分の役割は、コンテストのためにどこの部分を実装するのかやどこの部分を誰に任せるのかを取捨選択しなければなりません。これはとても難しかった点です。

◆具体的な制作で考えたこと

プロダクトは何にするか?を考えた時に、大学院生3人というチームメンバーの特性を生かして、どのようなプロダクトにするのかを考えていた時に、安直に「研究活動」となります。その中でも課題を1つに絞りました。それは、「研究活動の弊害」です。弊害に対して、「英語」と「アドバイス」という二つがありました。

日本人の研究者にとって、ある意味で、「英語」というのは弊害となります。英語を書くのには、やはり日本語よりも労力を使います。教授レベルであっても知らない単語はあるし、ニュアンスがわからないなんてことはあります。この「英語」に対する解決は2つ方法があります。

・英語をできるようにする(向上支援)
・英語を使わなくて済むようにする(効率向上)

研究者にとってどちらがいいでしょう?日本語でできるのであれば、日本語でやりたいのが本音です。ならば、英語への参入障壁を減らせばいいと考え、後者の「英語を使わなくて済むようにする(効率向上)」を取りました。

次に「アドバイス」です。
研究初心者の学士や修士、博士の学生などはやはり、1人では研究できません。先生からのアドバイスが必要となります。しかし、やりたい研究に関して、全て教授が知っているわけではありません。別の専門分野を扱うことが多いです。さらに現代では融合領域も増えているのでそういった事象は多いのが現状です。

そこで、気軽なマッチングプラットフォームがあればいいのではないか?と考え、英語の参入障壁を減らし、かつアドバイスを自分以外のフィールドの人に聞くことのできるサービスとしました。

◆開発環境、言語の選択

ニーズややることが決まったら次は、開発です。ここでもどのようなものにするのか、設計が必要です。

・スマホアプリかwebアプリか
・API主体とするのか自ら構築するのか
・メインとなる機能が先か、あらゆる機能を同時並行か
・実務に近いのはどういうものか

などなど考えることは、様々です。僕たちの目的としては実務にどれだけ近づけるのかです。

その中でも、勉強になったのが、「API主体とするのか自ら構築するのか」です。
会社に属するという想定のもと考えると、顧客情報が必要となってきます。そうするとGCPやAWSにデータベースなどを投げてしまうのは、ある意味で損です。APIを主体とするのではなくherokuなどを活用して、データベースを構築し、カスタマイズ性も高めた方がいいと判断しました。

このことは、技育展でのサポーター面談との会話で気付かされたことです。たしかに、それは面白い、と思い、データベースはプラットフォームに投げることなく、自分達で行いました。

webアプリにしましたが、ここでわざわざ自ら全てを構築する必要はありません。typescriptでの型安全で、大規模を考えた将来的なアプリ設計、そしてNext.jsとpostgresqlなどでの高速化も含めて考えました。その中でも1ヶ月で考えれる中でも英語の翻訳などは自ら構築する必要はなく、deeplapiを叩くことなどにしました。そこで以下のようになりました。

◆システム構成概要

MPFARのシステム構成


2回のチーム開発で編み出したちょっとしたノウハウ

◆チームでの開発

3人チームでの開発なので、そこまで多くじゃないものの、ある程度の進捗管理と能力値に合わせた実装などをしていかなければなりません。

環境構築については、僕自身がほぼ全てやりましたが、そこから様々なところは任せました。そこで役立ったのがzenhubです。

アプリ開発での進捗は様々なものがあります。trelloを使っていたり、slackのみでの管理、github上でのprojectでの管理などがあります。僕はそこで、zenhubというツールを選びました。

このzenhubはgithub上でtrelloのUIのように操作できるのが特徴です。そして、それらも全てslackにつなげて通知できます。この機能の多さには驚きです。

◆slackとgithubの連携

slackはgithubとの連携ができます。これによりissuesを投げた時、pull requestなどがきたときに通知がきて、内容をslack上である程度、知ることができます。なので、自分がスマホであっても、通知でみることができ、対応が遅れることが少なくなります。

◆slackで #links というチャンネルを作る

slackは様々なところにURLを置くことができます。チャンネルの上にアイコンで作ることもできますよね。

しかし、URLが増えすぎるとどれがどれだかわからないことがあります。そこで、重要なミーティングURLやデザインの共通プラットフォームのURLやgithub repositoryなどは #links というチャンネルを作って管理していました。

【Github Repository】
https://xxx.x.x.xxxxxx.xx.x.xxxx/x/x/xxxxxxx/xxxxx/
【Figma URL】
https://xxx.x.x.xxxxxx.xx.x.xxxx/x/x/xxxxxxx/xxxxx/
【Google Meet URL】
https://xxx.x.x.xxxxxx.xx.x.xxxx/x/x/xxxxxxx/xxxxx/
【Google Drive URL】
https://xxx.x.x.xxxxxx.xx.x.xxxx/x/x/xxxxxxx/xxxxx/

slackチャンネル #links でつくるリストの例

これをすることにより、今日のミーティングのURLはどこ?とか、figmaのURLなんだっけ!のような会話で時間を割くことは無くなります。

 ◆ミーティングはgoogle meetで30分以内

基本的に、みんなはミーティングが嫌いです。雑談を冒頭からずーーと聞いたりしているのも嫌いです。ミーティングと言いながら、最初に1時間も喋られて、僕はキレたこともあります。

なので、30分でスパッと終わって、自分達の役割が明確化して、エンゲージメントが高まったまま作業を始めるようにしました。


さいごに

ながなーーーが書きましたが、言いたいことは技育展だけでなくとも、こういったコンテストに出てみることはとても勉強になることが多いということです!ビジコンでもエンジニアとしてのコンテストでも何か目標ややらなければいけない期間があると人間やります。(たぶん)


サポーターズの皆様、サポーター企業の皆様、技育展に出た登壇者のみなさん、今年もありがとうございました!!

この記事が気に入ったらサポートをしてみませんか?