こんにちは。TATです。
今日のテーマは「プログラミングは目的ではなくて手段である」です。
プログラミング学習を途中で挫折してしまうかたも、プログラミングが目的化してしまっていることが要因になってしまっているパターンは多いように感じます。
プログラミングを学ぶ目的は、それを使って何かを成し遂げることです。
プログラミングが、それを成し遂げるための手段であり、プログラミングを学ぶこと自体は目的ではありません。
ここを勘違いしてしまうと、モチベーションが維持できなくなりがちで、途中で挫折してしまう可能性が上がります。
さらにずーっと勉強だけを続けて、なかなか次の動きが取れなくなってしまうといった状況に陥ることも多いです。
大切なことは、プログラミングそのものは目的ではなくて、何かしらの目標を達成するために必要な手段であることをきちんと理解しておくことです。
目次
プログラミングは目的ではなくて手段である【目的化してしまうと危険です】
【今一度考えてみよう】なぜプログラミングを学ぶのか?
まず、本題に入るにあたって、なぜプログラミングを学ぶのかについてあらためて考えてみましょう。
プログラミングを学ぶ目的は色々あると思います。
- アプリを作りたい
- ウェブサイトを作りたい
- エンジニアになりたい
- 業務を効率化したい
- 今の仕事に使いたい
- プログラミングを習得して転職したい
例えば、上記の通り。
プログラミングを学ぶ際には、何かしらの理由があります。
これらの目的を達成するためにプログラミングが必要になってくるわけで、プログラミングを学ぶこと自体が目的ではありません。
きちんと目的が定まったら、学ぶべきプログラミング言語は自然と決まってきます。
iPhoneアプリを作りたいならSwiftなどを学ぶことになりますし、僕のようにデータ分析に活かしたいのであればPythonを選ぶかもしれません。
エンジニアになりたいのであれば、AIエンジニアだとPythonが必要ですし、アンドロイドアプリのエンジニアであればJavaなどが候補になります。
何れにしても、「プログラミングを学びたいけどどの言語を学べばいいのかわからない」という方は、目的がきちんと定まっていない可能性が高いです。
目的が決まれば、学ぶべき言語は自然と絞られます。
【目的で決まる】結局のところ、プログラミングはどの言語を勉強するべきか?
プログラミングが目的化すると無限に勉強を続けることになります
では、仮にプログラミングが目的化してしまうとどのような状況に陥ってしまうのでしょうか。
よくあるパターンはずーと勉強だけ続けてしまうことです。
プログラミングを学ぶこと自体が目的になってしまうと、プログラミングを学んだ後のステップが見えにくい状況になります。
こうなってくると、学ぶべきことを絞ることができませんし、そもそもどこまで学べばいいのかもわかりません。
結果として、ずーっと勉強し続けることになりますw
「これもやっといたほうがいいかな」とか「ここまで勉強しとけば転職できるかな」みたいなことを無限に繰り返します。
目的がきちんと定まっていて、それを達成するためにプログラミングが必要になるということをきちんと理解していれば、学ぶべき言語が自然と決まり、さらにその言語の中でもどこの分野が必要になってくるのかの目星をつけることができます。
それらの学習を終えたら次のステップに進むことができます。
スムーズですよね。
僕の場合は、「株式投資の情報収集や分析を効率化・自動化したい」というのがプログラミングを学ぼうと思ったきっかけでした。
結果として、スクレイピングやデータ分析に強いPythonを選択するには時間がかかりませんでした。(ググって20分くらいで決めた記憶があります)
独学する際にも、基礎文法を学んだあとは、データの収集や分析に必要なスクレイピングやPandasなどのデータ分析用のライブラリの勉強にフォーカスしました。
当時は必要なかった機械学習などの分野には目もくれずにスキップしていました。
目的がきちんとわかっていれば、やるべきことがはっきりしているので、集中して勉強するべき分野やスキップしていい分野がはっきりとわかります。
自分がどこに向かっているのかを把握できているのでブレないんですね。
ここがきちんとできてないと、「とりあえず最初から順番に全て学んでいく」みたいな考えに陥ります。
もちろん、時間をかければこの方法でもプログラミングの学習は可能ですが、途中で挫折する可能性が高いです。
そして時間もめっちゃかかるので効率も悪いです。
モチベーションを持続するコツは日々の前進を感じること
よって、プログラミングを学ぶ際には目的を意識しながら学ぶことが重要です。
「ここ必要かな〜」とか「とりあえず片っ端から全部やるか」みたいな考えに至ってしまった場合には、改めて意識し直すようにしてみましょう。
目的がはっきりしていれば、そこにたどり着くために必要なことを逆算することができます。
その中の1つとしてプログラミングが必要になってきます。
結果として、やるべき分野とそうでない分野が分別することができるので、学習するにおいても非常に効率的です。
そしてやるべきことがきちんとわかっているとモチベーションも維持しやすいです。
毎日の学びが、自分の目的を達成するためにどう役立つのかを実感できるとやる気が維持できます。
「モチベーションが維持できない」ゆえに物事が続かないという方は結構います。
最初はやる気に満ち溢れているのに数日経ったら挫折するといったパターンはよくありますよね。
「気合いで乗り越えるしかない」とか「気持ちの問題だ」とか、精神論的なことを唱える人もいますが、これは正しくありません。
モチベーションを維持する方法については様々な方法が研究されていますが、その一つに「日々の前進を感じられる環境にいること」というものがあります。
日々の作業がどこに向かっているのかがわからないと、モチベーションを維持することが難しくなります。
反対に、毎日の作業が自分の目標達成のためにどのように役に立つのかがわかっていると、モチベーションを維持しやすくなります。
僕の場合は、目的は「株価情報を収集・分析する」ことでした。
そのために最適な言語としてPythonを独学しました。この際、必要なことは明確でした。
基礎的な文法を学んだあとは、情報収集に必要なスクレイピングなどを学び、データ分析に必要なPandasやNumpyなどのライブラリーについて学びました。
学習を進めながら、「これは〇〇に使えるな〜」と考えながら学習できたので、やっていてとても楽しかったし、モチベーションを維持できたと思っています。
あくまでも、Pythonはデータの収集や分析に必要な手段(つまりはツール)であるときちんと把握していたので、やるべきことがはっきりとわかってゴールに向かって最短距離で向かうことができました。
結果として、毎日勉強するたびにそのゴールに近づいてる実感があったので楽しくて仕方がありませんでした。
ここで目的がはっきりしていなかったら、なんのためにPythonを必死こいて勉強しているのかがわからなくなり、途中で挫折していたんだろうなと強く思います。
大切なことは、目的を明確化して、日々の前進を実感できるような環境を作り上げることです。
プログラミングはその目的を達成するための手段に過ぎず、プログラミングそのものが目的になることはありません。
もし現在「モチベーションが続かない」とか「なんのために勉強してるんだっけ?」と感じた方は、プログラミングを学んで何をしたいのか、その目的について今一度考え直してみることをオススメします。
まとめ
いかがでしたでしょうか。
ここでは「プログラミングは目的ではなくて手段である」というテーマはプログラミングが目的化してしまうとどうなってしまうかについてお話ししてきました。
ここで声を大にしてお伝えしたいメッセージは1つです。
プログラミングはそれ自体が目的ではなくて、何か目的を達成するための手段に過ぎないということです。
これからプログラミングを学びたいという方は、その理由をきちんと明確化してから挑むことをおすすめします。
すでに学習中の方でなおかつモチベーションが下がってきたり、なんのために学習しているのかがわからなくなってきた際には、今一度自分の目的について考え直してみてはいかがでしょうか。
ここが明確になると、そこにたどり着くまでの道のりを逆算できます。
結果として、日々の学習が目標にどう役立つのかがわかるようになるので、日々の前進を感じられ、結果としてモチベーションを維持しやすくなります。
是非ともお試しください。
ここまで読んでくださってありがとうございました。
本記事で関連したおすすめ本
やり抜く人の9つの習慣
やる気が上がる8つのスイッチ