Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 松浦 隼人 ● オーティファイ株式会社 CTO (2020年1月〜) ● Twitter : dblmkt ● 経歴 ○ インフラ何でも屋 ○ 某ブログサービスのインフラ担当 ○ テクニカルサポート ○ インフラ + Rails ○ CTO (イマココ) ● 趣味 ○ 翻訳

Slide 3

Slide 3 text

https://autify.com/ja

Slide 4

Slide 4 text

E2Eテストはハードルが高い? - Autifyを使えば E2Eテストはハードルが高い? - Autifyを使えば ● 手でやるのは工数がかかる ○ 自動化しましょう! ● シナリオ作る・書くの大変 ○ テストシナリオ作成が簡単 ● 実行するの大変 ○ 複数のブラウザでテスト実行 ● 作った後も大変 ○ AIの力でシナリオ修正を支援

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Slide 7

Slide 7 text

創業時からRailsを使用 ● 創業時 ○ コミュニティ翻訳ツール ○ 近澤がRailsで着手 ● その後、共同創業者として山下がジョイン ○ 創業者2人が共通して知っているフレームワーク の方が望ましい ■ Railsでの開発を継続 ■ 新サービスをリリース

Slide 8

Slide 8 text

ピボットを経て ● Gitを使ったCMS ○ これまで作った資産を活用するため引き続き Railsを採用 ● (Alchemist Acceleratorへ) ● BDDツール ○ 同様にRailsを採用

Slide 9

Slide 9 text

Autify 開発前夜 ● 当時、フロントエンドに強いエンジニアが在籍 ○ バックエンド・インフラもできる山下と分業できる ○ Railsバックエンド + ReactフロントエンドによるSPA化を決断

Slide 10

Slide 10 text

Autify PMFを迎える ● 製品完成前に契約獲得 ○ Burning needsをとらえ、PMFを達成 ○ 当社CEO近澤のブログ 「顧客のBurning needsを解決する」 ● Reactを捨ててRailsのみに戻す ○ 初期プロダクトでは、リッチなUIなどは必須ではない ○ 実装コスト ■ 管理画面の方が機能が多い ○ フロントエンド・バックエンド間のコミュニケーションミスが多発 ■ 開発を遅らせる原因に

Slide 11

Slide 11 text

価値を最速で届ける技術>>>(越えられない壁)>イケてる技術 ● スタートアップの最初期 ○ とにかく価値を最速で届けるのが最重要課題 ■ 価値を届けられないと死ぬ ○ リッチなUIよりも問題を解決できること ■ スムーズな動作ですら最低限でいいケースも

Slide 12

Slide 12 text

Autifyの開発本格化→正式ローンチ ● 2019年3月、ベータローンチ ● 2019年4月、フロントエンドエンジニア入社 ○ ページごとに徐々にSPA化を始める ■ SPA化のメリットが大きいページから着手

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Autifyの現在 ● 技術スタック ○ フロントエンド : React (TypeScript) ○ バックエンド : Ruby on Rails ○ インフラ : AWS ● ページごとのSPA化引き続き進行中

Slide 15

Slide 15 text

● 技術ではなくビジネスに集中する ● 考えることが一番少ない言語・フレームワーク・製品がベスト ○ Railsに乗りさえすればRailsは楽 ■ 成熟した多数のgem ■ 使い古された機能 : 例、ORMや多言語化サポートなど ■ 大抵の開発者向けサービスでサポートされている ● 監視サービス、ログサービスなど ● 必要以上の分業より、1人でも面倒を見られるようできるだけ少ない技術で 技術はビジネスを成長させる道具

Slide 16

Slide 16 text

● Choose boring technology (退屈な技術を選択せよ) ○ できるだけ少ない数の、枯れた技術 (= 退屈な技術)を選んで使う ■ Known unknown : 何が起こるかわからないとわかっていること ■ Unknown unknown : 何がわからないのかもわからないこと ● 退屈な技術 = ナレッジが広く共有されているので、わからないことが少な い ○ プロダクトをshipせよ 技術はビジネスを成長させる道具

Slide 17

Slide 17 text

まとめ ● スタートアップは価値を素早く届けないと死んでしまう ○ 最速で価値を届けられる技術を選ぶ ● 技術はビジネスを成長させる道具 ○ 考えることが少なくて済む(退屈な)技術を選択すべし ■ Railsは成熟度、情報量などの点で優位

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

https://autify.com/ja/careers/