Talked with senior clojurian

先日 Clojure を 5 年くらい仕事で使っている会社の人と話す機会があった。

きっかけは Wantedly を眺めていてちょっと興味があったから。転職する気は今のところほぼ 0% だけど [1] 、 Clojure のお仕事をやっているという会社は多くないし情報収集も兼ねてちょっと会いに行くことにした。 ちなみに僕の知る限りでは Clojure を日本で 5 年間も(つまり、 2010 年ごろから)コンスタントに仕事で書いている人というのは聞いたことがない [2]

今回遊びに行ったのは 株式会社コネクティ さんです。お話したのはプログラマ兼副社長の藤田さん。

コネクティさんについては以下のような感じです。

  • オフィスは良い雰囲気だった
    • Mac が多かった
    • 服装も自由ぽい?
    • 藤田さんはバランスボールを普段使っているみたい
  • Clojurian は藤田さん含めて 3 人
    • 他のふたりは元々 Lisper ですらなかったけど、今では難なく Clojure を書いているらしい
  • Clojure を使っている理由はプロダクトを Clojure で書いたけど意外に問題なかったから
    • 採用の経緯は Rich Hickey が本気でやってるぽかったから採用してみたらしい(だったかな)
  • Clojure で CMS を作っているとのこと
    • Cassandra とかも使ってるらしく熱い

こんな感じかな。ほとんど Clojure の話しかしてないのと CMS を Clojure で作ってるという話しかしてないので、会社そのものの話に関してはあまり聞いてなかった気がします。

色々質問したことを書いていくとこんな感じ。

Q: 実際に開発で Clojure 使ってるって本当ですか?
A: 本当です。だいたい 5 年くらい前から開発して運用してるけど不思議なことに今まで困ったことがないです。

Q: 今までコネクティさんの名前を聞いたことなかったんですけど( Clojure を採用している企業として)、あまり外(勉強会など)には出てないんでしょうか。
A: 勉強会などに全く出ないということはないんですけど、作ってるものが CMS でコンシューマー向けのサービス作ってる人とは話が会わないのもあってあまり出ないですね。あとは Clojure というと「 Lisp はちょっと」とか「括弧」とか言われるので諦めてあまり言わないですね。

Q: Clojure は実際にどういうライブラリとか使ってますか?ルーティングライブラリとかデータベース周りだったりとか。
A: 前は Compojure を使ってたけど、最近は WebSocket でやっちゃうことが多いのであまりルーティングとか意識しないです。 DB だと Cassandra 使ってるので Cassaforte とか。あとは Immutant とかも使ってますよ。

Q: Clojure 導入したとき藤田さん以外のメンバー文句とか言ってなかったんですか?
A: なかったと思います。全然 Lisper だったとかそういうわけじゃなかったんですけどね、今では普通に Clojure 書いてますよ。

というような話をしていた気がします(数日前なので若干記憶が怪しい/あと僕は完全に酔ってた)。あとはどういう人だったら雇いたいかとか、新しい言語 “やりたい” じゃなくて “やればいいじゃん” みたいなことを話していたような気がする。それから Clojure いいよねとか、 Clojure いいよねとか、 Clojure いいよね、とか。

延々と数時間ビール片手に色々話をした結果、 Clojure を採用しているけどものすごく Clojure にこだわっているというよりは、空気を吸うように Clojure を選択して Clojure を使っているんだなぁという印象でした。ああ、ただ Scala は嫌だみたいな話は一緒にしたような気がします。

そんな Clojurian な藤田さんがいるコネクティさんに興味ある方は、一度募集を覗いてみるといいのではないでしょうか。

あ、 Clojure やってる人で飲み会しようぜみたいな話とかもしたので興味ある方は声をかけていただけると僕と藤田さんが喜んで誘いに乗るかもしれません。

Clojure を採用している会社というのは決して日本では多くないわけだけど、こういう風に実は使ってますという会社というのはちらほらと存在しているのだろうなと今回の話を通して思いました。ただ、やはり今回のようになかなか表舞台に出てこない会社というのもあると思いますし、 Clojurian 同士が交流する機会というのもなかなかないので(そもそも人類と交流したくないとかそういう話は置いておいて)積極的に機会を作っていけたらなと思いました。

とはいえ思っているだけでは仕方ないので、そういう機会を作るべく僕がちまちまやってるのが幾つかありまして、一応紹介しておくと次のふたつがあります。

ひとつ目は 2 ヶ月に 1 回くらいの頻度で僕が所属するサイボウズスタートアップスにて行う小さめの交流会というかもくもく会というかそういう感じのもので、ふたつ目がちょっと有志で企画した Clojure をもっと世の中に知ってもらうためにやろうとしています(ふたつ目のやつのリンクは TA 募集だけど、参加者募集は近日中に公開するのでお楽しみに)。

あとは逆引き Clojure が死んでしまったのでそれを僕が現在ちまちま再開発中です(あらかたできたんですけどね)。それとふたつ目のやつに関連して JapanClojurians というコミュニティを形にしていきたいと思っていて、ちょっとそのへんも画策中だったりします。

という感じで最後は色々最近やってます、という感じでしたがそんな感じです。

Note

サイボウズスタートアップスでは Clojure でアプリケーション開発したいエンジニアを募集しています。
[1]勿論いい会社があればと全く考えないわけじゃないですけど、最低でも数年( 5 年以上)は今の会社にいる気がしてます
[2]5 年前から使っているという条件だけなら満たす人もそこそこいるだろうという印象だけど仕事でコンスタントにっていうのはなかなか知らないです。