高校生がオンラインインターンのチームリーダーになりました
はじめまして。
タイトルにもある通りですが、オンラインインターンでチームリーダーを任されました。
「高校生がチームリーダー」という世の中でも珍しい事例だと思うので、自分が経験したことや大変だったことなど、素直に書いていこうと思います。(高校生で仕事してるスゴい人も中にはいますが笑)
興味がある方は読んでくださるとうれしいです。
参加させていただいたインターン
インターンの募集が開始するころ、私は新しいアプリ案を考えていました。そのアプリ案の実現にfirebase必要だなと思っていて、ちょうどよく学ぶ場を設けてもらったようなものです。
こちらのツイートがきっかけで、今回Stamp Inc.さんのインターンに参加させていただくことになりました。
インターンの概要
Stamp Inc.さんはFirebaseという技術において国内の実績があります。
(私はそのことを知らずに無我夢中で応募しました。後から知って驚きました。)
こちらのインターンでは複数のプラットフォームでfirebaseを扱います。
私はFlutterを一年ほど使ってきた経験があったので、プラットフォームはFlutterを選択してfirebaseの学習と開発に取り組んでいます。
ほかのプラットフォームはiOSとwebがあります。
また大きな特徴として、書いたコードはOSSとして誰でも見れるようになっています。
参加者は大学生・社会人の方がかなり多くの割合を占めています。
リーダーになった経緯
一言でいうと立候補です。
今回のインターンでは、プロジェクトごとに各プラットフォームでリーダーを決めることになっています。
Flutter班では、リーダー立候補が他の参加者から挙がることがなかったので、責任も伴いますが自分が立候補しました。
プロジェクト
chat-flutterというFlutter製チャットアプリを制作するプロジェクトを担当しました。
OSSとしてGitHubに公開されています。
このチャットアプリを6/14から7/14の間で完成させます。
ここから週ごとにプロジェクト状況を振り返っていこうと思います。
0週目
ほかのプラットフォームは1週目から入るところを、Flutter班はやる気が溢れていたことから1週間ほど早くフライングスタートを決めました。
プロジェクトの始まりということでやる気だけでなく、やることも溢れていました。
これらをどのように進めていくかをリーダーは決める必要がありましたが、そこそこ上手い立ち回りができたと思います。リーダーとしてやったことは
です。
チームで大事なのはコミュニケーションだと子供のころから言い聞かされてきました。言われた通りの従順な犬になるのは嫌いですが、コミュニケーションの重要さは小中学校とリーダー的ポジションを経験して実感しているので、真っ先に自己紹介の顔合わせを実施しました。
また私だけでやったことでUIイメージの作成があります。これを作ることで皆のアプリイメージを固まらせることができたと思います。個人間のイメージのすれ違いを防ぐためにも、イメージの共有は大事です。
0週目の私の感想です。二つの発見がありました。それは、
です。
まずチームメンバーの優秀さです。初期のチームメンバーは自分を合わせて3人でした。一人目は「firebase数年やってて実務でも使ってるよ」という方、二人目は「firebase分かるよ」という方でした。
それに比べ私の技術力のなさです。チーム開発で必須になってくるであろうGitHubも十分に扱えていませんでしたし、firebaseもインターンを通して学べると思い、知識が完全に0の状態でした。(あとはMTGがミーティングを意味しているとかの社会用語?も分からずボロボロです。)
さすがにリーダーがこのままだとまずいと思い、開発に加えて主にGitHubの本を読んで学び、0週目ではなんとかチーム開発できる状態まで成長しました。
これだけでもインターンに参加した価値があったとしみじみ感じていたことを覚えています。
1週目
開発開始から1週間が経過して、チャットやミーティングを通してメンバーと打ち解けるようになりました。新しいメンバーも入ってきました。しかしメンバーがそれぞれの事情で忙しくなり、プロジェクトに参加できる時間が減少したのを感じました。
自分は幸い、忙しい状況ではなかったためメンバーの穴を埋めるために努力しました。他のプラットフォームのチームでは開発が進んでいました。
1週目でやったことは
です。
メンバーの中でUI作成に慣れていない方がいました。その方は自分にそのことを相談してくれました。とてもありがたかったです。
UI作成を得意としていた自分は、長所を生かすことができ、チーム全体の開発も大きく遅れることはありませんでした。その方はfirebaseが得意とのことで、「今度はfirebaseで自分を助けてくれ」とお願いしました。笑
チームの中の助け合いを実感できてよかったです。
先ほども言ったとおり、新しいメンバーが入ってきてくれました。
入ってきてくれたのは二人です。一人にはファイル・ディレクトリ整理の仕事を振り、もう一人はfirebaseの実装から開発に入ってもらうようにしました。
1週目の私の感想です。個人の事情で戦力が減ってしまうのは、自分にとってもグループにとっても多少モチベの低下につながってしまったと感じました。人間、なにかを得た時よりも失った方がマイナスが大きいそうです。
今回の場合もやはりそうで、モチベの向上にどうやって繋げようと考えました。考えた結果、自分が積極的にSlackに開発に関する進捗を頻繁に投稿するようにしました。進捗だけでなく、プロジェクトに関わってきそうな技術の記事を載せたりしました。
つまり何をしたかというとグループの活性化を図りました。投稿するだけでは開発のスピードはそこまで変わりませんが、メンバーから反応が来るとやはりやる気が出るものです。しかし「Slackに頻繁に投稿しよう!」という指示はメンバーには送っていません。理由は支持される側に自分を置いてみるとよく分かります。投稿が義務となることで「めんどくさい」といった感情が起きてしまい、やる気の低減につながってしまう恐れがあったからです。
あくまで自分が盛り上げ役となって、それに呼応する形でメンバーにもついてきてもらいたかったんです。それは実現できました。メンバーがいい頻度で投稿をしてくれるようになりました。他のメンバーにもリアクションを付けたり返信をしたりして、グループが活性化したと思います。いい週でした。
2週目
2週目では、完全に参加できなくなるメンバーが出てきました。先週、二人メンバーが増えましたが、0週目から頑張ってきてくださったメンバー二人の参加が難しくなり、チームは3人になりました。
メンバーが参加できなくなる事態を想定していなかったので、noriさんには完成が遅れる可能性があると正直に伝えました。手遅れになる前に、早めに相談できてよかったです。
2週目では、
を行いました。
サイズの統一化はコードレビュー時にnoriさんに指摘されたので、その仕事を作ってメンバーに割り振りました。しかしメンバーが参加できなくなったため自分が担当しました。(なにか起きたら自分に振るようになっていることに気づきました。もっとメンバーを頼ってもいいのかもしれません。)
firebaseの導入というのは、chat-flutterアプリをfirebaseに登録しただけです。
アプリのパフォーマンスを考え、stateNotifierの使用を検討しましたが、時間との兼ね合いもありChangeNotifierを使う事に決定しました。
2週目の私の感想です。リーダーの私ですが、このころ高校の課題が増えてプロジェクトに参加する時間が減っていました。なのでまともに仕事も割り振れずに2週目を終えてしまいました。申し訳なかったです。
firebaseの設計にアプリのパフォーマンス改善とやるべきことが明確になってはいますが、手の出し方が分かりませんでした。
しかしあることにすぐ気づくことができました。それは「自分の技術力のなさ」、そして「メンバーの優秀さ」です。迷ったらメンバーに相談することを覚えました。これでなんとかプロジェクトが動き出すことに成功した気がします。2週目は大変な週でした。
3週目
プロジェクトが進むにつれて、メンバーが作業できない、時間をとれない等の問題がかなり多くなりました。日程的な相談に関しても、そもそもミーティングで人が揃わないことも多くなり、プロジェクトは残念ながら停滞しました。
4週目~
メンバーもほとんど参加しなくなったので、インターン担当の方と個人的にやり取りし、なんとかアプリを完成させました。
最後に
このようなリーダーを初めて経験しました。
自分がインターンを通して押さえておくポイントをまとめると、
です。
とてもいい経験になりました。その言葉しか出てきません。
読んでいただいてありがとうございました。
この記事が気に入ったらサポートをしてみませんか?