私はうちのプログラマーさんに
「このメソッド(or クラス)が何をしているか、口で説明して」
と言う時があります。
多分、言われた方は
「え、なんで?後藤さんはコード見てもわからないからかな?」
「面倒だな…。」
と思うかと思います。(笑)
しかし、これは意図があってやっていることです。
どういう意図かというと、
そのコードがどういう意味なのか、その人がコードと違う形で出力する必要があるから
です。
大体、「口で説明して」と言って、スパッと帰ってこない場合は、そのコードがよくないケースが多いです。
そういうコードは
・やってることが多すぎる
・書いた本人も実行 or デバッグしないと結果がわからない
というコードなんですよ。
当たり前なんですよね、作った人が何をしようかわかってないのであれば、微妙なものができてしまうのは。
書く、言う、図にする。
これらは考えを人に伝えるために重要です。
そして、人というのは他人だけではなくて、自分も含まれます。
人に悩みを聞いてもらって、すっきりした経験がある方は多いと思います。
問題が明らかになるからだと言われていますよね。
プログラミングも一緒です。
プログラムを書いたことがない人にはわかりづらいかと思いますが、プログラミングって抽象的なモヤモヤっとしたことばっかりなんですよ!!
抽象的なモヤモヤっとしたことをいかにわかりやすくするか、というのがプログラマーの仕事なので、口で言うのは、自分で問題を整理する、そのプロセスです。
逆に、私もプログラミングの設計などで悩んでいる時に、スタッフの方に聞いてもらって解決することも多いです。
特にAI時代において、小難しいコードを書くこと、小難しいコードを読むことはAIを使えば誰でもできるスキルになっています。
しかし、モヤモヤしたこと、抽象的なことを整理することは、今のところ人間の方ができます。
なので、そのスキルを磨いたほうがよさそうです。
書いたり、話したりしていきましょう!

コーヒーでも飲みながら