エンジニアの人とエンジニアではない人の大きな差は、
再現性思考があります。
再現性思考という思考を持っている人と持っていない人とで、想像力から論理思考まで、色々なポイントにおいて差が生まれることがわかりました。
是非、この再現性思考を理解していない人に、スキルとして身につけて欲しくなったので、ブログに書いてみることにしました。
再現性思考とは
再現性思考(Reproducibility Thinking)は、科学的研究やデータ分析などの領域で重要な考え方です。再現性思考は、研究結果や分析結果が他の人々によって再現可能であることを重視します。
参考 : ChatGPT
研究や科学の実験で、何かの現象が100%起きる場合、その現象は確定的な性能になりますが、2回に1回の割合で起きる場合、性能的には50%ですが、性能としてはアヤフヤになります。
大まかに説明すると、
確率論として考える事が再現性思考の基本的な考え方です。
再現性思考を持っている人と持っていない人
とあるソフトウェアを作ってデバッグやテストをやって、何か不具合を見つけた時のモノの言い方でその差がよく分かります。
多くの人は、「なんか動きがおかしいんですけど」「不具合があります」と、何かがおかしい事を伝えてきます。
再現性思考を持っている人は、「◯◯の操作で、不具合が発生した。」「◯回操作して、そのうち◯回がエラーになった。」という風に伝えてきます。
明らかに後者のほうが、
聞いただけで原因にたどり着く感じがしますよね。
前者の場合は、「どんな操作をしたか?」「どんな風に不具合が起きたのか?」というのを細かくヒアリングしてみないと、その不具合が一体どういうものなのかすら分からない場合もあり、
想定以上の時間が掛かってしまうケースも少なく有りません。
再現性思考は、論理思考
プログラミングができる人とできない人で大きく変わってくるのもこの、再現性思考です。
プログラミングができる人は、論理思考という考え方を理解していて、人と話す時も相手に分かりやすく話す事ができます、(出来ない人も多いですが・・・)
これは物事を解決するために、どうすれば
効率的なのかを、頭の中でフローとしてまとめられるスキルの事で、
プログラミングの設計がソレに当たります。
行き当たりばったりでプログラミングをしている人は、残念ながら論理思考は持てていないという場合もあるので、全てのプログラマーではないということを理解しておきましょう。
何故、再現性思考が必要なのか?
再現性思考というのは、確率論であり、相手に伝える時に物事の信憑性を付け加えることができる
伝達スキルです。
会話の中に数値を折り込むと、話が分かりやすく伝わるというのは、有名な話で、
それを聞いた相手が物事を理解するのが容易になります。
要するに相手が思考する負荷が大きく減るという
コミュニケーション術でもあるんですね。
他人に分かりやすく話をすることができる人は、良く聞いてみると、再現性思考を使った話し方が出来ている人の可能性が高いでしょう。
再現性ではないが、確率論で物事が分かりやすくなる例
朝、家を出る時に、テレビで「今日は傘を持って家を出ましょう。」というフレーズを聞いたら、傘を持って家を出ると思いますが、
「雨がふる確率が100%なので傘を持っていきましょう」というのと、
「30%ぐらいの確率で雨が降るかもしれないので、傘を持っていきましょう。」という場合では、
持っていく傘の種類が変わってくる場合があります。
確実に雨が降るのであれば、しっかりとした傘を持っていくだろうし、
雨が降らない場合もあるかもしれない場合は、カバンに入る折りたたみの傘を持っていく判断ができます。
また、強風を伴う雨の場合は、レインコートなどを着て行くほうがいいと判断できる場合もあります。
この様に、雨が降るという情報だけだと不足していたり、相手が間違って受け取ってしまう可能性があるので、できるだけ
ちゃんとした情報を伝える事が重要だと思うんですよね。
あとがき
ホームページを作ったり、システムを納品した時に、クライアントさんが、「なんかおかしいんですよね」としか言ってこない場合は、
今回説明した、再現性思考を持っていないクライアントさんなので、製作をするよりも、その後の
サポートが大変になるという事が最近わかってきました。
やはり「世の中、総プログラミング思考」というぐらいの改革が必要なのかもしれませんね。
でも、そうしたら、自分は、オマンマ食いっぱぐれてしまうかもしれないので、実は現在のこの状況の方がありがたいのかも・・・
ちなみに、クライアントさんで、再現性思考を持っていた確率、0%ですけどねwww
0 件のコメント:
コメントを投稿