まずは話を聞きたい
採用サイト
社員を知る

第三回 とにかくコードを書く!

プログラマのキャリアを考えたとき、経験を重ねた先は管理職、もしくは独立してフリーランスといった選択肢がほとんどです。

しかし、どちらもプログラマとして腕を磨き続けることが難しい環境です。 そんな状況だからこそ、会社に所属しながら、ずっとプログラマを続けられる「第三の道」を選んだ方々に、プログラマを一生の仕事にした先に見える景色を語っていただきました。

今回の対談相手は、2014年に入社した野上 誠司さんです。

仕事、プライベート問わずプログラミングをしているという野上さん。最近では、参加型ハッカソン”ツクアソ”を主催するなど、コードを楽しみながら書く達人でもあります。そんな野上さんと、ソニックガーデンが掲げる“遊びながら働く”という考え方やプロフェッショナルとしてのあり方など、たっぷりと語り合いました。


プログラミングとスポーツの関連性について語り合った第二回。「小さな成功体験の繰り返しで、プログラミング筋がついてくる」「活躍できる“場所”を探してみよう」など、若手プログラマへのアドバイスも熱を帯びてきます。そして、テーマはいよいよ「プロフェッショナルとは?」に。「遊ぶように働く」の背景にある、プログラマにとって最も重要なポイントとは?

プロとはコードを書き続けている人

倉貫の顔倉貫
ここまで、「遊ぶように働く」から始まって「プログラミングはスポーツだ」というところまで話題が広がってきた。ここで、そろそろプロフェッショナルとは何かという話をしていこうか。
野上の顔野上
ここまでの話で、自分の中でも結構整理ができたんだけど、プロって結局は「コードを書き続けている人」なのかな、と思う。
倉貫の顔倉貫
うんうん。
野上の顔野上
コードを書き続けることで、自然と腕は上がっていくし、書き続けるには真剣に楽しむことが大切になってくる。腕も上げながら、真剣に楽しみながら、まさに遊ぶように働いている状態。この状態になると、気付けばコードを書き続けていると思うんだよね。
倉貫の顔倉貫
その境地に立った人がプロってことだね。
野上の顔野上
うん。別に毎回新しいコードでなくてもよくて、同じコードを100回書いてもいいと思ってる。同じコードを書く中でも、スピードが上がったり、精度が上がったりする楽しさがあるんだよね。反復練習みたいなもので。
倉貫の顔倉貫
それこそ、陸上競技の選手が少しでもタイムを縮めようと心血を注ぐのと同じだ。プログラミングを始めたばかりの人にも、同じコードを反復して書くといいよ、という話はよくしてる。それは、もちろんコードを書くことに慣れるという意味でもあるんだけど、「上手くなる感覚を得る」という意味もあるかもしれないね。
野上の顔野上
そうだね。プロのプログラマは、常にそういう鍛錬をしている人なんだと思う。コードを「書く」のと、「書き続ける」には大きな差があると思うな。

「なんかすごそう」と一発で思ってもらえるか

倉貫の顔倉貫
仕事で考えた場合、プロとアマチュアの違いをお客様はどこで感じると思う?「コードを書き続けてます」というのは、口では言えちゃうし、お客様がずっと見ているわけではないじゃない。
野上の顔野上
開発をスタートして、最初に触ってもらうモノの質の違いかな。納品のない受託開発の場合、お客様と話をしながら、スモールスタートで開発を始めるじゃないですか。まずは小さく開発して、お客様に実際に触ってもらいながら進めていく。その、最初に触るモノの質が、プロが書いたコードか、そうでないコードかで変わってくるんですよ。お客様がコードのことを知らなくても、実際に触ってもらうので、「お、なんかこの人すごいの作ってくれそう」って肌感覚でわかるんです。
倉貫の顔倉貫
ああ、なるほど。コードを知らない人にも、一発で「なんかすごそう」って思ってもらえるのは確かにプロだね。サッカーをやったことない人でも、プロ選手のシュートを見たら「この人すごい」って思うのと同じだ。
野上の顔野上
そうそう。一発目のシュートの威力で、お客様にすごいと思ってもらえたら、その人はプロなんじゃないかな。「ちゃんと作れる人なんだ」ってところからスタートするから、信頼関係も築きやすいんですよ。
倉貫の顔倉貫
納品のない受託開発の場合、ときにはお客様からの要望を聞いたうえで「作らない」という判断をすることもある。無駄な機能を作っちゃうと、お客様にとっても負担になるし、誰も得しないから。なんだけど、プログラマが「作らない」と言うのは最初のうちは難しかったりするんだよね。

いろいろな理由があると思うけど、「本当は、作れないからそう言ってるんじゃない?」とお客様に疑念を抱かれないか、という不安もあるのだと思う。
野上の顔野上
一般的な受託開発だったら、作ることが価値だからね。
倉貫の顔倉貫
そう。だけど、さっき野上さんが言ったように「この人は作れる人なんだ」という信頼感を最初に獲得できれば、「作らない」提案もしやすくなると思うんだよね。「作れないから作らない」ではなく「作れるけど作らない」ことが、お客様もわかってくれてるから。

いきなりゴールを決めようとしなくていい

野上の顔野上
確かにね。あと、一発目のシュートは、別に外れてもいいと思ってる。いきなりゴールできるかは、そこまで重要じゃない。
倉貫の顔倉貫
へぇ、どういうこと?
野上の顔野上
「こいつはいつか決めるな」というのが最初に伝わることが大事かなって。そもそも、開発が始まったばかりだから、お客様も僕も、ゴールが何かもわからないことの方が多いんだよね。

納品のない受託開発は、ゴールを一緒に探りながら、開発を進めていく側面もある。だから、最初に作ったモノがお客様のイメージとずれてても、それは気にしない。ちゃんと動くモノを作って、触ってもらうことで「もうちょっとこうしたい」という次に進む意見を、引き出すことの方が重要かな。そのうえで、シュートの質とか、威力とかはすごく大事。
倉貫の顔倉貫
なるほど。面白いね。シュートの質、威力が重要で、一発目でゴールを決める必要はない。試合が始まって、最初の10分ぐらいで可能性を感じるシュートを打つ選手は、それだけでも何かすごいものを感じるもんね。
野上の顔野上
それで、また最初の話に戻るけど、一発目で「お、すごいな」って思ってもらえるコードを書くには、毎日書き続けるのが一番の近道なのかなと思う。だから、プロはコードを書き続けている人ってことになる。
倉貫の顔倉貫
うんうん。仕事でも遊びでも、どちらにおいても「コードを書き続ける」ことにこだわるってことだね。
野上の顔野上
そうすると、仕事と遊びの境目がどんどん曖昧になって、僕みたいにずっとコードを書いてる人間になる(笑)。

倉貫の顔倉貫
メジャーリーグのある強豪チームは、本番の試合でもどこか遊んでいるというか、すごくプレイを楽しむ雰囲気を持っているって前に聞いたことがある。周りからは遊んでいるようにも見えるんだけど、結果はしっかり残している。野上さんも同じで、仕事なのか、遊びなのかっていう境目がもはやよくわからないけど、結果はしっかり残している。今日は、その理由がよくわかった気がする。本当、アスリートみたいだね。
野上の顔野上
そうだね(笑)。

コードを書き続けていれば道は開ける

倉貫の顔倉貫
最後に、若手プログラマの身になってみての問いなんだけど、「とはいえ、仕事がきつくて、会社に不満があって、コードを楽しく書けない」みたいな人がいたら、どう答える? プログラマが置かれる環境は、まだまだ厳しい場合が多い。

ここまで読んでくれた人の中にも、「話はわかるけど、自分の環境では…」というわだかまりがある人もいるかもしれない。
野上の顔野上
それはね、答えは1つ。「とにかくコードを書け!」。これに尽きるかな。
倉貫の顔倉貫
明快だね。
野上の顔野上
仕事でもいいし、遊びでもいいし。とにかくコードを書くこと。若いならなおさら。だって、コードを書かないと、腕も上がらないし、ドヤれないし、何も始まらない。
倉貫の顔倉貫
会社に留まって腕を認めさせるとか、違うところに活躍の場を探しにいくとか、いろいろ選択肢があると思うけど、いずれにせよコードを書き続けないといけないよ、ってことだね。
野上の顔野上
うん。書き続けていれば、選択肢はいろいろ広がると思うんだよね。仕事と関係なくアプリを作ってて、そっちが認められるかもしれないし。前回話したように、どこか違うコミュニティで重宝されるかもしれないし。次第に筋肉もついて、いいサイクルにはまるよ、きっと。だから、コードを書き続けていこう。これがアドバイス。
倉貫の顔倉貫
最後も、すごくアスリート的なアドバイスで終わったね。実は、ソニックガーデンってどこか体育会系の雰囲気もあるなぁと思ってたんだ。でも、決して上下関係が厳しいとかそういう組織ではないから、あまり言ってなかったんだけど、今回の対談を通じて、改めて我々は「アスリート的なプログラマの集まり」なんだな、っていうのがわかった。うん、まさに第三の道にふさわしい、新しいプログラマ像について話せたね。楽しかった。
野上の顔野上
いろいろ話せましたね。僕も、すごく楽しかった。
倉貫の顔倉貫
この後も、コード書くの?
野上の顔野上
うん、書くよ。
倉貫の顔倉貫
そうか(笑)。

以上で、2人の対談を終わります。「プログラマとしての第三の道」シリーズも今回で終了です。最後までお読みいただき、ありがとうございました。

文=長瀬光弘

前の記事
第二回 プログラミングとはスポーツである
次の記事
専業主夫を経てソニックガーデンへ入社。地元沖縄でライフステージに合わせて柔軟に働く魅力とは?
一覧へもどる
まずは話を聞きたい