私が大学のサークルを通して学んだこと、そしてやり残したこと

これから教訓と後悔を残す。

🚧 !これは参考にしないでくれ! 🚧

組織は1人目だけではうまく回らない

僕はサークルが盛り上がるといいなあと思って1年目、2年目を過ごしていたが、2年目はコロナ禍に入ってオンラインになったこともあってほとんど暖簾に腕押しのような感覚が続いて自身も疲弊してしまった。

今考えてみると1年目が不思議な状態で、2年目の辛い状態が普通だということが分かる。立ち上がりは基本何もない。慣例とアイデアとイベントと人手と機会、何もかもが足りない。自分のサークルに対するスタンスもふわふわしていたのでかなり辛かった。

3年目はほとんどサークルに貢献できていなかったように思う。2年目が厳しすぎたので、なんとなく広く浅く貢献するというよりは、特定個人と仲良くなる、一対一を意識して声をかけることを意識していた。誰か助けて!と言っても誰も助けてくれないからそこの赤い服の人!と特定して要請するように、少し勇気はいるけど特定個人に絞って声をかけることは重要だ。

4年目は正直これまでに比べてかなりうまく行った。正直メンバーが自律的に動き出したのは3年目の末に入ってくれたメンバーのお陰で風向きが変わったことが大きい。代表も引き継いでもらえることになった。

僕はこの過程で、うまく組織として回り出すために、すなわち個人個人が自律的に好き勝手に動いてアイデアを出したりするようになるためには、2人目が重要だと学んだ。特に、サークル運営視点の人がそういう2人目になりやすい。運営側・参加側と明確に別れているわけではなくても、定例会をいい感じにするにはどうしたらいいかとか、ハッカソンが終わった後にどういうチーム決めが満足度が高いかとか、そういう議論に付き合ってくれる人が現れると、組織としてうまく回る。

✅ だから、組織は1人目が無償で目一杯注ぎ込むだけではうまく回らない。そのノリに付き合ってくれる2人目が現れて初めて回り出す。

オンライン主体の難しさの本質は流れるものの足りなさにある

2年目はオンラインになって苦しかったが、反面僕としては良かった面も多かった。大学に行くの面倒だし、帰りが遅くなるのもそんなに好きではない。

2年目は先輩がLT会を開いてくださったりして面白いところもあって、これも時勢の影響ではあるが結果的に他の地域の人との交流ができて面白かった。

ただ、オンラインが苦手な子も多い。苦手があることは直すべきとか劣っているとかそういうのは本当になくて、ただ苦手であるという事実と、それに対しその子が真にやりたいことを見つけるためにどういうパスが用意できるか?ということを考えるべきである。

僕は基本的に「やりたいことがある人を応援する」というスタンスで場を作ることを目的としているので会話が重要だと思っていた。だから話を振ったりしていたのだけど、どうにも僕が司会みたいになってしまって、一方向に感じてしまうことが多く悩んでいた。もっと対話がしたい。

オンラインが苦手、というのは詰まるところ、「オフラインだと隣の人と会話できるから一対一なんだけど、discordだと大勢の中で発言する必要があって通知もいくしなんか怖い」が大半なのではないかと思う。クラスLINEで発言するのは勇気がいる現象と同じである。

これはもう少し考えると、「フローが少なければ、フローを流す労力は増大する」ということだと考えている。フローとはその場限りで流れていくもので、対極にあるものはscrapboxにまとめを書くようなもので、これをストックと言う。フローは会話やチャットで、どんどん流さないと流れにくくなってしまうという側面がある。また、ストックはフローが一定量流れていないと生成されないので、場を用意してもフローの量が少なければストックは生成されない。

オンラインは基本的にチャットが主体で、オフラインは会話が主体である。基本的に発話よりテキストの方がコストが高いのでフローが少なくなり、さらにフローが流れにくくなるという面がある。

東工大デジタル創作同好会traPの強さはフローの量が源泉だと僕は思っていて、彼らはコロナ禍以前は講義室で毎日会話して終わったらご飯を食べに行って…と共有する時間の量がHiCoderに比べたら莫大だったから、共通の文脈としてのミームがたくさん生まれたり、進捗を出そうという気持ちが生まれたりしてあれくらい大きく強くなっているのだと思っている。この点を考えても、HiCoderの1,2,3年目のフローの量は足りないし、4年目はマシになったけどまだまだ足りないと感じている。

✅ オンラインは顔が見えないとかテキストだと感情が伝わりづらいとかそういう表面的で瑣末な問題ではなく、おそらくフローの量が少ないことと、特に会話や時間の共有が足りない部分に難しさがある。

自分に跳ね返って感情を適用する

組織は苦労の連続である。なぜなら必然的に他人との協調が必要だからである。他人は自分が制御できないし、期待通りには動かない。自分で自分のことすら期待通りにできないのに。だからこそ予想外で面白いこともあるが、基本的にはサークルのように無償活動ベースで期待ベースであれば苦労の方が圧倒的に多い。

2年目はそういう負の感情をめちゃくちゃ溜めていた。しかしこれは角度を変えてみれば自分にも跳ね返って言えることである。

代表としての役割を果たせていたか?定例会でやるぞー!って言って誰も反応くれなかったらすぐ諦めてしまっていたことも多いし、組織をうまく回せていたか?他人に負の感情を持てるほど自分が貢献していたか?というと、それは怪しい。

基本的に相手に対して抱く感情は自分に対してもそうであることが多い。しかし負の感情に塗れている時ほど、自分のことは見えなくなってしまう。僕は負の感情を表に出すことはそんなになく結構溜め込んでいて、悩んでいる様子は色々出していた。今振り返るとそれは自分に対する跳ね返りが多分にある。

✅ 結局、自由にやるべきで、うまくいかないことを気に病む必要もなかったと思う。無くなる時は無くなればいいし、やめたかったらやめればいい。使命感はあってもいいけど、義務を感じるのはだめだ。

文化を借りてきても、その組織でうまくいくとは限らない

僕はtimes文化が好きなので、サークルにもtimes文化を導入した。今でもHiCoderにはtimesがあるが、これが機能しているかはかなり怪しい。

times文化については またSlackでtimesを始めてしまった - ばんくし を読むとよい。times文化とその良い点と悪い点が企業視点で書かれている。その中でも特に僕は以下の点を意識している。

  • 👍 発信元が自発的に発信できる
    • チャンネルの責任がその人にあるので、雑談で「僕が発言してもいいかな…?」みたいな無駄がなく会話のスタートが切りやすい
  • 😭 井戸端会議として意思決定がtimesで行われるのは最悪
    • 僕はオンライン派なのは透明性があるから。それに対して困るなと思うのがこの井戸端会議。意思決定は全員の前で行われるべき。

この両方がHiCoderにおいても問題だったと思う。timesがあれば競技プログラミングのコンテスト成績を投稿しやすいと思うし、その一方でtimesで僕が意思決定することはたくさんあった。

ただ全員の前で意思決定を行うべきというのはサークルのようなinactiveなメンバーが多い状態では機能しないのでここは無理があると思う。inactiveな人を巻き込んでいくこと自体が難しく、どうしても仲良し組で意思決定をしてハッカソンの日時を決めてしまう。まぁこれは参加者がその人たちしかいない点で、しょうがないことではあるんだけど。

このようにtimes文化を例にとって見てきたが、他で自分がすごい好きな文化があってその組織でうまく行っているとしても、自分の組織でうまくいくとは限らない。

✅ 組織をうまく回すのは、借りてきた制度や文化の力ではない。

テキストで書くのが面倒という感覚がある

これびっくりしたのだが、テキストで打ち込むのが面倒だから連絡するのを対面の時まで遅延させる人が存在する。そのため大事な要件や頼んでいたことが3ヶ月後になって対面で会った時にそういえば…と教えてもらえることがある。

信じられないが必要な要件をテキストチャットでanytimeに伝えられる状況を前にして、テキストで書くコストがそれを上回ることがある。

このテキストが面倒という感覚が結構クリティカルに上述のフローの足りなさに響いていて、おいおいという気持ちもあるけどそういうものらしいので受け入れるしかない。

自分の感覚とはまるで違う出来事を想定すると良い。対話を通してそのような違う感覚を発見できると嬉しい。

オーダーメイド対応は広く浅く万物に対して手を動かしていないとできない

僕が目指していたのは以下のようなことである。これは試行錯誤の末に3年目に固まった。

  • 1: やりたいことがある人を応援する
  • 2: やりたいことがない人も大勢いる。その人には好きなもの、気になること、趣味、など色々尋ねていってそこからプログラミングに繋げられないか探る
    • 就活のためなら競技プログラミングやKaggleとか、チーム開発を勧める
    • 趣味が音楽なら音楽系のプログラミングも存在することを教える
    • ゲームが好きならそのゲーム関連のconnpassのイベントを教える
  • 応援する原動力は、その人が興味を持って僕と会話してくれたから。せっかく僕と会話してくれたのだから、できる限りの応援や情報提供をする。

1は簡単で、やりたいことがあるのなら会話をして話を聞くだけでもその人にとって良い影響を与えることが多い。

2がこの節の主題で、このように個人それぞれの趣味、嗜好に対してオーダーメイドに情報を提供するのは、僕は割と普通にやっていたけど後輩に指摘されてこれはかなり広く分野をやっていないと無理なことが分かった。確かに、フロントエンド、バックエンドだけに留まらず、ゲーム、低レイヤ、インフラ、数学…となんとなく会話の初歩だけでも成立させられる人はTwitterの知り合いにはたくさんいるけどサークルにはあまりいなかった気もする。

僕はTwitterのTLに流れてくる情報を全て手を動かして入門だけはする、みたいなことを繰り返しているので、あのイベント〇〇さんに合うかもしれん、というようなことが頭に思い浮かぶ。また、広く浅くやっているので入門したてくらいの人の話ならついていけるし、それより深くやっている人に対しては色々質問して会話が成立させられる(僕も学ぶことができる)

しかしこのような水先案内人は特殊スキルである。うまく活かせたのは良かったなと思うが、属人性が高いしスケールはしないなと感じた。

仲良くなることが大事。サークルは仲良くあるべき

サークルは無償ベースの活動である。だから、サークルに人を繋ぎ止める要素はなんだろうとずっと思っていた。

それと独立に、コロナ禍の学生生活ってつまらんな、という感情もあった。この感情は詰まるところ講義などどうでもよくて、友人と会話できる講義の前後や昼ごはんの時間が大事だったんだろうなと感じる。

これらから、僕はサークルは仲良くあるべきだと思っている。結局サークルに行きたいと思うのはサークルに対する帰属意識ではなく、そこに会って話したい人がいるからである。

だからなるべくフレンドリーにやってきたつもりだし、僕自身も人間が好きなのでそれは自然な振る舞いだったと思う。こういうボランティアベースの会は結局仲良しクラブになるのが一番良いと思う。

ハードルを下げることが大事。格好をつけない

代表だから強くありたいとか、代表だから格好つけたいとか、代表だから偉くなっていた方がいいのか…?とか様々な感情がある。

結論から行くとこれらは全て嘘だ。代表はただ雑事を行い周りが見えていればそれでいい。

特に強く見えるというのはタチが悪い。周りの人が萎縮するだけだから。そういう意味では全員がカスな方がよくて、そういう点で4年目は特にレポートをギリギリまで出せない人とか、免許を取りに行くと言いながらギリギリまで行動できない人がいたのは良かったことだと思う。

ただでさえ真面目で強くて意識が高い人の集まりと見られてしまうので、サークルでは積極的にカス情報を肯定したり自身のカス情報を共有するようにしていた。こうしてそもそもの会話のハードルを下げること、進捗がなくても定例会に来てもいいんだという雰囲気を作ることが大事だと思う。

✅ カスであることは良いことで、それを共有すると良い。ハードルを限界まで下げてフローを流す労力を低くすることに努める。

「現在の実力は関係ない。将来は変わる」ということを発信し続ける

どのくらいプログラミングやってきたの?は本質的に必要のない問いである。年数とか今強いとか、これまでこういうハッカソンに出てこういう人材育成プロジェクトに参加してきたとか、それらは褒められるべきことであるが、将来の強さには一切寄与しないということをサークルにやってくる初学者に対して発信し続けることが大事だと思う。

初学者には萎縮する出来事がたくさん起こる。プログラミングのエラーは赤くて怖いものかもしれないし、C言語の講義で足し算とprintしか習わないのにプログラミングで何ができるんだろう?と思っているかもしれない。フォルダがPCのどこに存在しているのか分からないし、パソコンがなんで動いているのかもよく分からない。そういう状況で強い人を見て諦めてしまうのは、この世が広くなって井の中の蛙ではいられない現在ではよくあることだと思う。

事実としては昔から強い人が現在も努力を重ねて指数的に強くなって行くとしても、初学者に対しては今の努力が将来に寄与することを、過去の資産は一年もあればひっくり返せることが多いことを発信し続ける必要がある。

僕はこれがなかなかできなかったけど、少なくとも来てくれる人に対して「どのくらいプログラミングやってきたの?」よりは「何が好き?今何に興味がある?」という質問を投げていたと思う。

✅ 本当に1年あればプログラミングに関して人は変わる。だからそのことを信じて楽しくプログラミングして将来に期待して努力ができるようにしたかった。

高速道路を整備したかった

サークルの存在意義はどこにあるだろう。このことを3年以上は考えていた。

僕にとっての結論は、先ほどの仲がいい人と話ができるとかの側面に加えて、「高速道路に乗れる」というだと感じている。

例えば先輩の卒論の様子を知って卒論への不安を和らげて現実的な思考を始められること、院試の様子を知ってどのあたりから勉強を始めた方がいいとか、そもそも大学院が自分に向いているかどうか知ることができること、フロントエンドを勉強し始めてHTMLやCSSを触り始めた人がReactを知ることができたり、インターンの存在を知ったり、先輩も東京のインターン行っているから自分も行けるのは?と思って応募してみるきっかけになったり…

これらは全て高速道路である。自分一人で悶々と悩んで結論を出すより遥かに高速に応募までのステップが踏める。特に検索の手間が省けて機会を得られることと、情報収集するのに必要なステップや障害をすでに超えた人から得られることが大きい。

僕は情報提供に関してはかなりできたと思っているけど、やっぱりまだまだ足りない部分は大きいなと感じている。特に以下の領域は取り組みたかった。

  • サークル内でのWeb講習会の確立
    • traPのなろう講習会のようなものを確立したかった
  • 各分野の入門資料
    • GSDのUnity入門資料のようなものを作りたかった
    • ゲーム、競技(競技プログラミング、CTF、ISUCON、インフラ系(ICTSC, ネットワーク系))、デザイン、型理論、数学について用意したかった
  • インターンなどの情報まとめ
    • 個別に伝えていたがもう少しまとめられたかも。でもこういうのってオーダーメイドであるべきだからまとめなかったのが正しい可能性も高い。

✅ 僕はもっと後輩が乗れる高速道路を整備したかった。もっと機会を増やして、もしやる気が出た時に最速に乗れるようにしてあげたかった。

対面で遊んだ方が良かった

僕はオンライン派なので定例会はオンラインがいいと思うが、もっと対面で土日遊ぶ機会を作っても良かったなあと思っている。なぜなら思い出がないからだ。

真面目路線のHiCoderであっても、結局記憶に残るのは対面の思い出だったり、その時撮った写真のような気がする。僕にとってはDISCOプログラミングコンテスト呉とかが記憶に残っている。

✅ そもそも仲良しクラブにする方向性ならもっと遊んで良かったんだよな。僕はこれはとっても後悔してます。遊んだ方がいい。もっと旅行に行って、飯を気軽に食いに行って、そこでたくさん会話をするべきだった。

終わりに

他人の言葉じゃ、ダメ!

他人の言語化を見て何かを分かった気になることほど愚かなことはない。

他人の言葉は参考程度、自分で体験して言語化して、血肉となった言葉が全てだと思う。