Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スタートアップにおける言語とフレームワークの選択 / Why we chose Ruby on Rails as a startup

B303a306959e28c9869d84aa5620814d?s=47 Autify
March 19, 2021

スタートアップにおける言語とフレームワークの選択 / Why we chose Ruby on Rails as a startup

B303a306959e28c9869d84aa5620814d?s=128

Autify

March 19, 2021
Tweet

Transcript

  1. スタートアップにおける言語とフレームワークの選択 2021年3月19日 銀座Rails#31 Autify 松浦隼人

  2. 自己紹介 松浦 隼人 • オーティファイ株式会社 CTO (2020年1月〜) • Twitter :

    dblmkt • 経歴 ◦ インフラ何でも屋 ◦ 某ブログサービスのインフラ担当 ◦ テクニカルサポート ◦ インフラ + Rails ◦ CTO (イマココ) • 趣味 ◦ 翻訳
  3. https://autify.com/ja

  4. E2Eテストはハードルが高い? - Autifyを使えば E2Eテストはハードルが高い? - Autifyを使えば • 手でやるのは工数がかかる ◦ 自動化しましょう!

    • シナリオ作る・書くの大変 ◦ テストシナリオ作成が簡単 • 実行するの大変 ◦ 複数のブラウザでテスト実行 • 作った後も大変 ◦ AIの力でシナリオ修正を支援
  5. None
  6. 創業時からRailsを使用 • 創業時 ◦ コミュニティ翻訳ツール ◦ 近澤がRailsで着手 • その後、共同創業者として山下がジョイン ◦

    創業者2人が共通して知っているフレームワーク の方が望ましい ▪ Railsでの開発を継続 ▪ 新サービスをリリース
  7. ピボットを経て • Gitを使ったCMS ◦ これまで作った資産を活用するため引き続き Railsを採用 • (Alchemist Acceleratorへ) •

    BDDツール ◦ 同様にRailsを採用
  8. Autify 開発前夜 • 当時、フロントエンドに強いエンジニアが在籍 ◦ バックエンド・インフラもできる山下と分業できる ◦ Railsバックエンド + ReactフロントエンドによるSPA化を決断

  9. Autify PMFを迎える • 製品完成前に契約獲得 ◦ Burning needsをとらえ、PMFを達成 ◦ 当社CEO近澤のブログ 「顧客のBurning

    needsを解決する」 • Reactを捨ててRailsのみに戻す ◦ 初期プロダクトでは、リッチなUIなどは必須ではない ◦ 実装コスト ▪ 管理画面の方が機能が多い ◦ フロントエンド・バックエンド間のコミュニケーションミスが多発 ▪ 開発を遅らせる原因に
  10. 価値を最速で届ける技術>>>(越えられない壁)>イケてる技術 • スタートアップの最初期 ◦ とにかく価値を最速で届けるのが最重要課題 ▪ 価値を届けられないと死ぬ ◦ リッチなUIよりも問題を解決できること ▪

    スムーズな動作ですら最低限でいいケースも
  11. Autifyの開発本格化→正式ローンチ • 2019年3月、ベータローンチ • 2019年4月、フロントエンドエンジニア入社 ◦ ページごとに徐々にSPA化を始める ▪ SPA化のメリットが大きいページから着手

  12. Autifyの開発本格化→正式ローンチ • 2019年9月、エンジニアが複数入社 ◦ 分業が可能な体制に • 2019年10月、正式ローンチ

  13. Autifyの現在 • 技術スタック ◦ フロントエンド : React (TypeScript) ◦ バックエンド

    : Ruby on Rails ◦ インフラ : AWS • ページごとのSPA化引き続き進行中
  14. • 技術ではなくビジネスに集中する • 考えることが一番少ない言語・フレームワーク・製品がベスト ◦ Railsに乗りさえすればRailsは楽 ▪ 成熟した多数のgem ▪ 使い古された機能

    : 例、ORMや多言語化サポートなど ▪ 大抵の開発者向けサービスでサポートされている • 監視サービス、ログサービスなど • 必要以上の分業より、1人でも面倒を見られるようできるだけ少ない技術で 技術はビジネスを成長させる道具
  15. • Choose boring technology (退屈な技術を選択せよ) ◦ できるだけ少ない数の、枯れた技術 (= 退屈な技術)を選んで使う ▪

    Known unknown : 何が起こるかわからないとわかっていること ▪ Unknown unknown : 何がわからないのかもわからないこと • 退屈な技術 = ナレッジが広く共有されているので、わからないことが少な い ◦ プロダクトをshipせよ 技術はビジネスを成長させる道具
  16. まとめ • スタートアップは価値を素早く届けないと死んでしまう ◦ 最速で価値を届けられる技術を選ぶ • 技術はビジネスを成長させる道具 ◦ 考えることが少なくて済む(退屈な)技術を選択すべし ▪

    Railsは成熟度、情報量などの点で優位
  17. None
  18. https://autify.com/ja/careers/