断捨離は苦手です。

捨てられないモノもブログなら残しておいていい気がする。

エイチームインターンで優勝して悩んでしまった話

イキリタイトルすいません。表題の通りですが、一晩寝てちょっと冷静になったところで振り返ってみます。結果が出せて素直に嬉しい反面、煮え切らない部分も結構多いので、その記録とか。

 

インターンの概要

これからの話の共通認識として、インターンの概要について書いておきます。

プログラム全体で3日間、1日目お昼に集合してガイダンスののち、1日目午後〜2日目午前が前半戦、2日目午後〜3日目が後半戦のいわゆるハッカソンインターンでした。インターン生は全員同じホテルに宿泊するので、やろうと思えば夜通し開発することも可能です*1

前半戦と後半戦で順位に応じてポイントがつき、その合計で順位が決まるというものでした。後半戦の得点は前半戦の2倍なので、一発逆転が狙えます。

 

目標

初日に今回のインターンでの目標を設定するのですが、今回個人的にもっとも重視していたのが

  • チームのアウトプットを最大化する

ということでした。夏にハッカソン型のインターンに参加した際は僕ががっつりチームを引っ張っていく形になりましたが、そのとき痛感したこととして「自分の最大値がチームの最大値になってしまう」ということがありました。話し合いの内容や実装に関してほぼ自分が全権を持つ形になってしまったため、「実装の面で個人開発よりちょっと馬力があるだけ」になってしまった僕たちは、結局僕より実装力のあるメンバーがいたチームに負けてしまうことになります。今回のインターンではそのリベンジも兼ねて、個人としての能力の発揮というよりはチームとして、「1+1を10にするにはどうしたらいいか」を考えたいと思っていました。

初対面のメンバーは、みんな実装力にはあまり自信がない感じ。僕に至っては今回インターンで使用するrailsの環境構築を数日前に終わらせた程度。一方でなんか知らんけど「1位を取りたい」という思いだけはみんな持っているようでした。雑談の中で「1位が取りたい」と言葉に出して共有するとみんな同意してくれて、火がついたように感じます。言葉に出して目標を共有することってすごく大事だと思いました。

 

前半戦

前半戦は「社内で使用している業務システム(の改悪版?)に対する具体的な要求をどれだけ実装できたか」を競うものでした。 実装力に自信のない僕たちは、お互いに質問し合うこともなく黙々と作業していくようになります。

実装していて詰まることは誰しもあると思いますが、実装力に自信がないから質問するのが恥ずかしい、質問しないからわからない、わからないけどみんなが質問しないから質問できない、という悪循環になってしまい、1日目終了時はお通夜でした。聞けば数秒で解決することで数十分溶かすなど、大したことではないところで詰まっている、けど雰囲気として質問しにくい、という状況にお互い陥っていることを確認して、2日目からはそこそこ質問が飛び交うようになりました*2。しかし実装しきるところまではいかず、前半戦は7チーム中6位で終了。というより「最下位じゃない!」といって喜んでいる感じでした。レベルが低い笑

ただ、お互いに質問できる雰囲気ができたこと、メンバー同士は仲良くなっていろんな話ができるようになったのはとても良かったと思います。夜ホテルに帰るときも、朝オフィスに向かうときもメンバー全員で行動していました。

 

後半戦

後半戦は「前半で扱ったシステムに対してヒアリングなどから課題を自分たちで発見し、実装の成果をデモを交えて発表する」というものでした。新卒/中途、入社からの年数、役職、子会社の所属などから誰にヒアリングをするかも自分たちで決め、プロダクトイメージを練ってから実装に移ります。

議論が堂々巡りになって2日目解散時点では全く実装が始まっていなかったのですが、企画段階で良かった点としてあげるとすれば

  • いろんな実装を手広くするのではなく、メインの機能1つに絞ってそれについて深掘りするという方針が取れたこと
  • 評価項目*3から逆算して戦略を練ったこと
  • 実装に自信がない分、それ以外の面でチームに貢献しようという意識がそれぞれで大きかったこと

という感じになると思います。

前半6位だったため、一発逆転を狙うならとんでもないプロダクト案を出さなければいけないという意識が働いていましたが、少しそれにとらわれ過ぎていた印象もありました。実装のできない我々が「作りきれたか」という評価項目の中で戦うためには、ある程度実装の時間を確保しつつ、またある程度簡単な実装でインパクトをだすということが必要でしたが、そのバランスに苦労した覚えがあります。

2日目終了時に実装が始まっていなかったので、当然ほぼ徹夜状態で5時くらいまで作業をしていましたが、ある程度完成イメージが見えてきたところで体力も尽き、解散しました。夜の段階でプレゼン担当が発表資料を作り終えていたのも大きかったと思います。

3日目は寝坊したので慌てて荷物をまとめてチェックアウトして*4、ギリギリまで実装し、なんとか1回発表練習をして、本番に臨みました。他の班の発表を聞くと「意外と我々いい線いってるのでは?」という思いがチームに広がり、発表前から嬉しかったのを覚えています。

結果発表は総合3位から順に行われたのですが、総合2位で前半1位のチームが呼ばれた時に勝利を確信しました。後半戦は5つの評価項目全てでトップのダントツ1位だったし、普通に使いたいと社員さんからも言っていただいて、素直に嬉しかったです。

 

振り返って

今回の勝因・成果

結果発表後、メンターの方から3点、今回の勝因としてお話をいただきました。

  1. 自己開示がきちんとできたこと。目標、困っていること、強みを共有し、お互いを認め合えたこと。
  2. 1位を取るという共通認識ができたこと。
  3. 素直だったこと。メンターからのアドバイスを受け止め、消化して活かすことができたこと。

この3点に共通することとして、「思っていることをきちんと言葉に出す」ということがあります。1位が取りたい。雰囲気として質問しにくい。このメソッド呼び出せないんだけどどうするんだっけ。私はプレゼンが得意だから任せてほしい。今回の評価項目ってこれだったよね。我々は実装が苦手だからこういう方針で攻めるといいと思う。面談でこんな話したんだけどどう思う?……そういうことをきちんと言葉に出して共有し、必要があれば議論し、方向を修正していく、それができたことが勝因であり、かつ今回の大きな収穫でした。

 

自分が貢献できない方が結果が出たというジレンマ

となると、マネジメントってとんでもなく難しいなあと思います。自分が実装面であまり貢献できなかったからこそ、今回は「みんなの心理的ハードルを下げる」ことでチームがいい方向に向かっていったわけですが、これだけを見ると「マネジメントをする人は技術力がない方がいい」ということになりませんか? いやきっとならないんだと思いますけど。「自分が"強い人"としてチームに配属され(てしまっ)た場合に、どう振る舞っていけばいいのか」が今後の課題でしょうか。

「マネジメントをする人は普通に考えたら実装力とかすごい人なわけだけど、そういう人があえて自己開示をすることに意味がある」んでしょうか。あるいは「実装をしていても持てる余裕の部分でメンバーの強みを把握したり、仕事の分担や進め方について考えることが大事」なんでしょうか。うーん。きっとメンター的な立場での振る舞い方と、立場的には同じだけど自分が一番強そうという状況での振る舞い方も全然違うんだと思います。

 

俯瞰して逆算すること

結局これに尽きるなという思いもあります。

  • 評価項目に「作りきれたか」とある → 我々に実装力がないことは前半の結果から明らか → 実装の負担を減らしつつ、ひとつの機能に絞ってインパクトを狙おう → すると「思いもよらない機能」という評価項目にもマッチする
  • 総合1位が取りたいが、前半は6位だった → 後半で1位が取れた場合、前半1位のチームが2位にならなければ優勝できる → 後半で1位になることだけを考えてあとは祈ろう

こういう思考にいたることができるのも、最初に目標を共有していたからこそなんですかね。

一方でタイムマネジメントの観点では俯瞰や逆算ができていないことも多く、ギリギリのところでメンターに救ってもらうことが何度もありました。自分がちょこちょこ時間を気にして、あと何分だからやばいよとか声をかけるようにしてはいたのですが、開発に没頭してしまうとそれも難しくなります。そのあたりの機転の利かせ方についても今後の課題です。

 

ターゲットを絞ることで、ターゲットが広がる

万人に使ってもらおうと無難なプロダクトを作るより、ターゲットを絞って尖ったものを作った方が、結局は使ってくれる人が多いのかもしれません。ターゲットの外にいた人もその良さを感じてくれて使ってくれるとか。今回その点では検証とかしてませんけど、感覚的にそう感じました。企画の醍醐味ってここにあるのかも。

  

ポジティブは正義

ポジティブってすごく大事ですね。メンバーにひとりありえんポジティブな人がいて、1日目の段階で6位と言われていても、帰りの電車の中で「いやそれはもう優勝」とかばかり言っていて半分呆れていたのですが、それだけ何度も優勝優勝言われているとこちらもその気になるというか、気がつくとみんな優勝ありきで物事を考えられるようになっていました。メンターに「1位取りたい?」と聞かれた時に、どんなに追い込まれた状況でも全員が「取りたいです!」と即答できたのは、本当にすごいことです。

前半で「最下位じゃない!」と喜んでいたのも、環境構築から数日なのに「1位になりたい」とか言い出すのも、結局はポジティブの賜物かもしれません。

 

ヒアリングの大切さ

チームに関係ない話題についてもちょっと触れておきます。自分で満足するシステムを作って、こんないいシステム作ったから使って!と言ったはいいものの、誰も使ってくれなかった、、ということはエンジニアならあるあるかと思うのですが、実際に使うであろう人にヒアリングして、どんなものを作ればいいのかを客観的に分析し、かつ自分たちも使いやすいと思えるシステムを作ることの大切さを学びました。プロダクトは使ってもらってなんぼですからね。

 

「業務システムを改善する」ということ

今回のテーマは社内の業務システムだったので、あくまでも業務のサポートとしての位置を求められているわけですが、業務システムを高機能にしすぎてしまうと本来メインであるはずの通常業務を圧迫してしまうということにジレンマを感じていました。結局この点については時間の制約上妥協してしまったのですが、いつかどこかで答えが出せるといいなと思っています。

 

 

というわけで課題も成果も色々なことが得られたインターンでした。社員のみなさまありがとうございました。これからも頑張っていきます。

1位をとったのでそこそこの額をいただいたのですが、せっかくなのでこれからのキャリアに繋がるものを買いたいなと思っています。なんだろうね。アイデア募集。

*1:2日目解散時のメンターさん曰く「徹夜を強制はしないよ笑」。エナジードリンクが差し入れられる時点でお察しですが、まあ開発してこそのインターンなので。

*2:ポモドーロタイマー的に30分ごとに進捗報告・相談タイムを設けたのもよかったと思います

*3:1.課題へのアプローチが良いか 2.作りきれたか 3.プレゼン力 4.技術的難易度 5.想像を超えた機能があったか の5つ

*4:朝の集合時間を1日目の夜に決めておいたので助かった