趣味プログラマがプロで仕事するために足りないもの

ことプログラミングの世界においては、その実力は圧倒的に趣味プログラマのほうが、底辺から並にかけてのプロなんかよりも遥かに上と断言できます。もしあなたが、自分の実力は現場で通用するのかと悩めるプログラムが趣味の高校生であれば、断言してあげましょう。通用し過ぎます。

Note - 趣味プログラマが業界で生きて行くには

これは、ソフトウェア業界の相応の規模の部分集合*1の中において真と言える。


ただし、それはプログラミングという基礎的な点において、だ。プロとして必要な重要な事は他にもある。コミュニケーションだのスケジュールだのプロセスだの、についてはいろいろ言われるだろうが、あまり言われない点がある。


それは"品質"に対する姿勢だ。


コードの質ではない。システム(または製品)トラブルを発生させない事。それに対する姿勢が全然違う。趣味プログラマはプログラミングが目的だから、コンパイルが通って、機能をちょちょいっと確認して、(人によっては)コードが満足できれば、それで「完成」。


たしかに、とりあえず書き上げた時点のコードのバグ率は、一般のプログラマより圧倒的に低い。しかし、趣味プログラマで、機能が「動く」ことは確認しても、パラメタの取り得る値と条件の組み合わせを考え抜いてテストに取り組む人はあまり居ないだろう。バグ探しやリファクタリングのためならじっくりソースを読んでも、一応コンパイルが通って自分の意図した機能が出来たっぽいのに、本当の本当ににバグが潜んでいないのか穴の空くほどそのソースを見直すなんてしないだろう。


プロにとっては、最終的な結果が問題だ。顧客の業務が円滑に回る事がすべて。コードの質とかチャレンジとかそういう事自体は、結果への寄与が間接的すぎてなかなか認められない。いくら「よい」プログラムであっても、トラブル(プログラムの「バグ」とは限らない。他人との微妙な意識ズレなんてのはよくあるパターン)が発生したら、単に「×」。


とくに、デグレ*2だったら目も当てられない。顧客から見れば、追加機能(もっとも酷い場合はバグ修正)に金を払ったのに「関係ない」所を壊してくれた、としか見られない。間違っても「前のはダメコードだったのを良いコードに書き換えたからだ」なんて言ったら、言い訳どころか火に油を注ぐ事にしかならない。書き直すなら、ありとあらゆる条件において完全に以前と同じ動作にし、それでも差が出るところはその影響を受けるところを全て調べ尽くして対応させなくてはならない。


といっても、上記部分集合の中でも底辺ではそれほどでもないし、高品質・安定稼働よりなにより安さやスピードが求められる所もある。だが、その1行のせいで、大企業のグループ全体の業務が停止したり、ニュースで騒がれる事態になるようなプログラムを書かねばならないのもプロだということ。


なお、ここで念頭に置いている「趣味プログラマ」はWindows系の人達であって、*BSDカーネルを書いてるような人達ではないので、念のため。

*1:essaさんのソフトウエア業界の「バカ世界地図」参照

*2:改訂時に、以前からある機能に新たなバグを入れてしまう事

Second Lifeが抱かせた、言い様のない期待感の向こう

さすがユカタン、スバッと書いてくれた。思い出してみれば、SLが話題に出始めた頃、「Habitat*1が3Dになっただけじゃん?」とスルーしていた。しかし、あれよあれよという間にそれ系の誰もが認める寵児であるかの様になっていき、自分も最初の直感なんて忘れて、わざわざビデオカードを新調してまでプレイ(?)してみていた。


感想「…。」


まさに、

 (3)までのハードルを乗り越え、やっと操作法を習得したとしても、今度は「何をしていいか分からない」という壁にぶち当たる。

Second Life“不”人気、7つの理由

この壁にぶち当たっていた。


そして、俺のやり込みが足りないのか?俺が悪いのか?みたいな気でいた。普段から普通のMMOもやらず、3Dモデリングどころかフォトショもやらない。アバター以前に、自分のファッションにも興味がない。そんな事に関係なく、もっと普遍的な何かがあるはずだ、という妄想に囚われていた。


アホだ。


人は、自分と反対の意見については問題点をバリバリ見付けるが、賛同する意見については非常に見逃しやすい、という事が実証されてるらしいが…。


CGMといっても、ブログならとりあえず誰でも何か書けるけど、3Dモデリングは敷居が高い。それに、架空世界内の造形やビジュアルに、人気ブログや人気動画以上の面白さを感じる人はそんなに多くはないんじゃないか。それらは気軽に数クリックで読んだり視聴できるわけで。ブログやSNSやチャットでも、コミュニケーションは楽しめる。Habitatも今でも名前を変えて存続してるらしい。


First Lifeは、楽しい事もつまらない事も全てひっくるめて、無限の豊穣さの中にある。単にもうひとつ別の世界があるだけじゃ、無限の計算パワーを持つ現実には勝てない。だから面白いとこだけ切り取って、あるいは捏造して、映画やテレビや本を作り、ブログを書き、ゲームを開発する。これらに勝てるだけの濃縮された世界が必要だ。ワクワクして最初にログインしたときに期待していたのは、現実を超越したエキサイティングな「社会」だ。


カタンの提案ももちろん重要だけど、もっと根本的に別の面白さを導入しないと、今の期待感に応えることは出来ないと思う。下手したら1年後には「ああ、あったねぇ」なんて事にもなりかねない。


3Dとリアルタイムな空間共有、ユーザによるモノ作り。これがSLの根本的な武器だ。ユーザが作れるのは結局ハリボテに過ぎない。これがただのガラクタの山になるのか、エキサイティングなもうひとつの人生のアクセサリになるのか。練り込んだゲームバランス設計で社会を発展させ何かを創発させるのか、あるいはもっと新たな武器で切り込むのか、この記事を読むまでの期待感を越える変貌を期待したい。

*1:富士通パソ通時代からやっているネット仮想世界。3Dではないが仮想世界の中でアバターが交流する。