少し前にバーで誰かと話していたのですが、「どうしますか?」という必然的な質問がありました。来た。「ああ、最近卒業したばかりです。X社で働いています。私はプログラマーです」という私の回答は、彼女を完全に満足させるものではありませんでした。
私はこの会話を何百回も経験しましたが、人々はその答えに決して満足していません。彼らは常により多くの質問をします。これは、ほとんどの場合、プログラマーが何をしているのかを人々が本当に知らないためだと思います。この質問への答えは、通常、人(一種)への洞察を与えます。会計士は分析的で数字が得意であり、弁護士は言葉や討論などが得意かもしれません。「プログラマー」はそうではありません。
だから私はそのような洞察を与える答えを出そうとしました。
私は、古典的なプログラミング問題の例を使って、「基本的には空想的な問題解決だ」という私のポイントを説明しようとしました。
(何らかの理由で)最初に頭に浮かんだのは、最小のサブセット問題でした...しかし、配列や時間計算量などを説明する必要があります。n-queensの問題について考えましたが、彼女はチェス盤を見たことがありませんでした。彼女の人生の中で(ええ、私は知っています)ハノイの塔は一般的に想像するのが難しすぎました...
それで私は立ち往生し、トピックが変わりました。
問題の例を考えていただけますか。完全な素人が理解できること、それは誰かにプログラマーがしなければならない思考の種類のアイデアを与えるだろうか?(そして、ひいては、私がどのように生計を立てているかについての厄介な質問に答えるのを助けてくれます)