2017年4月7日
このインタビューは、日本のサイボウズ・スタートアップスの開発者である鹿沼生さんへのものです。
ClojureまたはClojureScriptを使ってどのような製品やサービスを構築していますか?
ClojureとClojureScriptを使って安否確認サービスを構築しました。
主な機能は以下のとおりです。
気象庁からの災害情報(地震、津波など)やユーザーの操作によって、メールや通知をトリガーします。
ユーザーはメール/通知からアンケートにアクセスし、安全かどうか、仕事/通勤ができるかどうかなどの状況を回答できます。
災害発生時の事業継続の意思決定に使用できる、回答の集計ビューを提供します。
システム全体は以下で構成されています。
メインのユーザー向けWebアプリケーション(Clojure/ClojureScript)
メール/通知を送信するワーカー(Clojure)
モバイルアプリ用のAPIサーバー(Clojure)
外部システムがユーザーデータを更新できるようにするAPIサーバー(Clojure)
バックエンドの管理アプリケーション(Clojure/ClojureScript)
主にAWS Elastic Beanstalkにデプロイしています。
ClojureまたはClojureScriptを使用しているチームの規模は?
私たちは3人のチームで、全員がサーバーサイドにClojure、フロントエンドにClojureScriptを使用しています。3人全員がEmacs + Ciderで開発しています。2人はLinuxマシンを使用し、1人はMacを使用しています。
ClojureまたはClojureScriptのライブラリで最も楽しく作業できたものは?
2つのライブラリについて言及したいと思います。
transit-clj - サーバーとブラウザ間でデータをやり取りする際の摩擦を大幅に軽減するため。これは他のほとんどの言語で共通の問題です。
bidi - これなしでは生きていけません!私たちのアプリには動的に生成されたURLがかなりあり、双方向ルーティングなしでそれらを作成するのは悪夢だったでしょう。
ClojureまたはClojureScriptを使用することで、最も価値があると感じるのはどのような点ですか?
REPLによるインタラクティブな開発と、Ciderやfigwheelのような優れたツールにより、非常に迅速な反復が可能になります。
プログラムを非常にシンプルで理解しやすくするためのイミュータブルなデータ構造
フロントエンドとバックエンド間でコードを共有する機能
ClojureまたはClojureScriptを使用することは、ビジネスにとってなぜ価値があるのですか?
技術的な利点とは別に、私たちは技術ブランディングのためにClojureに焦点を当てて投資しています。その究極の目標は、才能のあるエンジニアを採用することです。ブランディングにとって重要だった要素は次のとおりです。
長く続くもの(ライブラリ/フレームワークではなくプログラミング言語)
エンジニアの成長を助けるもの
エンジニアをワクワクさせるもの
それに関心のあるエンジニアは才能がある傾向があるもの
小規模なチームを維持したかったので、人気がある必要はありませんでした
採用競争が少ない
日本で一番になれるもの
Clojureはこれらの要素によく合致しており、今のところ結果に満足しています。それが、私たちのチームの3人のメンバー(全員がClojureを愛している)が集まった方法であり、毎月1〜2件の応募を常に受け取っています。(ご参考までに:日本で採用中です!→ https://cstap.com/jobs/dev-engineer.html)
Clojureのストーリーを共有したい場合は、このフォームに記入してください。