プログラミング学習のコツ、現役エンジニアが教えます!
こんにちは! 現役エンジニアでありながら、Python学院で講師を務めている米(よね)と申します!
弊社のPython学院は「オンラインで学べる、Pythonに特化したプログラミング教育機関」です。
皆さまはこの記事にどうやってたどり着きましたか? おそらく記事のタイトルを見て、「プログラミング学習のコツ?」「知りたいかも!」と思い、この記事を開いてくださったのではないでしょうか。
もしかしたら今、プログラミングを学習中の方かもしれませんね。はたまた、過去にプログラミングの学習に取り掛かってみたものの、よく分からず挫折してしまった方かもしれませんね。
私は現役のエンジニアとして、現在社内業務の効率化・自動化にPythonを用いて取り組んでおります。
ちなみに、今日はこんな感じのコードを書いていました▼
大人の事情でコードの内容を見せることはできませんが、なんかカラフルですね。(画面キャプチャした画像にぼかしを入れると、いい感じのカラフルな画像になりました。)
余談はさておき............
私は現役のエンジニアですが、もちろん元々はプログラミング完全未経験者だったわけです。どんなにすごいエンジニアでも、皆さん始める前は初心者でした。当然ですね。
さて、この文章を今読んでくださっている、「プログラミング言語に対して世の中の平均以上に興味をお持ちのあなた」に、本日は現役エンジニアである私が考える "Python学習のコツ" をお伝えいたします。
最近は様々なプログラミングスクールが「プログラミングは簡単だ!」なんてことを言っていますが、本当に簡単なのでしょうか。
プログラミングスクールで講師を務めている私がこんなことを言うのもどうかなと思いますが、「簡単だけど、結構苦労はする」というのが本音です。
他のプログラミングスクールでも言っているように、簡単かなとは思います。ただ、苦労はします。より具体的に言うと、しっかり工夫をして勉強しないと、なかなか身につかないということです。何を学習するにあたってもそうですよね。
私はプログラミングを初めて学習した時、ITスキルを微塵も保有していませんでした。
そんな私が、この記事を見つけてくださった読者の皆さま、また過去の自分に向けて、「これだけは押さえておいてほしい!」という情報を共有いたします。過去の自分がこの記事を読んで、「なるほど!そういうことか!」と納得し、プログラミング学習が加速するような内容になるよう、記事を書いてまいります。
この過去の自分に向けた記事が、一人でも多くの方のプログラミング学習に対するモチベーションを上げ、また挫折を乗り越え、習得の後押しとなればと思います。
是非、続けてお読みください!
「プログラミングスキルの習得」を目的とするな!
さて、プログラミングを絶賛学習中の方! もしくは、過去にプログラミングを学習したことがあるけど、よく分からず挫折してしまったという方!
プログラミングは、どんな目的で学習していますか?
目的は様々かと思います。
現場の業務課題を解決するためかもしれません。何かWebアプリケーションを作成したいのかもしれません。シンプルにWebサイトを作りたいのかもしれませんね。もしかしたら、エンジニアへの転職を考えていますか?
プログラミング学習に取り組んでいる方、また取り組んだことのある方は、何かしらの目的を持って取り組んだことと思います。
私が過去の自分に一番伝えたいことは、実はこちらです。
「プログラミングスキルの習得を目的とするな!」
私は元々、Webアプリの開発ができるようになりたいと思い、プログラミング言語の「Ruby」の学習を始めました。
Webアプリの開発を行うために最適な学習方法は、私は「何かしらWebアプリを作成してみる」ことだと思っています。もっと言うと、「自分の作りたいWebアプリを作成してみる」ことが良いと思います。
プログラミングを学習することで何か実現したいことがあるならば、実現のために最適な知識・スキルを身につける必要があります。この時、最終的な目的は、「自分の実現したいことを実現する」ことです。「プログラミングスキルの習得」を目的としてはいけません。
どれだけ基本文法を反復して学習して、何も見ずに基本的なコードが書けるようになったとしても、自分の実現したいことを実現する知識・スキルが身についていなければ、意味がありません。
是非、「自分の実現したいことを実現する」ことを目的に、プログラミング学習をしてみてください。
そうすれば、基本文法を「暗記」するがのごとくテキストを何周もして、ひたすら関数を暗記してから、もしくは納得してから次に進むことが、あまり効果的ではないことに気づくでしょう。
インプットばかりでなく、たくさんアウトプットするべし!
私は今まで、僭越ながら、数多くのIT研修に講師登壇をしてきました。
プログラミング初級者はどこでつまづきやすいのか、また挫折しやすいか。伸びる人と伸びない人の違いには、どんなものがあるのか。現場の経験から、様々な「生きた情報」を得ることができました。
実際、プログラミングで学ぶべき基本的なことは、ほぼ共通しているわけです。
書店に足を運べば、多くのプログラミングの本が並んでいます。Amazonでプログラミングの本を検索すると、とてつもない種類の本が存在していることが分かります。
数多くの本が出版されていますが、基礎については、どの本でも伝えている情報がほとんど一緒です。それでも、すぐに習得できる人と、なかなか習得できない人がいます。
それは、なぜでしょうか。
様々な要因があるかと思いますが、私は以下の要因が非常に大きいのではないかと思います。
それは、「インプットばかりでなく、たくさんアウトプットしているか」ということです。
本や動画教材の内容をひたすらインプットして、内容を理解することは非常に重要です。ひたすらインプットすることで、理解できるようになっていくことは間違いないと思います。
でも実は、それだけでは、「使える」ようにはなかなかならないのです。
何か実現したいことがあり、それを実現するためにプログラミングを学習しているとします。実現のためには、「使える」ようにならないと意味がないですよね。「使える」ようになるためには、「たくさんアウトプットする」ことが重要です。
先程、Webアプリの開発スキルを高めるためには、「実際にWebアプリを作ってみること」が重要であるというお話をしました。
なぜ実際にWebアプリを作ってみることでスキルが大きく向上するかというと、「アウトプット」しているからです。
自分の実現したいことを実現するためには、多くの場合学んできたあらゆる知識・スキルを様々に駆使する必要があります。今まで学んだことがないことを、新たに学ぶ必要も出てくることでしょう。
アウトプットをしていく中では、本当に様々な試行錯誤を行う必要があります。時には、ある一つの問題を解決するために、一日中、もしかしたら一週間悩み続ける事があるかもしれません。
しかし、実現したいことをプログラミングで実現するためには、それは必要な工程です。
プログラムを書いていく中で様々なエラーと出会い、そのエラーを解決して次に進んでいく。そしてまたエラーと出会い、そのエラーを解決して次に進んでいく。
このような工程を経て、本当の意味で「使える」プログラミングスキルが身につきます!
近くに「聞ける人」がいる環境で勉強するべし!
これは、プログラミングスキルを向上させるために、私が一番重要だと感じていることです。
先程、ある問題を解決するためには多くの時間を使い、その工程が必要だとお伝えしましたが、そうでない場合も実はあります。
例えば、プログラムの中で「print」と書かなければいけないところを、「prnt」と書いてしまった。このエラーを解決するために、丸一日かかってしまった。――
直感的に分かるかと思いますが、これはあまりにも非効率です。基本文法に関する簡単な部分は、エラー解決のために一人で何日も、何時間もかける必要はありません。
実はプログラミング学習を挫折する原因のほとんどは、「近くに聞ける人がいない」ということです。
分からないことがあった時に近くに聞ける人がいれば、プログラミング学習の効率は何倍にも、何十倍にもなると私は考えています。
最後に
プログラミングスキルを習得するために、重要な要素は以下の3つであるとお伝えいたしました。
1.「プログラミングスキルの習得」を目的としない
2.インプットばかりでなく、たくさんアウトプットする
3.近くに「聞ける人」がいる環境で勉強する
是非多くの皆さまに、これらの要素を満たし、最適な方法でプログラミング学習を行っていただければと思います。
ちなみに弊社は、プログラミングスキルの習得をサポートするために、「Python学院」というプログラミングスクールを運営しております。Python学院とは、「オンラインで学べる、Pythonに特化したプログラミング教育機関」です。
「Python学院」に関するWEBもございますので、ぜひご一読ください。
https://www.insource.co.jp/bup/python-gakuin.htmlプログラミングスキルを最短距離で効率的に身につけたいとお考えであれば、是非「Python学院」のご受講も検討されてみてはいかがでしょうか。
本日も最後までご覧いただき、ありがとうございました!
(「Python学院」プロジェクトメンバー 米)
コピー
コピーしました