オルタナティブ・ブログ > 竹内義晴の、しごとのみらい >

「しごと」をもっと楽しくしたい!

「あっ、来た!」がないプログラミングを続けるのは苦しい

»

何だか最近、急に涼しく(寒く?)なりましたね。みなさん、体調など崩されていませんか?酒を飲みすぎて腹を出して寝ると風邪ひきますよ。どうぞ、ご自愛ください。

こんにちは、仕事を楽しくするプロデューサー、竹内義晴です。

このブログをお読みの方の中にはプログラマの方も多いと思うのですが、あなたはプログラマの仕事が楽しいですか?プログラマの楽しさって何ですか?

20120928

一般的なプログラミングのイメージって、「人が行っている仕事や物事の流れを、論理的に組み立てる、処理していく」って感じだと思います。

昨日、ある友達と仕事について話していたのですが、「実は、プログラマの仕事の楽しさって一般的なイメージと違うなぁ」って思ったんです。

で、昨日、友達とどんな話をしたかと言いますと……

その友達とは、Web関係の仕事をされているプログラマAさんと、歌手のTさん。

私は仕事で文章を書く機会が多いのですが、書きたいことが、まるで噴水の水がわき出てくるかのようにリズミカルに書けるときもあれば、考えても考えても出てこないことがあります。で、曲や詩はどうなのかなぁと思って、歌手のTさんに、曲や詩が生まれてくるのはどんな時か、どんな感覚なのかを聞いてみたんです。

曲や詩ができるプロセスは、頭で「考えて生み出す」というよりも、「自然と湧いてくる」感覚なんだそうです。ときには「自分でもどんな言葉が出てくるかわかんない」ときもあって、自分で自分に突っ込んで言葉を引き出すこともあるのだとか。その湧いてくるタイミングはさまざまみたいですが、「あっ、来た!」という感覚があるのだそうです。で、それが言葉にできたときは楽しいし、スッキリ感があると。

それを聞いて、文章を書くときも同じだなって思ったんです。頭にあることを論理的に組み立てて書くこともありますけど、ふと頭に文章が浮かんで、次々に言葉が出てくることもあって、このようなときは「あっ、来た!」って感覚が楽しいんです。文章もスラスラ書けるし。

でね、このとき「あれ?待てよ?」って思ったんです。実はボク、以前プログラマだったんですけど、「プログラミングも同じだったな」と思ったんです。

冒頭に触れたように、プログラマの一般的なイメージは、「AがBになるから、Cになって・・・」のような、「物事の流れを論理的に組み立てる仕事」だと思います。そうです、フローチャートで書くような、あの感じです。

けれども、プログラミングで最も楽しいのは、論理的に組み立てるときじゃなくて、難しいロジックを「このロジック、どうやったら出来るんだろう?」って悩んでいるときや、「このロジック、もっと美しく効率的に書けないだろうか?」と工夫しているときなど、答えがまだ見えない、頭の中で悶々と考えているときに、ふと、「あっ、そうか!」って急にロジックが頭の中で展開されるあの瞬間だなって思ったんですよね。そうです、「あっ、来た!」って感じ。

もう、仕様書なんて後!とりあえずコードに落としたい、とりあえず動かしてみたいっていうあの感覚です。言葉では上手く表現できないけど、伝わるかなぁ。

これって、文章を書くときと同じだなって思ったんです。

そんな話を隣にいたプログラマのAさんにしたら、「そうだそうだ」って言うんです。「頭の中に広がったものをコードに落とし込んでいって、動くのが楽しい」って。

曲や詩、文章を作るのは文系で、プログラミングは理系のように感じられますが、実は、プログラミングも、曲や詩、文章を書くのと同じぐらい、とっても直感や感性が働くクリエイティブな作業だな~って思ったんです。

そう思ったら、以前プログラマだったときの環境を思い出しました、

ボクがプログラマだった時代、標準化ということがすごく言われていました。標準化することで効率はよくなるのかもしれないけど(実際は標準化が上手く行った経験はないし、効率もあまり感じたことないけど(笑))、「クリエイション」という意味では、プログラミングの楽しさを半減させていないかなぁ。

また、今はネットを検索すれば、いろんなサンプルコードがあって、コピペしてちょこっと直せばけっこう動いちゃうけど、「コピペプログラミング」も「あっ、来た!」が来る機会を少なくしているんじゃないかなぁ。

論理的に組み立てられるような(言い方を変えると、分かりきった)ロジックを、ただコードに落とし込んでいくような「あっ、来た!」がないプログラミングをし続けるのは、プログラマとしての楽しさを味わうことができず、仕事が苦しくなっちゃうんじゃないかなぁ。

だからと言って、「仕様書はいらない」「標準化はよくない」などということを言いたいわけではないです。顧客とすり合わせたり、プロジェクト内で可視化するために仕様書は必要ですし、品質を上げるために標準化は必要だと思うんですよね。実際には「この仕様書はいらんだろう?」「これは過剰だろう?」みたいなプロジェクトもあるかもしれないですが、それを変えるのはなかなか難しいですよね。

けれども、プログラマの仕事を楽しくするために、自分にできることはあるかもしれないです。要は、「あっ、来た!」という感覚を得られるような環境を作ればいいんです。

たとえば、コピペプログラミングで終わらせずに、「どうしたらもっと効率的になるか」「どうしたらもっとシンプルになるか」を自分のコードに向き合って考えていくと、「あっ、そうか!こうやればいいんだな!」っていう感覚を味わうことができます。ボクは、分かりきったロジックを考えることよりも、そういう「あっ、来た!」っていう感覚が楽しかったです。

ボクは、プログラムを書く機会は年に数回しかなくなりましたが、今、現場で活躍しているみなさんには、プログラマは本来とてもクリエイティブな仕事なので、そういう楽しさを知っている人が一人でも増えればいいのになぁと思ったんです。

Comment(0)