プログラミングと料理。そして愛について(?)
こんにちは。
つい最近まで、僕はどちらかというと晩御飯はスーパーのお惣菜派でした(突然だな)。
しかし7月のある日、いつも通りお惣菜でも買おうかと近所のスーパーに行ったところ、翌日が改装のため休業日とのことで、野菜やお肉が半額くらいに安くなっていました。
お惣菜派とは言え、料理が全くできないわけではないので、この機会に思い切り買いこんでやろうと思い、3日分くらいの食材を買い込みました。いつも使っているマイバッグもパンパンで、何ならプラスチックバッグも1枚買って、手がちぎれそうになりながら帰りました。
普段買わないチンゲン菜やほうれん草とかの野菜も調理したんですが(何作ったかはもう覚えてない)、やっぱ自分でつくる飯はうまいんですよね。
それからというものの、大地震の確率が高いと言われたり、数十年に一度の台風が来ると言われたりもあって、何かと食材を買って自炊をする機会が増えました。
料理をしていると、何かと仕事の合間に色々なことを考える時間ができるし、食材を切るのって多分ストレス解消にもなるので無駄に玉ねぎを細かく切ったりして(恐怖)、栄養とかそういう面以外でもいいことだらけだなぁと思っています。
そんなこんなで料理をしながら色々考えてる時に思いついたのが本日のタイトル「プログラミングと料理。そして愛について(?)」です。
プログラミングと料理の上達の過程って似てるんじゃないか?というお話がメインです。
プログラミングや何かを学ぶ上で心が折れそうになった時、料理のことを思い浮かべれば乗り越えられるかもしれない超画期的な(自分でハードルを上げる)内容
何なら、愛についても学べるかもしれない超ハートフルな内容(こっちは無視してください)
になっております。是非勉強の合間にでもご覧ください。
料理とプログラミングの上達ステップ
初心者の料理とプログラミング
初めて料理をした時のことを覚えていますか?
親御さんのお手伝いだったのか、調理実習だったのか、小学校の時の宿泊学習(どうでもいいですが僕の地元では自然学校と呼んでいました)でやった飯盒炊爨(はんごうすいさん)だったのか。人それぞれタイミングは違うと思いますが、間違いなく共通しているのは、
「誰かに作り方を教えてもらって見よう見まねで作った」
ということではないでしょうか?
包丁の持ち方、食材の切り方、米を炊く時の水分量、火の強さまで…初めての頃はめちゃくちゃドキドキした覚えがあります。
プログラミングも、コーディング環境の作り方、コードの書き方、作ったコードをどうやって確かめるのか、最初は意味不明ながらも進めていき、初めて動いたコードやサイトの画面を見た時はテンション上がりますよね。
この段階では、「なぜこのコードが必要なのか」とか細かいことは考えなくてもいいし覚えなくてもいいと思います。
「うわ!自分でつくったご飯ってめっちゃ美味しい!!!」でいいんです。
同じ料理を2回目に作る時もレシピなんてあまり覚えてないですよね。でもそれでいいんです。何度もレシピを見てやっていくうちに、火が入りにくい順番に鍋に具材を入れるんだな、とかがわかってきたりします。
プログラミングの場合、「前もこのコード書いたのに全然覚えてないなんて、私は向いてないんじゃないか」と不安になることもあるかもしれません。
でもレシピを覚えていなくても最終的にご飯が作れた時に「お前これレシピ見ながら作ったの?くそまずいじゃん」なんて言う人いません。(いたらすぐにさよならしてください)。ミスさえしていなければレシピを見て作ったものでも、見ずに作ったものでも「美味しいものは美味しい」んです。
だからこそ「何度もやる」「やりながら自然と覚えていく」「覚えたことを忘れてもレシピをもう一度見ればいい」という気持ちを持つことが大事だと思います。
中級者の料理とプログラミング
料理に慣れてくると、自分流で作りたくなってきます。
今日の僕の昼ごはんは、「クリーミィとんこつ鍋の素を使って玉ねぎとキャベツを煮込んだそうめん」なのですが、そもそもそんなレシピ多分ないし、余ってたにんにくを細かく切って入れたりしてとことん自分流になっていました。
プログラミングも、ずっと見よう見まねで書いているだけではお手本と同じものしか作れないので、いつか自分で応用しなければならない時がきます。
その時に活きるのが「初心者の時にどれだけ失敗したか」だと思います。
「前にここのコードを変えた時にこういう動きをしたってことは、今回はここを変えればうまくいくかもしれない」という予測がつくからです。
料理で言うと、「前はこれくらい炒めたけど野菜に火が通ってなかったから今回はもう少しシナシナになるまで焼こう」とか、「前に炊いたご飯がべちゃべちゃだったから今回は水を少なくしよう」みたいな感じです。
ここで注意なのは、「"もう自分は初心者ではない"という自負が強すぎると挫折してしまう」ことです。初心者の時もですが、いくら中級になっても何なら上級になってもミスをする時はします。
何年料理をしていても、つい肉を焼きすぎて焦がしてしまったり、ハンバーグの中に火が通っていなかったり、鍋の締めに雑炊を作ろうと米を入れすぎて食べすぎて後悔したりします。(全部最近僕がやったこと)
そこでめげてやらなくなってしまったら、これ以上の上達はありません。
「猿も木から落ちる」では無いですが初心者ではなくなったとは言え、人はどこまでいってもミスをするし忘れます。なので、ミスをしたとしても「次また気をつけよう」という気持ちだけは大事にして、必要以上に自分を責めないことが大事だと思います。
ただ僕は、いいかげん雑炊の時のお米の量は覚えろと毎回自分を責めています!!(うるさい)
上級者の料理とプログラミング
僕も料理の上級者を名乗るほどの自信はないのですが、料理の上級者ってどこからなんだろう?と考えてみました。ここでは「自分なりのこだわりを持って作れる段階」「オリジナルのものを作れる段階」「工夫して作れる段階」として考えます。
レシピとは違う自分独自の味つけをしたり、家に余っている食材で名もなきアレンジ料理が作れたり、足りない調味料があっても他のもので代用できる、みたいな感じです。そんな人かっこいいですよね。
プログラミングも、初級者の「見よう見まねで作る段階」、中級者の「応用してつくれる段階」を経た後、
「自分で見本よりわかりやすいコードを書けるようになる」「調べたコードでは足りないから自分で機能を付け足す」「何らかの制約でそのコードは使えないから別のコードで作れるようにする」ようなことができるようになったら、上級者と言ってもいいんじゃないかと思っています。
これができるようになると、ミスをしても自分ですぐにカバーできたり、ミスをしそうなところを予測して事前に防げるようになるので、そもそもミスしても「またやっちゃった☆」程度の気持ちになります。(僕はもっと反省すべきかもしれない)
こういう気持ちになれるのは、ミスを何度も繰り返してきたけど諦めずに何度もやり直してきた人だけだと思います。
結局のところ、初級者であろうと上級者であろうとどんなレベルでもミスを恐れずに何度もやり続けなければならないということですね。
上達ステップから言えること
ここまで自分のことをあたかもプログラミングの上級者のように偉そうに書いていますが、今でも全くできないことや分野に直面した時は、初心者の気持ちになっています。昨日も久々にgitを触って躓きまくって「こんな意味わからんもの2度と触るかこのクs」「一旦ここまではできたから良しとしよう」と自分を慰めていました。
多分、今僕の周りやみなさんの周りにいる「上級者」に見える人も、その分野では何度もミスを繰り返してきた人であって、これから何かの困難にぶつかっても何度もやり直せるような人なんだと思います。
どうしても今までやったことない領域を初めてやる時は、「自分には向いていない」と思ってしまいがちです。
この記事では料理で例えましたが、「今自分が得意だと思っていること」も最初は全然できなかったはずなので、それと比べながら今の状況を客観的に見ると「いつかできるかも」と思えるはずなのでやってみてください。(同じようなこと前の記事でも書いたかも)
愛の話(恥ずかしい)
みなさんが好きな料理はなんでしょうか。
僕は前まで唐揚げとか餃子と言っていたのですが、年齢的に食べすぎると胃が疲れるので今一番好きな食べ物は決めかねています。(何の話)
ただ、自分のために誰かが作ってくれた料理って何にしてもめちゃくちゃ美味しいじゃないですか。
人それぞれだと思いますが、家族、パートナー、友人、ご飯屋さんなど「あの人の料理がまた食べたい」と思うものがきっとあると思います。逆に誰かのために料理を作った時に「ちょっと失敗したかも」と思う料理でも「美味しい。また作ってね」って喜んでもらったことがある人もいると思います。
プログラミングを勉強するにあたって、いつかそれでお金をもらえるようになることを目標にしている人が多いと思います。
仕事なのでエラーがあるものをそのまま納品するのは絶対にダメですが、エラーに限らず「本当にこのコードがベストなのか?」「このコードを人様に見せても大丈夫なのか?」みたいな気持ちはどれだけレベルが上がっても出てくるものだと思っています。
「あなたのことを一生懸命考えて書いたコードだから絶対にいいものだよ」という押し付けがましい気持ちではなく、「今自分にできる一番のものを作っています」という気持ち(つまり愛?)は常に忘れずにいれば、「美味しい。また作ってね」と同じくらい嬉しい反応をもらえる人になれるんじゃないかと思います。
最後に
今回の話は果たして皆さんに共感してもらえるのか?と震えながら書きました。これを書いていたので今日は料理をする時間がない(泣)。
読んでいただきありがとうございました!
この記事が気に入ったらサポートをしてみませんか?