銀座Rails#31 https://ginza-rails.connpass.com/event/205651/
スタートアップにおける言語とフレームワークの選択2021年3月19日 銀座Rails#31Autify 松浦隼人
View Slide
自己紹介松浦 隼人● オーティファイ株式会社 CTO (2020年1月〜)● Twitter : dblmkt● 経歴○ インフラ何でも屋○ 某ブログサービスのインフラ担当○ テクニカルサポート○ インフラ + Rails○ CTO (イマココ)● 趣味○ 翻訳
https://autify.com/ja
E2Eテストはハードルが高い? - Autifyを使えばE2Eテストはハードルが高い? - Autifyを使えば● 手でやるのは工数がかかる○ 自動化しましょう!● シナリオ作る・書くの大変○ テストシナリオ作成が簡単● 実行するの大変○ 複数のブラウザでテスト実行● 作った後も大変○ AIの力でシナリオ修正を支援
?
創業時からRailsを使用● 創業時○ コミュニティ翻訳ツール○ 近澤がRailsで着手● その後、共同創業者として山下がジョイン○ 創業者2人が共通して知っているフレームワークの方が望ましい■ Railsでの開発を継続■ 新サービスをリリース
ピボットを経て● Gitを使ったCMS○ これまで作った資産を活用するため引き続きRailsを採用● (Alchemist Acceleratorへ)● BDDツール○ 同様にRailsを採用
Autify 開発前夜● 当時、フロントエンドに強いエンジニアが在籍○ バックエンド・インフラもできる山下と分業できる○ Railsバックエンド + ReactフロントエンドによるSPA化を決断
Autify PMFを迎える● 製品完成前に契約獲得○ Burning needsをとらえ、PMFを達成○ 当社CEO近澤のブログ 「顧客のBurning needsを解決する」● Reactを捨ててRailsのみに戻す○ 初期プロダクトでは、リッチなUIなどは必須ではない○ 実装コスト■ 管理画面の方が機能が多い○ フロントエンド・バックエンド間のコミュニケーションミスが多発■ 開発を遅らせる原因に
価値を最速で届ける技術>>>(越えられない壁)>イケてる技術● スタートアップの最初期○ とにかく価値を最速で届けるのが最重要課題■ 価値を届けられないと死ぬ○ リッチなUIよりも問題を解決できること■ スムーズな動作ですら最低限でいいケースも
Autifyの開発本格化→正式ローンチ● 2019年3月、ベータローンチ● 2019年4月、フロントエンドエンジニア入社○ ページごとに徐々にSPA化を始める■ SPA化のメリットが大きいページから着手
Autifyの開発本格化→正式ローンチ● 2019年9月、エンジニアが複数入社○ 分業が可能な体制に● 2019年10月、正式ローンチ
Autifyの現在● 技術スタック○ フロントエンド : React (TypeScript)○ バックエンド : Ruby on Rails○ インフラ : AWS● ページごとのSPA化引き続き進行中
● 技術ではなくビジネスに集中する● 考えることが一番少ない言語・フレームワーク・製品がベスト○ Railsに乗りさえすればRailsは楽■ 成熟した多数のgem■ 使い古された機能 : 例、ORMや多言語化サポートなど■ 大抵の開発者向けサービスでサポートされている● 監視サービス、ログサービスなど● 必要以上の分業より、1人でも面倒を見られるようできるだけ少ない技術で技術はビジネスを成長させる道具
● Choose boring technology (退屈な技術を選択せよ)○ できるだけ少ない数の、枯れた技術(= 退屈な技術)を選んで使う■ Known unknown : 何が起こるかわからないとわかっていること■ Unknown unknown : 何がわからないのかもわからないこと● 退屈な技術 = ナレッジが広く共有されているので、わからないことが少ない○ プロダクトをshipせよ技術はビジネスを成長させる道具
まとめ● スタートアップは価値を素早く届けないと死んでしまう○ 最速で価値を届けられる技術を選ぶ● 技術はビジネスを成長させる道具○ 考えることが少なくて済む(退屈な)技術を選択すべし■ Railsは成熟度、情報量などの点で優位
https://autify.com/ja/careers/