見出し画像

ゴールが決まれば、やるべきことが見えてくるんだよ

 そんなことを言っていたデスクがいたような気がする。 

 僕は今PythonとVBAを勉強している。それぞれ、勉強し始めた動機が違う。その違いの結果、成果に大きく差が出た。なんとなく設計以外のスキルを身に付けたいと思って始めたPython、一方同僚の困りごとから始まったVBA。身につき方としては、後者の方が圧倒的に成果が出た。なので今回は、何かを勉強をするとき、動機と目的設定が具体的の方が成果が上がるよって話をする。

 なぜそう思うのか?それは、目的と動機が具体的だったVBAのほうが、Pythonより勉強時間が短いのに、いろんなことができるようになっていたからだ。

 VBAの勉強はもともと、同僚の困りごとに端を発している。僕の同僚は、実験毎に大量のテキストデータをエクセルに移している。その整理にはかなり手間がかかる。そんな本質でないデータ整理に時間を取られるのを見ていて、「なんとかして、実験に集中できるようにしてあげたい」と感じた。だから、プログラマーでもないのにその同僚のために、ボタンを押したらテキストデータをエクセルへ読み込んで整理できるマクロ を作ろうと思った。マクロに必要な動作はわかっていたので、あとはそれをどう実装していくかだった。そこで、サイトと昔の経験を頼りに、必要なプログラムを集めて組み合わせていった。業務の隙間時間を利用すること約2ヶ月、なんとか目的のマクロが完成。同僚に見せたところ、喜んでもらえた。さらに、そのマクロをベースに表作成などの機能追加や別のくじ引きマクロなんかも作れるようになった。今では試しに便利そうなマクロを作ってチーム内に公開し、その反応をもとに改良を進めるなんてことまでできるようになった。

 一方Pythonの方はというと、設計以外のスキルを身に付けたいと思って始めた。いろんなプログラミング言語があるなか、自分のPCがMacだったこともあり、それに標準搭載されているPythonを選んだ。Pythonで作りたいものも特になかったので、参考書を一から順に勉強していった。結果どうなったかと言うと、3年ほど勉強したが何か作れるようにはなっていない。個々の項目はわかるようになったが、それだけ。そのことに気づいて「これはよくない」と思い、今はPC上で動かすデスクトップアプリ(ToDoリスト)を作っている。Win7にあった付箋みたいなアプリでToDo管理してるけど、もっと適したアプリが欲しいなと思っていたからだ。やっとウインドウに入力すると、それが別のウインドウに表示させられるようになった(笑)

 勉強ってやりかたとしては2つあると思っている。一つは今回のVBAみたいに欲しいものを決め、そこから必要なパーツを集めていく方法。もう一つは今回のPythonみたいに一つずつ順番に積み重ねていく方法。モンハンで例えるなら、レウス装備が欲しくてリオレウスを倒しまくるか、それとも適当に狩りにいってゲットした素材から何が作れるかを考えるか。これって、大きな違いだと思う。時間がたくさんあるなら後者のやり方でもいいけど、大抵そうではない。だから、はっきりと何のために何をしたいかを決めるべきだ。そうでないと、せっかくやったのにその成果がでない。適当に狩りにいっても武器や防具が作れるようにはならないし、結果キャラも強くならない。

 だから、何か新しく勉強するなら必ず具体的な目的や動機を決めるべきだ。

 

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