justInCaseaでは、様々な事業者様のアプリやWEBからエンドユーザーが保険に加入できるような”保険API“の開発を進めています。
その第一歩として、先日バックエンドのAPIを開発する言語を開発者みんなで選定し直しました。その様子をシェアさせてください!
そもそも課題は?
justInCaseではすでに消費者向けのアプリをリリースし、誰でも90秒で加入できるスマホ保険のサービスを提供しています。しかし、開業まで急いで作ったので以下のような点がエンジニア共通認識の課題になっていました。
- オンラインのAPIとバッチジョブで開発言語が異なり、ドメインロジックが分散している
- 開発言語がJavaScript(のちにTypeScript)とPythonで型がなく、I/Fのデータが想像しづらかったり、クラスの依存関係を追いづらかったりした
上記についてはTS導入やTypeAnnotationの積極活用(この辺は特にCTOの小泉が情熱的にやってます)を進めることで見やすくなってきました。しかし、新規に開発する保険APIは言語レベルで対策を取りたいね、という話がありました。
選定の決め手は?
というか、今日(2019/01/18)時点でまだ決めきってません!笑 とりあえず簡単なAPIから新しい言語で作成して、それでチームが気に入れば残りも行こう、という話になりました。
それで現在の有力候補ですが、IDEサポート、型システム、言語としてのオブジェクトの表現力…などを考慮して Kotlin が有力です!
サーバサイドKotlin面白そう!というのも決め手でしたね。
ちなみにそのほかの候補としては…
決勝
(Kotlin), Go, TypeScript
予選通過
Python
予選落ち
Ruby, JavaScript, Java, Haskell, .Net (C#), Rust, Elixir, Scala, Swift, PHP, COBOL… などなど、思いつくだけ(ちょっとやりすぎですね笑)
最後に…
実は上記のディスカッションですが、一番リードしていたのは3月入社予定のパートタイムのエンジニアだったりします。笑
なので上記の議論を見て「なんでこの言語じゃないんだ!」とか「サーバサイドKotlinならもっと〇〇があるぞ!」とか意見をお持ちの方、ぜひ遊びに来てくださいね!
ジャストインケースグループでは、さまざまな職種を採用中です。
ご興味がある方はぜひ、採用ページよりお気軽にご応募ください!