
プログラミングの学習をするのに時間が無くて困っていませんか?
今回は
【You が Working中に Can できるなら、on Job Time に Programming を Do しちゃいなよ】
という内容です。
プログラミング学習が進まない
プログラミングを勉強していると
- 時間が取れない
- まとまった時間取れたら本気出す!
- 覚えることが多過ぎて上達してる感が無い
- やる気が出ない
- 明日から本気出す!
- 来年から本気出す!
みたいな障害があって、なかなか学習が進まない事ってありませんか?
そこで、今回は、主に1番と2番の時間について書いてみたいと思います。
先に結論書きます
プログラミングの学習に、
- まとまった時間なんて要らない
- やる気なんて要らない
- 時間なんて要らない
- 本気なんて要らない
んな事言ってもやる気と時間が無ければ学習できないよ
ま、そうですね、その通りかも知れません(笑)
そう思うならそうなんだと思います。
参考 参考データはコチラ
やる気も時間も無くてもプログラミングをやる方法
そもそもプログラミングを覚えるのは何のためでしょうか?
プログラマーになるため?

趣味として?

むしろ無理にするのは良く無いです。
ご自分の好きなペースでどうぞ。
仕事に役立てたいため?

もちろん仕事が忙しいと思うのでそんな悠長な事やってる時間ないとおっしゃるかも知れませんけど。
仕事の、仕事による、仕事のための、仕事中に、仕事しながら15分だけプログラミングをやってみませんか?
※長い・・・「仕事」がゲシュタルト崩壊するわ
そこで提案!!
仕事中に15分だけやってみてはどうでしょうか?
(パソコンが使える状況であればですけど)
特にExcelVBAだとExcelを使うので仕事をサボってるようには見えないはずです(笑)
Excelでやってる作業で定型的なものがあるなら、それをVBAで書いてラクしましょう。
業務効率化のためにVBAを書くのですから、15分ぐらいはいいですよね。
これはサボりじゃないです、立派な業務です!(キリッ
15分挑戦してみてダメなら明日15分やればいいと思います。
明日15分挑戦してみてダメなら明後日15分やればいいと思います。
明日15分挑戦してみてダメなら明々後日15分やればいいと思います。
明日15分挑戦してみてダメなら・・・・(ry
実はこれは
ワン・ファイブ・エブリデー・チャレンジ・メソッド
(略してワンチャンメソッド)
と言われている手法です。
※すみません、ウソです。今テキトーに書きました。
ワンチャンメソッドでの注意
※ワンチャンメソッドをそのまま使うんかいというツッコミは無しで進めます
15分だけなのですごいものは作れません。
かと言って何もできないと面白く無いですし、毎日続きません。
そもそも業務としてやっているので進歩がないのはまずいです。
なので、15分でできる事だけをやる のです。
2日目:シート1のセルA1の値をシート2のセルA1に入れる時に計算する
3日目:シート1のセルA1~A10の値をシート2のセルA1~A10に入れる時に計算する
・
・
・
って言う感じで少しずつ少しずつ増やしていけばいいのです。
- その日のワンチャンメソッドの目標は1つ。
- それもレベルの低い低いものでOKです。
レベルの低い低いものでいいので繰り返し作っていくと、その内意識しなくても自然とすごいものが作れるようになります。
少しずつ増やしながらプログラミングする方法については、良かったらコチラの記事をご覧ください。
ワンチャンメソッドを実践しましょう
まずはワンチャンメソッドを実践された方の感想をご覧ください。
ワンチャンメソッド実践者の感想

オレはワンチャンメソッドでナイスなマイハニーが5人もできたぜ!

ワタシはワンチャンメソッドを着けて寝るだけでAカップがGカップになったワ♪
Gカップになったらすぐに彼氏ができたわ。
ちょっと変な顔だけどとっても優しいワヨ。

オイラはワンチャンメソッドのお陰で髪がふさふさになっちまったぜ!
こんなに強力でスゲーメソッドは初めてだゼ!
という、超ありがちなボケを入れつつ、、、、、
僕がVBAを覚えた方法はこのワンチャンメソッドです。
仕事中にVBAをやってました。
自宅でVBAを勉強した記憶は無いです。って言うかやってません。
そもそもVBAを覚え始めた頃にExcelVBA本を購入した記憶がないです。
全部仕事中に覚えました。
・・・と言うか、今でもそんなにVBAの事は知らないです。ぶっちゃけてしまうと(笑)
VBA教えてるのにすみません(笑) >>> Boot Tech Programming School:ExcelVBAコース
で、VBAを仕事中に覚えた理由は『仕事をラクをしたい』からでした。
VBAを組んでしまえばその後の定型作業がラクになると思ったので、その後ずっとラクをするために今ちょっとだけ頑張ろうと思ってVBAを覚えようとしていました。
新入社員だったため勤務時間中にネットにつなげると怒られると思ったので、自動記録マクロで生成されたソースコードを改造して使うことから始めました。(改造と言っても要らんと思われる部分を消す程度ですけど)
後はVBAの本を1冊持ち込んで、それを辞書代わりに使うぐらい。
ワンチャンメソッドという名前はどうでもいいですけど、本当に職場で15分ぐらい毎日VBAやってました。
それは学習ではなく、ただただ『ラクしたい』だけでした。
今まで手入力していたデータが、ボタンをクリックするだけでデータが埋まると、それがセル1個だけであっても楽しくなってきますよ。
学習時間が取れないのはプログラミングだけじゃない
結論は書いちゃったのでここからは惰性で書いてます(笑)
学習時間が取れない悩みってプログラミング学習だけじゃないんですよね。
楽器や語学の勉強でも同じような事感じていませんか?
で、ネットを検索すると・・・・、いや検索しなくても誰に聞いてもその解決策ってコレ↓ですよね。
1日5分でも10分でもいいから毎日やろう!
週に1回だけ数時間やるより、毎日少しずつやる方が効果的!
という超絶テンプレ回答です。
まぁ、今更僕がこんな記事を書くまでもなく世の中にこのテの回答は出まくっています。
『その回答ってパクリやんけ!!!!』
と言われないぐらい出まくっています。
おそらくですが、人類が誕生してすぐ・・・、いや人類が誕生する前からこの悩みと回答は生まれていたんじゃないかと思います。


みたいな会話は原始時代からあったはず(笑)
結局のところ何をするにしても少しでもいいから毎日やること。
これが基本中の基本なんだろうね。
楽器や語学の場合、毎日少しずつやればいいという真っ赤っかな大ウソ!!!
楽器や語学の場合
でも正直な話、楽器や語学は、本当に毎日少しずつ やってもそれほど上手くならないと思うんですよね。
やるなら、毎日8時間ぐらいやらないと上手くならない(てか弾けるようにならない)と思うんですよね。
毎日1時間とかならいいけど、15分程度ではねぇ・・・という感じです。
ギターを上達するには系の記事を読むと、上達のコツは2つ出て来ます。
- 毎日少しずつでもやること(でも上手くなるとは言ってない)
- 上手く(と言うより弾けるように)なるには毎日16時間ぐらいやれよ、ボケ!
と書かれてあります。
ですので、ギターが弾ける人の本音はコレだと思います。(異論は認めます)

ギターなめてんのかてめぇ!!!!
毎日毎日毎日毎日10時間以上はやれよ!!!
友達との付き合いなんか要らねぇーーーに決まってんだろ!!!!!
飲み会行ったらギターの練習できねーだろがよーーー!
※ちょっと言葉は悪いですが、勢い的にはこんな感じかと思います(笑)
※あくまでも勢いだけを感じてください。
で、例えば、毎日10時間以上練習しても上達しない場合、次の回答が待っています。

なにやってんの?
バっカじゃねーーーの?
という非情な宣告がされます(笑)
近いうちに

と死亡宣告もされます(笑)
プログラミングの場合
プログラミングの場合、やり方を間違っていて上達しないというのはほぼ無いと思います。
良い書き方・悪い書き方は確かにありますが、だからと言って動かない事は無いですし、プログラミングが上達しないということは無いです。
そもそもプログラミングの上達とは、命令を沢山覚えて使い方を覚えると言ってもいいと思います。
要はプログラミングなんてキーボードを打ってテキストに書くだけです。体の使い方とかそんなのは無いですからね。
もちろんテクニカル的な書き方とか、ライブラリとか、APIとか、スレッドとか、プロセスとか、デザインパターンとか、覚えるものは幾らでもあるのでキリはありません。
この記事はプログラミング初心者の方を対象にしていますので、その辺は今回は無視してます。
スポーツ(楽器や語学も含めて)でよくあるのは、間違ったやり方が癖になってしまい、それを治すのに苦労するということ。
でもプログラミングは悪い書き方をして来ていても、正しい書き方を知ったのなら次からそう書くようにすればいいだけの話です。
別に矯正できないなんて事は無いです。
なので、プログラミングには間違ったやり方なんて無いと思います。
楽器や語学はやってもできないなんてザラにありますが、プログラミングはやればできます。
ただそれだけの話です。
楽器 and 語学 are スポーツ.
プログラミング is not スポーツ.
楽器や語学はスポーツです。
スポーツの定義を議論するつもりはありませんし、違うとおっしゃる方がいるならそれを否定するつもりはありません。
が、僕は
『楽器 and 語学 are スポーツ.』
という認識です。
頭より体覚える事の方が大切です。
プログラミングはどうかと言うと、
『プログラミング is not スポーツ.』
だと思います。
プログラミングも体が覚えるというのは必要ですけど、やっぱり頭が覚える割合のほうが大きいと思います。
理屈や文法・仕組みを覚えればできるようになります。
要はキーボードを打って書けばいいだけの事です。
ギターのFで挫折する人は大量に居るけど、キーボードのFを打てなくて挫折する人はいません。
楽器や語学に比べてプログラミングの方がはるかに簡単なのです。
楽器や語学ではゆっくり少しずつなんてやっても上達はほとんど見込めませんが、プログラミングなら超ゆっくり超少しずつでも確実に確実に確実にできるようになります。
※
『プログラミング is not スポーツ.』とか書いておきながらなんなんですけど・・・・
別の記事では『プログラミングはスポーツ似てる』みたいな事書いてたりしてます。
まとめ
プログラミングは超ゆっくり超少しずつでも書けば確実に上達します。
楽器なら「ド」だけ鳴らしてもさすがに上達しませんが、プログラミングは1行書けば1行書いた分上達します。
仕事でExcelVBAを役立てたいとお考えの場合、仕事中に「仕事として」VBAプログラミングをやってしまえばいいと思います。
それで業務が少しでもラクなるなら、いいじゃないです。
なんなら自動記録マクロを使うだけでもいいです。
プログラミングを「学習」とは思わず、「仕事を少しでも効率化してラクするためのもの」と考えれば、仕事の一部としてプログラミングができちゃいますよ!!
そうやって仕事の中でちょとでもやればわざわざ時間を作るような事は不要ですよ、
というお話しでした。