見出し画像

未踏ジュニア振り返りと、技術力に差があるチーム開発の僕なりの攻略方法

間も無く色々あった2020年も終わりを告げようとしています。
この一年を振り返って見た時には未踏ジュニア2020に採択され、半年間開発したことが僕の一番の思い出になりました。


その中でも特に相方とのチーム開発では色々な事を学ばせてもらい、感謝しかありません。
相方は小学生の頃からコードを書いているようなガチガチの人で、僕は数ヶ月前にプログラミングができるようになったよわよわ高校生です。
とても同級生とは思えなかったな。。

ということで、そんな技術力に天と地の差がある2人がどのように開発して、円満に終われたのか、2人ともスーパークリエータとして認定して頂けたのか、そこには色々な知見が溜まっていると思うので、僕が再びこのような壁にぶつかった時や、すでに悩んでいる人の参考になればいいなと思って書くことにしました。

あくまでも僕目線での投稿なので周りがどう思っているかは知りません。

▼私たちの半年間の成果物

私たちが開発したcriticaは『簡単』にフォームを作り、『簡単』にリアクションを回収するサービスです。
従来のアンケートフォームには無い、ユニークな回答方式があったりするので是非一度覗いてみてください。(使った感想などいつでもお待ちしています!!)

相方との出会い

▼僕が相方に初めてコンタクトを取ったDM

スクリーンショット 2020-12-24 19.54.27

出会いはtech系のイベントで、「面白い高校生教えてあげる。」と教えてもらったことから始まりました。初対面なのにこんな失礼なDM送って、無視されてたらどうするつもりだったんでしょうか..ww

スクリーンショット 2020-12-24 19.58.23

なんとか返事がきて、早速会う約束をしました。
(知り合ったのも実は今年の始めで、出会ったばっかりの相方なんです。)

▼初めて会った日。気が合いすぎてその場でブレスト

初顔合わせで、特に何をすることも考えていなかったのですが、あまりにも気が合いすぎて、その場で未踏ジュニアに応募する事を決めました
そして早速ブレストをして帰ったのが出会った初日です。

提案とプロトタイプの開発🛠

未踏ジュニアへの応募には提案書を書く必要があります。
💡参考 -応募の手引き-


最近はプロトタイプを提案の段階で開発し、自分たちが作ろうとしているものを実際にみてもらったり、実現可能性を証明するPJが増えてきているようです。(必ず必要とかではない)

この時私たちはWEBアプリケーションとLINEBotの両分野でサービスを展開する予定だった(相方がWEBアプリが得意で僕がLINEbotが得意だったため)
弊PJもプロトタイプを面接までに開発しようとがんばりました。僕はAPIの開発やLINEBot開発をメインに行い、プロトタイプの段階ではしっかりと役割果たせていたつもりです。

採択までの審査期間

この期間は本当に体に悪かったです。毎日ドキドキしていました。特に僕たちのPMである関さんのツイートをみるたびに震えが止まりませんでした。

僕たちは書類の1次審査、Zoom面接の2次審査、そしてコロナの影響などを考慮しつつ自分たちの提案の価値がどこにあるのかを伝える2回目の2次審査がありました。

スライドは僕が最初に叩きを作り、相方に修正とデザインをお願いするという方式でやっていたのですが、これが意外と成功してスムーズに質の高い資料が作れたと思っています。最後の成果報告までこの工程を貫きました。

採択後~マイルストーンの作成

採択後、関PMも含め、6/5に初回ミーティングを行いました。そして、マイルストーンを立て、半年後にはどのようなサービスになっていたいか。などをブレストしました。この時のブレストの方法は、5分間それぞれが思う事をひたすら文字に起こして、それを5分後にお互いに発表し合うというものです。

▼僕がその時書いたやつ。「半年後何ができていたら嬉しいか

スクリーンショット 2020-12-25 0.56.06

これらを持ち寄って僕たちの欲しいサービス像を明確化していきました。
そこから、最終的に目指す結果(KPI)を決めたり、それそれを達成するために必要な機能、そしてその中でも最低限必要な機能を区別化し、目の前のタスクと半年間のマイルストーンを作成しました。

しかしこのあとから僕の自信がなくなる出来事が起こります。それはPJが始まってから約2週間後の6/17のPMミーティングで、「いかに早くユーザーテストを回すか」といった観点から、LINEbotの開発を後回しに、WEBをメインにすることになります

プロトタイプの開発をしていた時からも感じていましたが、両方から開発をしていくと、仕様を整える必要もありますし、なかなか開発効率が落ちるのも確かです。僕はLINEbot担当として応募しましたがプロジェクト開始2週間でその仕事は一旦なくなることになりましたw
しかし、その当時はLINEbo以外の開発をやったこともなく、何を開発するにも本当の0からのスタートだといっても過言でもありませんでした。

プロジェクト本格始動~最初の壁

LINEBotの仕事が無くなったぐらいから一気に僕のチームとしての貢献度僕がいる意味などを頻繁に考えるようになっていました。

とりあえずフロントの勉強はしていたのですが、なかなかコードをcontributeするほどうまく書くこともできず、サーバー側のタスクを消化しながら、ユーザーテストをする機会を本気で探しながら、自分の役割を模索していました。

プロトタイプからの継承で当時はサーバレスアーキテクチャでしたが、Lambdaのコールドスタートが原因か、APIのレスポンスがとても遅く、アプリケーションとして『簡単』とは程遠いものでした。そこで大改築を行います。
▼成果報告資料参照

スクリーンショット 2020-12-25 1.14.52

LINEBotはAWS LambdaやDynamoDB,API Gatewayなどを使っていたので知識として大体ついていけていたのですが、このアーキテクチャ変更で使ったことの無いEC2と同じく使ったことの無いPostgreSQLという未知との遭遇になりました。このような中で開発が進みます。

コードが書けるようになりたいと思うきっかけ

先ほどの章までに書いた通り、提案書を書いている時には想像できないような構成でプロジェクトが進むことになりました。

しかし、これまでもそうだったのですが、新しい技術を使う時、僕が『わからない』って言った時にはいつも何時間も時間をかけて相方は僕に説明してくれました。この時間は今でも心に残っていますし、本当に刺激と感謝を感じた時間でした。

▼いつもこうやってZoom勉強会を即席でやってくれた

僕だけ勉強会-100

いつのうちか僕は大切なことに気づくようになります。

『僕なんか役に立てない』

そんな事を思っている方が迷惑なんだってことに気づくことができました。

一刻も早くプロジェクトを良くするために動くことが僕の第1の役割だったのです。

それからというもの、技術力なんかに関係なく今のプロジェクトの課題であったり、最優先に考えるべき課題について相方と真剣に向き合えるようになりました。

プロジェクトに貢献し続けられたモチベーション

自分の中ではこうして落ち着かせてきたのですが、何よりももっと開発したい相方と一緒にやっていきたい!と思う瞬間がこの半年間には何度もありました。それは

『自分の進捗に対して相方が心のそこから褒めてくれる瞬間』です。

僕の相方は本当に良いと思った時、心のそこから褒めます。
特にその対象が僕の進捗物に対してであった場合、僕も心のそこから嬉しくなりました。正直な話、半年間がんばれたのは相方への承認欲求だったのかもしれません(良い意味で

逆に、完成度が低かった時は正直に細かいところまで全て指摘してくれました。

常に全力でやっていたので、厳しく言われた時はとっても凹んだ時もありましたが、次は絶対に失敗しないと本気で反省できたのでとても良い経験だったなと今では思います。

また、もう一つ大事だなと思う瞬間がありました。それは

『完璧な相方よりも僕の方が得意なスキル見つけた瞬間』です

ひたすらいろんな仕事に挑戦してみていると、自然と相方にすごいね。と褒めてもらえる瞬間が来て、それは相方よりも僕の方がスキルが高かったりすることもあります。こうやって補え合える点を見つけるのもすごくモチベーションアップに繋がりました。

ちなみに僕が具体的に相方よりも得意だって言ってもらえたところは

・UIのデザイン(ボタンの配置であったり細かい変化であったり)
・ユーザーテストをするべく、イベントに定期的に参加する
・リアルの人への直接のインタビュー(家系が商売人なので対人は得意)

などがあります。チーム開発、お互いのできることできないことを補い合うのが相方の存在ですものね。

ほかにも、コードレビューを全てのコードにおいて相方が読むルールだったのも大きいと思います。
最初の頃はこんなに技術力に差ががあるのだから、僕がreviewするなんて持っての他。なんて考えていました。だけど、隅々まで読んでみるとスペルミスをしていたり、実際にローカルにブランチを持ってきて動かしてみると全く動かないなんてこともたまにありました。
このようなところでも僕が活躍しました💪✨

自信を持って開発に徹したプロジェクト後半戦

このようにプロジェクトが中盤-終盤になっていくに連れて、初期の時に考えていた自分の存在意義などのネガティブなことは一切忘れて開発に立ち向かっていました。
だんだんとリポジトリのcontributeも増えてきて後半戦は特にめちゃくちゃ楽しかったです✨

『○○の機能欲しいね』みたいに僕が言うと
『じゃあようかんが実装してね』と相方から返ってきます
それが数時間後にはなんとか実装できるレベルには成長できました。

この半年間のプロジェクトはあっと言う間でした。でも今まで書いてきたようにいろいろなことがありました。
相方はどんな風に思って開発してきたのか想像もつきませんが、相方もいろいろ悩んでくれたことだと思います。ありがとう。

相方のおかげで僕はここまで成長することができました。

まとめ

引っ張ってもらった側として思う技術力に差があるチーム開発を円満に進めるためには

引っ張ってもらう側
・本気で吸収しようとする、とりあえずわからん単語はメモして検索。
・それでもわからんことは素直に全部聞く。
・自分の言葉で説明し直して確認する。
・技術力なんか関係なく、プロジェクトに積極的に意見を出す。
引っ張る側
・成長やしっかりした進捗を出した時は心の底から褒めて欲しい。
・進捗止まってたら「どうなってる?」って積極的に聞いて欲しい。
・定例会だけでなく定期的にミーティングを挟んで欲しい。
・何度も聞かれても優しく答えて欲しい。(何度目や?って言うのは大切)

両方
・常に思っている事を共有する
・とりあえずポジティブに!

相方へ

ゆうせいと過ごしたこの半年間は本当にかけがえのない期間になりました。本当にありがとう。どこのチームよりも、毎日のようにやったチームMTGもとっても楽しかったです。slackの半年間のチャット数は5200件。これからは若干距離は離れてしまうけれど、criticaのこれからも含めて今後ともよろしくお願いしますね!!

教えてもらった数えきれない知識や経験はまた僕が教える側になった時に全力で教えることで恩返しとさせてください。

ゆうせいは僕のことが大好きなんだと思っています。
だからここまで仲良くやって来れたんだと思います。
僕も大好きです。うあああああああああああああ!!
本当にいい相方に恵まれました。ありがとう。

関PMへ

半年間、関さんと毎週MTGをして、たくさん教わった経験は、まだプログラムを終えて二ヶ月ほどしか経っていないですが、いろいろなところで役に立っています。
議事録の取り方、アイデア出しのコツ、タスクの細分化のコツ、モチベーションの維持 、プロジェクトを上手く進めていく考え方などが僕が今メインで動かしているPJにおいて本当に活躍しています。
最後のMTGで「よく伊藤くんについてきた」と言っていただけたのは本当に嬉しかったです。なかなかPJミーティングで発言をうまくできなかった僕はPMからどんな風にみてもらえているのはわからないところもありましたが、僕なりにできる事を考えてやってきた成果だと思いました。
もっとPJミーティングで積極的に発言できればよかったのですが、そこは今後、もっと自信を持って意見を言えるようになり、改善点として頑張っていきます。
本当に本当にありがとうございました。
感染症がおさまってきたら必ず相方と一緒にお会いできるのを楽しみにしています。

終わりに

エンジニアのチーム開発として、そもそもエンジニアとして一人前出なかった部分も多かったですが、いっぱい成長したのでオールOKです。

これまでの出会いや機会に一つ一つ感謝を味わいながら、今後も幅広く挑戦を重ねていきます!!

もし未踏ジュニアに応募したいなと考えている人は本当に勇気を出して挑戦してみて欲しいと思います。挑戦する事で何か必ず学ぶことがあるはずです🔥🔥🔥

▼今年の審査期間の僕たちをドキドキさせたツイート
(来年のPJの計画の参考になるかも...)

おわり

2020/12/25

--追記--

相方から反応が!!

関さんから反応が!!


公開する前日は公開するか悩んでいました...

やっぱり公開してよかった!!
なんでもやってみるものですね。 

今は自粛していますが、普段はオフラインイベントに行きまくっています!交通費を援助してくださる方がおられれば嬉しい限り..