こんにちは。とろいかです。
こんなこといいな、できたらいいな、あんな夢こんな夢いっぱいあるけど~♪
みんなみんなみんな叶えてくれる、不思議なポッケで叶えてくれる~♪
いきなり歌いだしてすみません。。。
言わずと知れた「ドラえもん」のオープニングテーマですね。
不思議なポッケ、ドラえもんの四次元ポケットで私たちの時間もいい感じにしてくれませんかね~。
まぁ残念ながら四次元ポケットはありませんが、私たちの時間を増やしてくれるひみつ道具があります。
それが「プログラミング」です。
プログラミング?
なんか難しそうだし、それができたからって何になるんですか?
という方もいらっしゃると思います。
プログラミングで何ができるか。
よく聞く話だと思いますが、私が思っていることを書いてみます。
プログラミングで何ができるようになるのか?
同じことを繰り返しやらなくて済む
同じ作業を何回もやるって嫌じゃないですか?私は嫌です。昔、私はこのページ(↓)を読んでハッカーに憧れた時期がありました(今でも憧れはあります)。
ハッカーになろう(How To Become A Hacker)
なんでハッカー?という話を書き始めると長くなるので割愛しますが、このページに書かれているこの文章がまさに、同じことを繰り返すことの罪について書いています。
ハッカーたち(そして一般的にクリエイティブな人たち)は、退屈したり、くだらない反復作業をいやいやこなしたりしてはいけません。だってそういうときには、彼らしかできないこと、つまり新しい問題を解決させるということが行われていないことになるからです。こういう無駄は万人にとって有害です。だから退屈と単純作業はつまらないだけではなく、本当に悪いことなのです。
ハッカーらしくふるまうには、これを徹底的に信じ込んで、自分自身のためばかりでなく、他のみんな(とりわけ他のハッカーたち)のためにも、退屈な部分はできるだけたくさん自動化してしまいたくなるようにしましょう。
ハッカーになろう (How To Become A Hacker)3.退屈と単純作業は悪より引用
自分自身のためばかりでなく、他のみんなのためにも退屈な繰り返し作業は自動化してあげましょう。
一度システムができれば、人間のようにケアレスミスをしない
どんな人間でも人間である限り必ずミスを犯します。ミスをすると「それは誰がやったんだ」「誰のせいだ」「どうしてそんなミスをしたんだ」そういう犯人探しだったり、説教だったりそういうことが発生します。ケアレスミスが発生することでイライラして怒る人も、怒られている人も、それを周りで見ている人もみんなが疲れてしまう、時間とエネルギーが失われていきます。プログラミングで仕組みができれば、そういう切ない不幸がなくなります。少なくとも激減します。時間効率的にも精神衛生的にもイイことづくめですね。
浮いた時間をもっと自分がやりたいことに使える
これがプログラミングがもたらす最大のメリットだと思います。同じことを繰り返し手作業でやって、ミスがないかダブルチェックをしたり、それでもミスが出ると今度はトリプルチェックをやりましょう、なんてことになりたくはないですよね。もっと大切なことに時間とエネルギーを使いましょう。そんな作業で残業したりしないで早く家に帰りましょう。
要するに、
- 繰り返し作業が自動化できる
- 一度仕組みを作ればあとは仕組みに処理したいものを放り込めば結果が勝手に出てくる
- 余った時間を自由に使える
こういうメリットがあるということです。
私の例を出しましょう。
昔、知り合いが毎月定例でやっている事務作業がありました。毎月3日がかりでやっていたExcel作業だったのですが、私がExcelマクロ(プログラミングのようなものです)を使って簡単な仕組みを作った結果、その定例事務作業にかかる時間は月に片手間で1時間になりました。作業が早くなって時間ができただけでなく、毎月「またあれやらなきゃ…」と感じていたストレスからも解放されたと喜んでもらえました。
プログラミングを使用することのデメリット
プログラミングを学んで、仕組みを作ることにデメリットはあるでしょうか?
あまりなさそうですけど、ありそうなところはこんなところでしょうか。
習得するまでにある程度の時間がかかる
これが最大のデメリットかもしれません。ひとつのプログラミング言語をある程度使えるところまで習得するのにどのくらいの時間がかかるんでしょう?
例えば、今を最も人気があるプログラミング言語のひとつ「python(パイソン)」というプログラミング言語の場合、入門レベルをマスターするまでにかかる時間を調べてみました。色々なプログラミングスクールのページを見ていると、独学の場合で3ヶ月以上、プログラミングスクールに通っても1~2ヶ月かかると書かれているところが多いですね。全くの初心者の方、少しプログラミングをかじったことがある方など個人差はあると思いますが、それなりに高いハードルです。まぁ新しい言語、例えば英語とか中国語とかを3ヶ月やって、入門レベルになると言われれば、まぁそんなもんかなぁという気がします。あとは3ヶ月を投資する価値があると思えるかどうでしょうか。
周りの理解が得られない可能性がある
始めの仕組みづくりをしているときによく起こります。仕組みづくりをするということが頭にない、というかそういうやり方があることを知らない人からすると「いいから早く作業をやれ(手を動かせ)」という風に見えてしまいます。
例えるなら、近くの川まで水を汲みに行かないと水がない村だったら、とりあえずバケツを担いで水を汲みに行けということなります。その川からその村に水を引いてくるための計画を立てたり、測量をしたりしている人は知らない人から見れば、単に仕事をしていない人に見えるでしょう。そういう場合は、結果を出して見せるのが手っ取り早いです。治水工事をして川の流れを変えて、村に川の水を流し込むことに成功したら、ぐうの音も出なくなるのと同じことです。
自分で作ったシステムは自分しか使えない(ことが多い)
プロのエンジニアさんが作ったプログラムならいざ知らず、我々素人が作ったプログラムなんて自分専用にしかなりえません。どんな処理をしているかとか、プログラムのここの部分はこういう意味があるからとかそんなことを説明するような文書を作ったりもしませんので。
それに仕事の内容が少し変わったときに自分だったら直せるけれど、他人に仕組みごと譲った場合、そういう修正も仕組みを作った本人じゃないとできないですよね。これは会社的には個人の仕事がブラックボックス化してしまって困ることかもしれないですね。あとは引継ぎの仕方、引継ぎに使える期間次第かもしれません。まぁ自分がいなくなった後のことなんて、ゴニョゴニョですよ…。
まとめ
プログラミングは自分の時間を作ってくれるひみつ道具だというお話をしました。
プログラミングがもたらすメリットは3つ。
- 同じことを繰り返しやらなくて済む
- 一度システムができれば、人間のようにケアレスミスをしない
- 浮いた時間をもっと自分がやりたいことに使える
一度仕組みを作るときは少し時間がかかるけれど、一度作ればあとは同じ作業を飽きずに間違えずにやってくれます。不満を言わずにさぼらずに仕事をしてくれる優秀な部下を持ったような、秘書を持ったような気持ちになれます。いつもの仕事は部下に任せて、私たちは私たちしかできないこと、やりたいこと、創造的なことをやりましょう。
ということで、
今日も自分の時間を大切に。
ではでは。
コメント