見出し画像

プログラミングを習得することは「自転車に乗ること」に似ている

新しいスキルを身につけるときって、最初が一番しんどくて、その後は徐々に楽になることが多いんじゃないか、ってふと思ったので、僕自身の考えを書いてみます。
少なくとも、新しいスキルを習得しようとするときに「最初が一番しんどいんだ」と自分に言い聞かせることは、とても大事なんじゃないかと思います。
もちろんこのことは、全てのスキルに当てはまるとは思いません。
スポーツでオリンピックに出られる人なんてほんの一握りでしょう。
でも、ある程度の努力をすれば、ほぼ誰でもできるようになることも意外と多いんじゃないかと思います。
「プログラミング」はその一つだと思います。

プログラミングができるようになるまで

僕の場合、会社に入ってPythonやR言語などのプログラミングができるようになりました。
大学院で研究をやっていた頃も、大量のデータ解析を効率良く進めるためにExcel VBAを習得しようとしたときもありました。
本を片手に、パソコンにコードを写経して、プログラミングの文法や概念をインプットしていきます。
それでも、大学院生の頃は途中で諦めてしまいました。
「覚えることが多すぎて、できるようになる気がしないわ」という感じでした。
今となっては理解できるif文やfor文の使い方すら、身につかなかったものです。

その後会社に入り、プログラミングの必要性を再度痛感し、有給休暇も使いながら勉強することに。
会社の仕事で使えそうだったのが、R言語やPythonだったので、専門書を買って勉強を始めました。
やはり、大学院時代と同じように、難しく感じました。
でも、if文やfor文はVBAを勉強したときにも出てきたな、というわずかな記憶はあったので、難しく感じながらも理解できる範囲が広くなった感じはありました。
いろいろ手こずりはしたものの、仕事の自動化や、ウェブアプリケーションを作れるまでになりました。
大学院時代の挫折があったからこそ、習得できたのだと思います。

「プログラミングができない」という言い分について思うこと

上述の通り、僕はプログラミングに挫折した経験があります。
なので、プログラミングができない人の気持ちは分かっているつもりです。
一方で、今はコードが書けるので、プログラミングができる人の気持ちも少しは分かります。
もっと言えば、自分にはプログラミングが向いていないとあきらめていた状態からコードを書けるようになるまでの過程も分かります。

そんな僕は、
「プログラミングに少し手を出してみたけど、自分には向いてないからやめたわ」
と言う同僚や上司をたくさん見てきました。
確かに、大学院を出たばかりの僕だったら、同じようなことを言ったと思います。
でも、今の自分は、継続すれば最低限はできるようになることを知っています。
大事なのは「できるようになるまで努力をしたかどうか」なんですよね。
そういう目で見ると、先ほどの言葉は
「私は努力ができない人間です。難しそうな課題が出てきたらすぐに諦めます。」
とすら聞こえてしまいます。
プログラミングに関して言えば、仕事の効率化にも使えるスキルなので、現状の業務改善にもあまり意欲的でない、ともとれますね。
これからは学校でプログラミングが必修となり、プログラミングを少しは知っている人ばかりが入社してくる時代になります。
そんな人たちに対して、「プログラミングなんて自分にはできるわけがない」などと言っていると、社会人としての資質すら疑われる時代になってしまうのかもしれません。

「歩いて出前配達」はアリか?

ここまでお読みになって、「いやいや、プログラミングは向き不向きあるよ」と思われる方へ、
別の例で、出前の配達を考えてみることにします。

出前配達に新しいアルバイトが入ってきたとします。
もしその人がこんなことを言ったらどう思いますか。

「自転車やバイクは、もしかしたら交通事故にあって死んじゃうかもしれないので、歩いて配達します。自転車やバイクに乗る練習をしたり、免許を取ったりする気は全くありません。」

自転車やバイクを使えば、短時間で多くの家に届けられるし、交通事故なんてめったにあわないから、メリットがリスクを上回る、と考える人が多いでしょう。
なので、自転車やバイクに乗れるようになることを勧める人が多いんではないでしょうか。

でも、全く乗れない人からすれば、自転車に乗れるようになるのは至難の業だと思います。
二輪でバランスをとりながら走るのって、すごいことだとも思えませんか。
自動車であれば四輪で、そっちの方がバランスをとりやすいはずです。
自転車をこぎ出そうとしても、うまくスピードに乗れなければすぐに横に倒れてしまいます。

自転車に乗れる人からすればなんてことはないのですが、こぎはじめにバランスをとるのって結構すごいことだと考えることもできるわけです。
自転車に全く乗れない人が挑戦しても、すぐにはできないはずです。
そして、自分は運動神経がそんなに良くないからあきらめよう、となってもおかしくないはずです。

それなら仕方ない、歩いて配達で良いよ、って思えますか?
続けて練習したらいつかできるようになるから頑張ってみて、と思いませんか?
それに、一番しんどいのはこぎはじめで、いったんスピードに乗れば楽に進める、というのも自転車に乗れる人なら分かることです。
でもこれは、「できる人しか見えない景色」ですね。

プログラミングができない人に対して、継続したらできるようになるよ、というのは上の自転車の例と全く同じです。
しかもプログラミングに関しては、命の危険は全くないと言っていいでしょう。
また、プログラミングも専門用語や概念がある程度理解できてくると、はじめは点と点だった知識がどんどんつながってくるようになり、難しい概念もどんどん理解できるようになります。
雪だるま式に知識が増えていく感じですね。
自転車もいったんスピードに乗ればペダルをこがなくても勝手に進むのと似ています。
プログラミングを知っている人の説明が難しく感じることがあるのは、雪だるま式に膨れ上がった知識を、分解しきれずにに話しているからではないかと思います。

これからも「継続は力なり」を忘れずにいきたい

プログラミング以外にも、継続して努力すればできるようになることは多くあると思います。
これからも、最初のとっかかりでつまずいてもあきらめず、新たなことにいろいろチャレンジしていけたらと思います。

この記事が気に入ったらサポートをしてみませんか?