読者です 読者をやめる 読者になる 読者になる

匠の相駕籠

福岡で成長をつづけるソフトウェア企業の日常とオピニオン - メメントモリ公式ブログ

伸びるのは、きっと技術の壁を自分で作らない人

生産性という言葉は、プログラマーを強烈に惹きつける。

誰しも高い生産性を発揮したいと願っているが、誰しも思ったほどにはなれない。

プログラマーの生産性を簡単に説明するならば、限られた時間の中でどれだけ多くの価値を作り出せるのかと言えるだろう。

 

たくさんコードを書けることが生産性が高いとは言わない。逆に人が書いたコードを消すことで、以前よりもよく動くようにしてしまう人もいるので、単純な足し算引き算ではない。

 

さて、私の限られた経験から思い返してみて、すごいプログラマーとはどんな人だっただろうか。私の主観的な評価もあるが、その人達は実際に周りの人からの評価も高かったし、アウトプットもとても優れていたので、すごいプログラマーだったと言えると思う。

 

 

一人目の出会いは、私が新卒で就職したゲーム会社の同僚であった。

ゲーム会社の採用は、基本的に作品採用となっている。つまり学生時代に、どれだけ優れたゲーム、プログラムを自力で作れたかで、採用の可否が決まるのだ。

そのすごかった同僚は、学校卒業時点で PS2 と ニンテンドーDS のゲームソフトを最後まで作りきっていた。出来上がっている作品も、当時の市販のゲームと、遜色が無いようなクオリティだったのだ。

 

そして、私はこの人には勝てないな思い知らされたのは、四六時中、仕事でプログラムを書いているのに、彼は休み時間や休みの日に何をしているのかというと、プログラムを書いているのだ。すごく楽しそうに。

息をするように楽しそうにプログラムを書き続ける彼を見て、何度、自分を惨めに思ったか知れない。

 

彼が言っていた言葉で、私の脳裏に焼き付いている言葉がある。

 

「プログラムなんて動けば(書き方なんてどうでも)いいんだよ」

 

プログラムの規模によっても、目的によっても、正解なんて変わってくる。

いい加減に書いて動かないのは論外だが、大事なものは何なのかというのを教えてもらったような気はする。

 

誤解を招かないように補足すると、動けばいいと言っているけど、非常にきれいに構造化されたコードを書く人だった。

 

 

もう一人の出会いは、出向先のある大手企業のほぼトップにいたプログラマーの人だ。実はこの人とは、ほとんど直接面識はないのだが、色々なチームの人から伝説をきいていた。

その当時、私が所属していたチームは、相当技術レベルが高い人ばかりが揃っていた。いろいろな現場を渡り歩いてきたけど、ここまでスキルの高い人が集まっているプロジェクトはなかなか出会えないと今でも思う。

 

このチームに関しては、今日の話題ではないが、このチームには私が尊敬していたエンジニアの方がいた。チームを牽引する力、コーディング能力、指導力と、突出した能力をいくつも持っているすごい人だなと感心していた。

その人が、その伝説になっている人と一緒に働いた経験を話してくれた。

 

「役者が違うと思い知らされた」

「あの人と一緒に働いて、もうエンジニアを辞めようかと思った」

 

一体何があると、そんな風に思うようになるのだろうか?

具体的なエピソードを伺ってみた。

 

例えば、自分がやったら一週間くらい時間のかかりそうなものがある。それを伝説の人が「ちょっとやってきます」といって、次の日会社に来てみると、もう動いているのが見れるというのだ。

このような伝説を各所に残しているような人らしい。

 

知る人ぞ知るという感じだろうが、そんなに対外的に有名なエンジニアというわけではないのに、いるところにはいるんだなと思い知らされた。

 

私が見たのでは、とある Web フレームワークをいちから構築して、社内で配布していた。

 

その人のスタイルは、とにかく一見して雑食にも見えるらしい。

特定の技術だけに深いというわけではなくて、幅広い技術に対してそれぞれ深い。一つの分野に精通するだけでも、時間も労力もかかるのに、一体どのようにして、広く深く技術を身につけているのだろうか。

 

聞いた話では、何か新しい技術や問題に遭遇したとき、これは自分の領分ではないからと言って断るようなことがないらしい。

どんな技術領域でも好奇心を持って取り組みはじめて、すぐにその技術領域の人並みになってしまう。

 

 

そういえば、私がゲーム会社で一緒にした同僚も似たような雰囲気を持っていた。

 

強烈な好奇心を持っていて、そんなことまでやってるの?と驚いたことが何度もあった。

 

 

私は、こんなスーパースターにはなれない。

でもこういう人達を見てきて、私の中にはこの人達が住み着いている。

同じようにはできないが、同じようにはやるべきだと思っている。

 

技術の壁を作ってはいけない。

これは自分の領分ではないからといってやらないのは間違いだ。

 

それは自分を変化に強くする方法でもある。

誰も、明日に必要になる技術が何かなんてわかりやしないのだ。

 

そしてこれは私たちの会社で、「情熱を持ち」「変化に強い」ことをプログラマーの素質として重要視している理由でもある。