第一回 “遊ぶように働く”とは?

プログラマのキャリアを考えたとき、経験を重ねた先は管理職、もしくは独立してフリーランスといった選択肢がほとんどです。
しかし、どちらもプログラマとして腕を磨き続けることが難しい環境です。 そんな状況だからこそ、会社に所属しながら、ずっとプログラマを続けられる「第三の道」を選んだ方々に、プログラマを一生の仕事にした先に見える景色を語っていただきました。
今回の対談相手は、2014年に入社した野上 誠司さんです。
仕事、プライベート問わずプログラミングをしているという野上さん。最近では、参加型ハッカソン”ツクアソ”を主催するなど、コードを楽しみながら書く達人でもあります。そんな野上さんと、ソニックガーデンが掲げる“遊びながら働く”という考え方やプロフェッショナルとしてのあり方など、たっぷりと語り合いました。
“遊ぶように働く”は誤解されやすい?

一言でプログラマと言っても、いろんなタイプがいるけど、野上さんはライフ、ワークともにずっとプログラミングしているような人。ソニックガーデンが大切にしている“遊ぶように働く”という考え方を、まさに体現している人だね。

うん、仕事かプライベートかは問わずほぼ毎日コードは書いているし、社内でも遊び感覚でハッカソンをよく主催しています。あと、昔からプライベートでアプリやソフトウェアを、たくさん作って公開していますね。

最近も、「ツクってアソぶハッカソン」という社外の人も参加できるイベントも主催していたね。やってみて、どうだった?

参加者のみなさんが、プログラミングを純粋に楽しんでくれているのが伝わってとても嬉しかったですね。僕は、主催する立場だったので応募はできませんでしたけど、同じテーマ、同じ時間でプログラミングをして遊んでたんです。次回開催するときは、主催者と参加者の立場を両立できるように運営方法を工夫したいなと思った(笑)。

どうしても、自分で書きたくなっちゃうんだね(笑)。そんな野上さんに、プログラマとしての生き方とか、プロフェッショナルとは何なのか、とかいろいろ聞いていきたいと思います。ソニックガーデンには2014年に中途入社した古株組ですし、過去にはSI企業で長く開発経験も持つベテラン。若いプログラマに向けて、いい話が聞けるかなと。

ハードル高いなぁ〜。昔、社会人になりたての頃に「プロフェッショナルとは?」という質問をされたときは、「お金を稼げる人」と答えたのを覚えている。

なるほど。稼げない人がアマチュアで、稼げる人がプロだと。

若いなぁって思う(笑)。自分でも改めてプロとは何かを考えながら、話してみますね。

期待している(笑)。それで、今日は“遊ぶように働く”という考え方から話を始めていきたくて。というのも、この言葉はキャッチーなので共感を得やすいんだけど、同時に誤解もされやすくて。「遊ぶ=楽をする」と捉える人も多いし、「遊びと仕事が結びつかない」という人もいる。

なるほど。

だから、野上さんにとっての“遊ぶように働く”とはなんなのかを深掘りしていくことで、新しいプログラマ像を浮き彫りにしていきたいな、と思う。

じゃあ、まずは“遊ぶように働く”って具体的にどういうことなのかを話すのがいいかな。僕がソニックガーデンに入って、それを実感したのが、仮想オフィスツール「Remotty」の原型となるリモートワーク用のツールを開発したとき。倉貫さんと一緒にやったよね。

うん。あれはまさに遊び感覚だったけど、結果的に仕事にも繋がったというケースだね。そのツールの開発がスタートしたのは、野上さんが入社してすぐだっけ?

うん。当時、というか今もだけど僕は岡山県で働いていて、倉貫さんの講演を見て、ソニックガーデンに魅了され採用に応募したんです。紆余曲折を経て、ソニックガーデンへの入社が決まったタイミングで、一度渋谷のオフィスにみんなに会いに行くことになった。そのときに、せっかくならみんなとハッカソンでもやりましょうよって提案したのがきっかけだった。

そうそう。「みんなで集まるから、バーベキューでもしようよ」っていう感覚。それでテーマを考えたときに、野上さんはリモートワークをすることになるから、何かそれに関連するものを開発しようってなった。この連載にも出ている伊藤さんがリモートワーク第一号としていたんだけど、2人になるから何か新しいツールを作ってみようかとなったんだよね。
それまでもいくつかツールは使っていたけど、統合的なものはなかったし、しっくりくるものもなかった。ソニックガーデンには自分たちで使うものは、自分たちで作るという文化もあるので、みんなも乗り気だった。
それまでもいくつかツールは使っていたけど、統合的なものはなかったし、しっくりくるものもなかった。ソニックガーデンには自分たちで使うものは、自分たちで作るという文化もあるので、みんなも乗り気だった。
ただただ、作るのが楽しかった

そうだね。今でこそRemottyは1つの事業になっているけど、きっかけは社内ハッカソンだったんだよね。当然、外にリリースするなんて考えもなかったし、事業化するなんて発想も毛頭もなかった。でも、せっかくみんなでハッカソンして作ったからと、翌日僕が岡山に帰ってすぐにそのツールを使い始めたのは覚えている。

今思うと、それが大きかったと思う。だいたいハッカソンで作ったものって、使わずに終わるじゃん。でも、そのリモートワークツールはすぐにみんなで使ったんだよね。で、使ってみると気になる点とか、もっとよくしたいなーという点が出てくる。みんなからも、聞いてもないのにフィードバックがあったりして。

そうそう、最初はめちゃくちゃ使いづらかったし、機能も全然なかったから。それで、仕事の合間とか、夜の時間とかに倉貫さんとオンラインで話しながらほぼ毎日アップデートしていったよね。その時間はすごく楽しかったなぁ。倉貫さんは視野が広いから、こうすればもっといいんじゃない?というのがすぐ出てくる。僕は、だったらこういうコードでどうかな?というのを試してみる。
毎日アップデートして、すぐにそれを他のメンバーが使ってフィードバックをもらって、またアップデートする。2ヶ月ぐらいはそんな感じで、毎日作っていた。何のために、って考えることもあまりなかった。ただただ、作って、少しずついいツールになっていくのが楽しかったんです。だから、作ったけど「いらないね」といってすぐに捨てた機能とかもたくさんあったよね(笑)。
毎日アップデートして、すぐにそれを他のメンバーが使ってフィードバックをもらって、またアップデートする。2ヶ月ぐらいはそんな感じで、毎日作っていた。何のために、って考えることもあまりなかった。ただただ、作って、少しずついいツールになっていくのが楽しかったんです。だから、作ったけど「いらないね」といってすぐに捨てた機能とかもたくさんあったよね(笑)。

うん、でもそれもすごく大事なことだよね。コードって、下手すると事業やサービスの負債にもなってしまう。一気に規模の大きいソフトウェアを作ってしまうと、もし不要な機能があった場合捨てるのも大変だし。だから、捨てるのは早いほうがいい。トライ&エラーをどれだけ数多く経験できるかも、ソフトウェア開発にとっては重要な要素だよね。

そのツールはその後も他のメンバーの手も加わりながら、Remottyとして事業化され世に出ることに。その頃には機能が充実して、まさに仮想オフィスとも言える状態でした。ただ、今話したように遊びから始まったものだったし、開発している間はすごく楽しかった。これが、いわゆる“遊ぶように働く”の1つの形なのかなと思う。
新しい技術は、使いながら学んでいく

思い返してみると、今の話には、ソフトウェア開発で重要な要素も詰まっているなぁ。「まずは使ってみてフィードバックをもらう」「小さく作って、いらなければすぐ捨てる」。こうしたプロセスを受託開発で行えるようにしたのが、納品のない受託開発なんだと改めて思う。

緻密な設計なんて、まったくしてなかったからね。自分たちがリモートで居心地よく働ける場所を、自分たちで作っていった。ただそれだけのことなんだけど、それがいいソフトウェアに繋がるって思うと、プログラミングの奥深さを感じるなぁ。

本当にそう。個別の機能を見ていくと、他のリモートワークツールにも同じような機能はあるんだけど、自分たちで作るということにもこだわっていたからね。

こだわりもあったし、「自分で作ってみたい」という欲も大きかったかな(笑)。僕は、気になる技術があったらとにかく使ってみるタイプなんですよ。あまり技術について深く理解していなくても、とにかく使ってみる。

へぇ。プログラマによっては、しっかり技術について調べてから使うタイプもいると思うけど、野上さんは違うんだ。

この連載の1回目に出ていた遠藤さんはしっかり調べるタイプかな。ソニックガーデンという同じ会社にいるプログラマたちでも、技術との向き合い方は人それぞれ。ただ、共通して目指しているのは「きちんと動くかどうか」。使いながら学ぼうが、使う前にしっかり調べようが、要は動くソフトウェアが作れればいいんです。
僕は、たまたま使いながら学ぶタイプだったというだけ。だから、だいたいの場合、いきなり最初からうまく使えないですよ。使っていくうちに、上手に使えるようになっていく。それを繰り返している感じかな。
僕は、たまたま使いながら学ぶタイプだったというだけ。だから、だいたいの場合、いきなり最初からうまく使えないですよ。使っていくうちに、上手に使えるようになっていく。それを繰り返している感じかな。

なるほど。そういう考え方も、もしかしたら野上さんのスタイルを形作っていった要因かもしれないね。何かを作るときに、試しに新しい技術を使ってみる。作りながら、技術の扱い方を知っていく。

そうだね。だから、体を動かすのと同じ感覚なんですよ、プログラミングって。
ハッカソンから開発が始まったソフトウェアが、後に1つのサービスとなり事業化されていく。ドラマのような話ですが、“遊びながら”作っていくそのプロセスが、実はソフトウェア開発にとって理に適ったやり方だったことがわかります。
そして、対話の最後に野上さんがこぼした「プログラミングは体を動かす感覚と同じ」という言葉から、話はさらに発展。第二回では、第三の道にも繋がる、プログラマの本質論が展開されていきます。
(第二回に続きます)
文=長瀬光弘