先日、採用に関してメールで質問を頂いた。質問の内容は、新しい技術要素が出てきているが、ソニックガーデンが会社として技術の採用はどう考えているのか?という、技術的な切り口だったので、その回答を社内で意見を集めることにした。

技術的なトピックについて、このブログではあまり取り上げていないのだが、ソニックガーデンのメンバたちがどう考えているか生の声がわかると思うので、頂いた質問と私の回答を、本人の了承を得て、一部抜粋した形でこちらにも掲載しよう。

ホラクラシーのような指示命令や管理統制のない組織での技術戦略について興味のある方、ソニックガーデンに応募しようと考えている方にとって参考になれば幸いだ。

新しい技術の採用に関する質問

御社の、顧客といい関係を維持し続けようとするビジネスモデルや、プログラマが一人で責任をもって開発するというやり方に憧れ、御社で働くことができたらと夢見ています。

採用プロセスに進みたいのですが、その前に技術に対する考えについて、質問させてください。

御社で働きたいという思いと共に、私はSPAで一から開発をし、顧客に価値を届けたいと考えています。ユーザビリティを考えれば、クライアントサイドの開発は重要な要素です。またFirebaseなど、SPA開発に注力できるようなサービスも出てきています。そのような背景から、今後はSPAがWebアプリケーション開発の中心になるのではないかと思うからです。

しかし御社のバーチャルCTO業務における中心技術はRuby on Railsであり、SPAとの相性は悪いと考えています。SPAを導入するということは、RailsのviewやCSRF対策技術を捨てることになります。御社においては、顧客自身に軽微な文言修正をしてもらうために、i18nのモジュールを使っているために、重要な部分でもあると思います。

ここで本題の質問なのですが、御社ではSPAに対してどのようにお考えでしょうか。

ソニックガーデンからの回答

ソニックガーデン倉貫です。
お問い合わせありがとうございます。

少し長くなりますが、頂いた質問に回答します。

弊社は、"Ruby on Rails"を得意とするエンジニアが集まって始めた会社ということもあり、こと「納品のない受託開発」においては、これまでRailsを採用してきました。(ちなみに、自社サービスではその限りではありません)

ただし、私たちのサービスの本質は、プログラミングのプロとして、お客様の問題解決を行うことだと考えています。技術には社内では徹底的にこだわりますが、こだわりの押し売りはしません。

ですので、こだわった上でのRailsですが、固執している訳ではなく、この先も必要があれば、最適な技術要素に変えていくつもりです。現時点では、価値を提供する最適な手段がRailsだというだけです。

また技術戦略として、社内のノウハウ共有と生産性を考えて、社内の共通スキルとしてRailsに統一していますが、その上で、お客様の案件に応じて、アプリ開発などもしています。

アプリだと、ネイティブもあれば、ReactNatvieを使う人もいます。ウェブのフロントも、vue.js、reactを使う人、様々です。この辺りになると、会社で統一している訳ではありません。

会社の規模が少し大きくなって、ある程度のリスクヘッジや挑戦もできるようになったことや、トップダウンで決める組織ではなく、フラットで自律的な組織に移行してきたこともあって、技術戦略の考え方も、ルールや決め事を押し付けない形にしてきました。

具体的には今は、会社がスタンダードを決めて従わせるのではなく、メンバーそれぞれが好きで興味ある技術を調べて試して、多くの人が採用した技術が生き残るデファクトスタンダード方式を採用しています。

そのために、会社として一定の答えを求めるのではなく、各自が自分ごとでどうするかを考えるようにしています。実際のところ、SPAとRailsについて、どう考えているのか、社内で意見を収集したので、それを添付しておきました。

(クリックで拡大します)

私個人の意見としては、SPAはユーザビリティに影響する話で、顧客とともにサービス内容から適切かどうかで選定するもので、Railsは実装レベルの話で、そこは顧客に関係なく生産性、保守性などを鑑みて技術者が選定するもの。

SPAに向いた案件であれば採用をすればよく、実装については、その時点の最適を選べるように準備しておく。今は、まだ Rails という選択。ただし、将来への投資として、私が見ているソニックガーデン社内システムの一部や、新卒の教育は、Firebaseを活用したサーバレスで開発を行ったりしています。
(とは言え、社長の考えだからと、それに決まるものでもありません)

このように、誰か一人が決めるのではなく、同じレベルと目線で、技術について語り合って、それぞれが考えて選択していく環境があれば、SPAに限らず、新しい技術の波が訪れようと、変化に対応していくことができるのではないかと考えています。

何よりも、技術に対して熱く語り合える仲間がいる環境は楽しいですね。

こんなところですが、回答になってますでしょうか。
よろしくお願いします。

* * *

私たちの技術戦略について、以下の本にも書いてます。