学生時代から、とにかくコードを書いていた
是澤:まず教えてもらいたいのが「学生時代はどんなことをしていたか?」と「社会人1年目はどんなことをしていたか?」です。
名村:僕は小学生の頃からずっとコードを書いていました。東京に来て1年目はSIerに入り、各企業に常駐する形でシステムを作っていましたね。
是澤:常駐先で使っていた言語は?
名村:言語はさまざまです。企業によって異なりました。
是澤:学生時代にはどんな言語を使っていましたか?
名村:Java、PHP、Perl、C++ですね。
是澤:学生でそこまでやれるってすごいですね。
名村:でも、おそらく登壇者のみなさんは学生時代からやっていると思いますよ。SIerの次はサイバーエージェントに転職し、現在はメルカリで働いています。
増井:僕は高校2年生の頃からフリーランスとして働いており、C言語で会計事務所のシステムを開発していました。その後は自分で起業したので、社会人になったという認識はいまだにありません。普通の人と比べると特殊なキャリアかもしれないですね。
是澤:起業は何歳くらいのときですか?
増井:22歳か23歳。フリーランスでやっていた仕事が、個人では受けられない量になってきたので、法人化して社員を雇っていました。でも、僕は経営に全く向いていなくて。「コードを書いている方がやっぱり好きだな」と26歳くらいで感じ、フリーランスに戻ったんです。その後、紆余曲折を経てトレタのCTOになりました。
村田:私も小学生の頃からコードを書いています。学生時代は時間さえあれば、ひたすらプログラミングしていました。大学で博士号を取って修了した後、ベンチャー企業の社内SEに。その後、東京に出てきてからクックパッドに就職し、リクルートホールディングス、Speeeと移っていきました。
OSSのメリットは他人のコードを読めること
是澤:次は「OSS的な活動をやってきたか」について、お話を聞かせてください。
増井:PukiWikiというツールをご存じの方はいらっしゃいますか?(会場の参加者に挙手を促す)ありがとうございます、あれは僕が作っていたものです。
僕は、PukiWikiプロジェクトにおいてエンジニアとしてはあまり活動していなくて、むしろプロダクトオーナーに近い立場で関与していました。
OSS開発に関する『伽藍とバザール』というエッセイがあるんですけど、これを読んで影響を受けたことがPukiWiki誕生のきっかけです。オープンソース的なチーム開発をやってみたいと思い、『伽藍とバザール』の内容に沿って、人を集めてものを作ってリリースし、誰かに譲るところまでを一通りやりました。
このプロジェクトで初めてオープンソースの経験を積んだのは、僕ならではの個性的な経歴だと思います。
名村:私は、いろいろなリポジトリにプルリクエストを送るなどはしています。でも、有名なツールを作ってはいないですね。OSSってメンテナンスをきちんとしなければいけないですけど、僕は社員として働いているので時間的な制約があり対応が難しいこともある。だから、OSS活動はあえてやらないようにしています。
村田:僕はコードを書き始めたきっかけが、雑誌に載っているプログラムを打ち込むことからでした。そういった意味では、最初からオープンソース的なものを触っていました。その後の活動も、OSSをやろうというモチベーションで取り組んでいたわけではなく、好きなことをしていたら自然とOSSと呼ばれるものになっていましたね。
是澤:会場にいる方々に「OSS活動をするならこういう学習方法がいい」などのアドバイスはありますか?
村田:OSSの良いところは他人のコードを読めることなので、いろいろなものを読み続けることは大事だと思います。
名村:僕が好きなOSSは、JavaやGoのコアライブラリです。言語のことを最もよく知っているエンジニアたちが、非常に効率的なコードを書いている。読むとすごく勉強になると思います。世界最高峰がわかるというか。
村田:RubyはStringやArrayのコードを読むといいです。要素数が少ないときにオブジェクトに埋め込むなど、さまざまな最適化のテクニックがちりばめられています。そういったコードの意味を学んでおけばスキルアップにつながるはずです。
是澤:特に「このRubyコミッターが書くコードは読んでおいた方がいい」ということ挙げるなら?
村田:田中哲さんというコミッターがいるのですが、彼が書くコードはかなり参考になるので、オススメです。