モチベーションは二の次
プログラミングを始めてからよく聞くようになったのですが、「実は独学でプログラミングやってみたけど続きませんでした」って人が結構いらっしゃるようで、その理由は「モチベーションが続かなかった」っていうのが意外に多いみたいなんですよね。
そんなわけで、今回はこれから独学でプログラミング学習を始める人や、既に始めてる挫折予備軍?の方に向けて、プログラミング学習を継続するなるために大事なことを綴ってみようと思います。 ちょっと長いですがお付き合いください。
先ずはっきり申し上げます。
学習を続けるのにモチベーションは関係ありません。
モチベーションは二の次です!!
継続の土台
継続には先ず土台作りが必要です。
この土台を言い換えるとルーティーン化するということです。
毎日とにかく続けることが肝要です。
やる気が出なくてもたとえ1行でもコードを書く。
コードを読む。技術書を読む。写経する。
・・・なんでもいいからとにかく毎日触れる。
根気よく続けるとそれが習慣化して、やらないとなんか罪悪感みたいなものが出てきたりなんか気持ち悪かったりします(このへんの感覚は人それぞれですが…)。そこまで来たら継続の土台は完成です。
この土台の上で状況に応じてモチベーションが上がったり下がったりするのであって、土台がモチベーションに影響されてはいけません。
出来るようになりたいなら、モチベーションを上げる努力より、先ずは根気よく”継続の土台”を作ることをお勧めします。
これは何もプログラミングに限ったことではありませんが、続かない人に共通して足りないのは”モチベーション”ではありません。
“根気”です。
(ちょっ‼ブラウザバックしないで~\(^o^;)/ )
プログラミングは誰でもできる
出来るようになった人がたまたまプログラミングに向いていただけとか、そんなことはありません。
語弊を恐れずに言うなら、プログラミングは誰でもできます。(もちろんレベルによりますが)少なくとも趣味レベルのアプリやサービスを作るくらいなら誰でも出来るようになります。
プログラミングは技術ではなく知識です。知っていれば出来ます。正しくコードをかけば動きます。
語学のように発音を気にする必要もないし、音楽のようなリズム感も求められません。 料理人のような包丁さばきも野球選手ようなバットコントロールも…
極端な話、知ってる人に聞けば出来ます。コピペでも動きます。どんな複雑なロジックでも…って、あまり言いすぎると怒られそうですね(^^;)ゴメンナサイ
とにかく、特別な技術や能力はいらないのです。
学習方法は?
学習の仕方は沢山あると思いますが、独学なら書籍や、ネット上のブログや動画などで学ぶことが多いと思います。
この時大事なのは必ず自分でコードを書いてプログラムを実行することです。読んだだけ聞いただけで分かった気になってはいけません。必ず手を動かしてコードを書きましょう。
そして、ある程度基礎を学んだら次はとにかく何か作ってみることです。電卓でもタイマーでもブロック崩しでも(って、どれもそんな簡単ではありませんが…^^)、部分的な機能だけでもいいからとにかく“自分で課題を決めて”コードを書くことです。これは早い時期から始めたほうがいいです。
はじめは難しいかもしれませんが、基本的なアプリケーションのサンプルコードはネット上に沢山あります。 壁にぶつかったらその都度調べればいいし、壁にぶつからずとも調べながらやればいいと思います。
ただ、そのとき大事なのは単にコードをコピーするのではなく、何故そのコードで動くのかを注意深く読み解くことです。
完全に理解する必要はありませんが、その都度考えることが大事です。コードを覚えるのではなく構造を覚えるのです。
もしかしたらこのあたりは知識がおぼつかず全体がモヤっとした感じでつらい時期になるかもしれません。しばらくそんな状態が続くかもしれませんがここを頑張れば知識が増えて分からなかった部分がだんだん分かるようになってきます。
ちょうどクロスワードのように知識が繋がっていくのです。
余談ですが、私ははじめの頃は毎晩コードを印刷して寝落ちするまでコードを読んでました。そして朝起きたらとりあえずパソコンに向かってコードを書いてました。
このブログの最後に私がはじめの頃学習した書籍やサイトを紹介しています。ものすごく分かりやすかったので気になる方は参考にしてください。
目標の設定…
プログラミングの学習を続けるために目標を決めるのは悪くないと思いますが、いついつまでに○○を作るなど期限を設けるのはあまりお勧めしません。自分で決めた目標を達成できなかった時の精神的ダメージは意外に大きいものです。
目標を設定するなら期限を設けずに到達点(アプリやサービスの完成など)を設定し、出来る限り最短で達成するまで全力でやる!という感じがいいと思います。
“出来るまでやる”ことが一番大事なことです。かかった時間はその結果でしかありません。
もし途中で嫌になってやめたくなっても今のこの目標だけは達成すると決意しておくといいですね。
(達成したらきっとやめませんから^^)
よく誰かのブログやツイートでプログラミングを始めて2週間でアプリをリリースしましたとか、1カ月でブラウザゲームを作りましたとか見かけますが、そんなことを気にしてはいけません。
他人は他人、自分は自分、競うものではありませんし、そもそも環境が違うのだから比べようもありません。
効率の良い方法は…
個人的には効率のいい学習方法とかを考えるのは無駄だと思っています。学習に近道はありません。
ただ、敢えて言うなら、やりたいことをやる、作りたいものを作るというのがいいと思います。
自分が作りたいものを作ると、(当たり前ですが)学習も出来るし作りたいものが作れるし一石二鳥です^^
楽しく学ぶと効率が良く、
楽して学ぶと効率が悪いのです。
根気は信頼につながる
根気よくやるためには、”自分は絶対に出来る”と信じる心が必要です。それがないと根気はなかなか続きません。逆に言うと、根気のある人は自分を信じられる人だということです。
自分を信じられる人が必ずしも信頼できる人かというとそうではありませんが、少なくとも自分を信じられない人よりは信頼できるといえます。
他方で、モチベーションが一番大事だと言ってる人はモチベーションをやらない言い訳にできる人だと感じるので私はあまり…(略)
根気とモチベーションを並べて論じるのもおかしな話ですが個人的に思うところです。
最後に…
ここまで具体的に何をどういう順番で学習すればいいのかなどについては触れませんでしたが、大体の教材は体系的にまとめられていますので最初は順番にやればいいと思います。
最初の頃は慣れない用語に対するストレスも付き纏うので、言葉に慣れることが大事かもしれません。意味が解らない言葉に対する潜在的ストレスは意外に大きいですからね。
Javaに関しては下記で紹介してる動画を順番にやると理解しやすいと思います。あとYouTubeでゲームプログラミング入門動画とかもありますのでゲームに興味がある人はそういうのから始めるのもありだと思います。
それでは
皆様の素敵なプログラミングライフを心よりお祈り申し上げます。
ご拝読ありがとうございました。m(_ _)m
↓↓お薦め教材もチェックしてみてくださいね↓↓(^^)
お薦め教材
私自身はプログラミングをはじめてからずっと楽しく続けていますが、スラスラと理解できてるのかと言えば全然そんなことはなく、コード書いてるよりデバッグで画面と睨めっこしたりロジック考えたり ググってる時間のほうが長いです。
そんな私が楽しく学び続けるのを支えてくれた教材の一部を紹介させてください。
Java
Java 第2版 入門編 ゼロからはじめるプログラミング /三谷 純
この本はYouTubeの動画講座と連動しているのでとても分かりやすかったです。動画はYouTubeチャンネル OCW Tsukuba (筑波大学オープンコースウェア)の【2016年度プログラム言語(Java)】です。講師は”立体折り紙”で有名な三谷純先生です。
動画ではこの他にも、崇城大学情報学部講義 【基本Javaプログラミング演習】でもよく勉強させていただきました。
SQL(データベース)
DBMSはPostgreSQLです。 AndroidのSQLiteでもそのまま使えるので とりあえずデータベースに関してはこの1冊で足りています。
Android
TECHNICAL MASTER はじめてのAndroidアプリ開発 第3版 AndroidStudio3対応 /山田 祥寛
アンドロイドアプリの本は何冊か持っていますが、個人的にはこれが特に分かりやすかったです。入門からリリースまで幅広く網羅されており長く役立つ一冊です。
他にもいろいろありますが今回はこのあたりで…