Sakiのプログラミング学習ブログ

プログラミングについて学んだことや、学習の振返りを書いています。

雑談タイムやペアプロで、スムーズにコミュニケーションを取るために心がけていること

こんにちは。フィヨルドブートキャンプ生のSakiと申します。

この記事は、フィヨルドブートキャンプで開催されている、フィヨルドブートキャンプ Part 2 Advent Calendar 2021 - Adventarの24日目の記事です🎄🎁

昨日12/23は、azitamaさんの勉強を続けた結果を振り返る ゆっくりでも変化し続けていこう|あじたま家.comでした。
本日Part1の記事は、Maedaさんの輪読会のすすめ - maedaの日記です。私もMaedaさんと同じチェリー本輪読会に参加しています🍒気になった方はラジオ参加で少し覗きに来てもらえると、メンバー全員大喜びします☺

目次

はじめに

フィヨルドブートキャンプで学習をしていて分からないことに遭遇すると、雑談タイムで質問をすることがあると思います。また、コードを書くプラクティスでは、テキストでのやり取りのみだと非効率なので、メンターさんとペアプロをすることがあると思います。

私は元々、雑談タイムやペアプロのような同期型コミュニケーション*1に対して苦手意識があったのですが、場数を踏んで失敗もする中で、「こういうことを意識するとコミュニケーションがスムーズになっていいな」という気づきがありました。

この記事では、

  • 日報やDiscordの#wakaranチャンネルなどテキストで質問したことはあるけれど、雑談タイムで質問するのはハードルが高く、まだしたことがない
  • メンターさんにペアプロをお願いしたいけれど、緊張してなかなか依頼する勇気が出ない

という方に向けて、

  • どんな失敗をしたか
  • どんなことを意識するとコミュニケーションをスムーズにできるか

を書くことで、少しでも背中を押せたら嬉しいです。

なぜ苦手意識を持っていたのか

もともと私は、Discordでの通話など同期型のコミュニケーションに苦手意識を持っていました。
日報などテキストでのコミュニケーションですと、ある程度自分のペースを保って、相手の言葉を理解し、自分が返す言葉を考えて話せますが、Discordで質問をすると、相手の言葉を瞬時に理解して返さないといけないというプレッシャーを感じていたためです。
そのため、「うまく疑問を伝えられなかったらどうしよう」「変なことを言ってしまったらどうしよう」「相手の言ってることが分からなかったらどうしよう」という不安がありました。
質問は日報やQ&Aなどテキストでもできますが、コードに関する質問など、直接お話した方が効率が良い質問もあるので、Rubyのボウリングのスコア計算プログラムでつまずいた時に、初めて勇気を振り絞って雑談タイムで質問しました。

どんな失敗をしたか

雑談タイムで質問し始めた最初の頃は失敗の連続でした。
具体的には、

  • Rubyのボウリングのスコア計算プログラムについて質問した際、あらかじめ現状・解決したいこと・試したことを整理してから挑んだのに、うまく説明できなかった。
  • メンターさんに「ボウリングのゲーム全体のことで困っているのか、それとも10フレーム目の計算で困っているのか」と聞かれたのに、焦ってしまいその問いに答えずに、自分のコードの現状を話してしまった。
  • データベース設計のやり方について質問した際、一からER図を書いて説明していただいたが、途中からついていけなくなってしまい、あまり理解できなかった。

といった失敗をしました。

また、初めてメンターさんとペアプロをした際は、緊張して仰ってることがすぐに理解できなかったり、今何をしようとしているか分からなくなり混乱して会話も手も止めてしまったりと、コミュニケーションを上手く取れませんでした。

最終的には疑問を解消することができたので、厳密には失敗ではないのですが、メンターさんになんとか汲み取っていただいて解決してもらいましたし、「こういう風にコミュニケーションを取ればよかった」「自分が困っていることをうまく伝えられなかった」という落ち込みがすごかったです。

それでも挑み続けて得た気づき

それでもめげずに、雑談タイムで質問したり、メンターさんにペアプロしていただいたりする中で、「こういうことに気をつけるとコミュニケーションがスムーズだな」という気づきがありました。

1. 相手の言ったことと、それを聞いた自分の理解の擦り合せをする

相手の言った内容と、それを聞いて自分が理解した内容が同じかどうかの擦り合わせはとても大事です。
例えば、

AB
BC

という式があるとしたら、A=Cになることが分かります。 A=Cと分かるためには、A = BB = Cを理解していなければなりません。

質問でも、相手の言った内容と、それを聞いた自分の理解が合っていないと、お互いの認識がズレたまま会話が進んでしまいます。 上記の例でいうと、A=BB=Cという前提が分かっていないのをそのままにして進んでしまうと、A=Cが理解できなくなってしまいます。
自分がどこまで分かっているか、メンターさんの言葉をどのように理解しているかは、自分にしか分かりません。 なので、

  • メンターさんの仰った内容に対して、「〇〇という理解で合っていますか??」「〇〇という意味でしょうか??」と自分が理解した内容を逐一伝える
  • メンターさんの仰ってる内容が分からない時は、その場で質問する
  • 仰った内容に対して何が分からないかすぐに言語化できない時は、「〇〇の部分がなぜそうなるのか分からないです」「○○の部分が分からないのですが、何がどう分からないかすぐに説明できないので、少し考えてもよろしいでしょうか」のように、分からない状態であることを伝える

といいと思います。

2. ペアプロでは自分の状況を実況する

ペアプロでは基本的に生徒さんがドライバー(コードを書く人)となり、エディタを画面共有してメンターさんに見ていただきながらコードを書いていきます。

最初はメンターさんとマンツーマンでお話しすること自体に緊張したり、焦ってメンターさんの仰ってることが理解できなかったり、今自分が何を実現しようとしているかが分からなくなってしまったりすると思います。
そういった時に無言で手が止まってしまうと、メンターさんはなぜ生徒さんの手が止まっているか状況が分からず困ってしまいます。

自分の頭の中の状況はメンターさんには見えないので、

  • これから何を実現しようとしているか・どういうコードを書こうとしているか伝える
  • もしコードの書き方が分からない・疑問が浮かんだ等で詰まったら、「これをやりたいと思っているのですが、やり方が分からず止まってしまいました」と現状を伝えたり、「こういう方向性で合ってますか?」と確認する

など、自分の状況をこまめに実況するといいと思います。

最後に私が伝えたいこと

色々書きましたが、初めて質問する時は、

  • そもそもメンターさんと話すことに緊張する
  • 画面共有などDiscordでのやり取りに慣れていない

などで、会話をするので精一杯だと思います。
私も初めて雑談タイムで質問した時は、フィヨルドの質問に関するDocsを読んだり、疑問点の整理を書き出したりと準備をしていきましたが、結果はぼろぼろでした。 でも、何度か挑戦しているうちに慣れてくるので、場数を踏むことが大事だと思います。
慣れるまではしんどいかもしれませんが、質問できるようになると、分からないことがあった時に「まあ自分で調べても解決できなかったら、雑談タイムで聞けばいいか」と思え、分からなくて辛い気持ちが少し楽になると思います。
この記事を読んで、質問することが怖いと思ってる方の背中を少しでも押せたら嬉しいです😊

*1:複数の人が同じ時間を共有してやり取りをするコミュニケーションスタイル。代表的なのは会議や電話。