「コミュニケーション能力」≠「人見知りしないタイプ」?
どうも、つんどくです。
プログラミング未経験の人が「プログラマに必要なスキル」とか調べるときによく目にするであろう「コミュニケーション能力」というもの。普段の会話ができればということでは無いので注意です。
会話ができる=コミュニケーション能力がある?
「コミュニケーション能力」って普段の会話ができればOKなんじゃないの?
私は現職に就くまで、そう思っていた。
プログラマーにはコミュ障が多いから、なかなか意思疎通をとるのが難しいというネットの情報なんかも目にしていたため、そういうことを思っていた。
自分はあまり人見知りしないタイプだから大丈夫だろ、、、
そんな考え方が大間違いだったと知るのは入社した後だった。
ちなみに私は「コミュニケーション能力」が無かった。
では実際に求めらている「コミュニケーション能力」とはなんなのか?
この2点をおさえる!
プログラマーに求められる「コミュニケーション能力」とは簡単に言うと
- 相手の話が理解できる
- 自分の思考や状態が言語化できる
この2点ができて「コミュニケーション能力がある」と言える。
え、こんなのできて当たり前?
相手の話が理解できる
では、業界未経験のあなたが先輩からプログラミングを教わっていたとしよう。
まず言っていることが1回で完全に理解できるだろうか?
恐らくできないだろう。シンプルに理解しやすいように教えてくれる優しい先輩もこの世の中にはいるだろう。
しかし、先輩は先生ではないし会社は学校でもない。
未経験の人のレベルに合わせて教えてあげられるほど先輩はたぶん暇ではない。
先輩の言っていることが理解できないとどうなるか?反応ができない。
反応ができないと先輩もコミュニケーションを続けるのが難しくなる。
最悪なのがそのまま考えながら黙ってしまうこと、せめて「すいません、ちょっと理解できません」と伝えましょう。
再度説明をしてくれる際にはたぶんもう少し簡易的な説明になっているかと思います。
自分の思考や状態が言語化できる
コードを書いてエラーが出る。原因が分からない。
先輩に助けを求める際、「エラーが出てしまって進まないんです、、、」
これではいきなり言われた先輩も困ってしまいます。
先輩に質問する際には、要点をシンプルに伝えることがポイント
- 状況 : どういうコードを書こうとしてエラーになったのか?
- 思考 : どうしてそのコードを書こうとしたのか?
注意点としては、「何をすればいいかもわからない状態を避ける」です。
分からないことだらけで頭が混乱する時もあるかと思いますが、プログラマにとって「どんな状況でも冷静でいる」もとても重要だと思っています。
例えエラーが出てしまっても、落ち着いて原因を地道に探っていくことができれば、必ず解決の糸口は見つかります。
では、上記2点ができるようになるとどうなるのか?
相手の話す内容を理解し、自分の考えや質問を言語化して相手に投げる。
言葉のキャッチボール、すなわちコミュニケーションがとれてくるのです。
私も最初は先輩の言っていることをあまり理解できませでした。
教えてもらうたびに頭の中の疑問が増えるのです。
しかし、キャッチボールを続けるとその疑問が段々と減ってくるのです。
未経験でプログラマを目指している人もきっと多くいると思います。
最初から理想や完璧を求めず、まずはチョー地味に頑張っていきましょうね。
それではまた次回!