49
Scala @Kuchitama 1 / 49

スタートアップとScala

Embed Size (px)

Citation preview

スタートアップとScala@Kuchitama

1 / 49

お話の内容スタートアップにおける技術選択シェアウィズの事例を紹介

技術選択における判断の観点の知見を共有

2 / 49

アウトライン1. 自己紹介

2. シェアウィズについて

3. プロジェクトについて

4. ゴネ方選定戦略について

3 / 49

@Kuchitama%w[ ほげ駆動 ScalaMatsuri ScalaKansaiUG ].collect do |community|

"#{community}の方から来ました"end

岡山出身です。

(実家、赤磐市)

自己紹介

お好み焼きは、生地と玉子で具を挟んで焼きま

4 / 49

自己紹介私事ですが、

8月に転職しました

フリュー株式会社 ソーシャルゲーム開発

 ↓株式会社シェアウィズ

今日はシェアウィズの技術選択のお話です 5 / 49

設立3年のスタートアップ @大阪

いわゆるEdTech ベンチャー

株式会社シェアウィズ

EdTech = Education × Technology

6 / 49

株式会社シェアウィズ現在のメンバーは8人(1名は東京リモート勤務)

エンジニアは4人

運営中のサービスは 5 サービス

7 / 49

株式会社シェアウィズ既存システムは Ruby on Rails 製

(関西Ruby会議06 のスポンサーなども)

8 / 49

株式会社シェアウィズ既存システムは Ruby on Rails 製

(関西Ruby会議06 のスポンサーなども)

Rubyistの会社です

9 / 49

今回のプロジェクト

ShareWisのリプレース

10 / 49

今回のプロジェクト

ShareWisのリプレース

動画による

スナックラーニングサービスに11 / 49

@Kuchitamaの状況入社直後(というか内定後、入社前)から、

完全リニューアルのサーバサイドを担当することが決定

 ↓

実質 1 人

12 / 49

@Kuchitamaの心境

13 / 49

@Kuchitamaの心境

マ・ジ・か !?

14 / 49

@Kuchitamaの心境

マ・ジ・か !?チームにJoinしてRoRするつもりだった

(あわよくば、チームにScala布教していくつもりだった)

15 / 49

@Kuchitamaの心境こうなったら、 Scala実績作って

一気にシェアウィズを塗り替えてやるわー

ふははははは

16 / 49

とはいえ、会社の代表的サービス

新入りがゴネて勝手した形にはしたくない

17 / 49

とはいえ、会社の代表的サービス

新入りがゴネて勝手した形にはしたくない

 ↓

運用や体制にも影響するので、ちゃんと採用技術を検討しよう

運用できるの一人とかつらいし

18 / 49

とはいえ、会社の代表的サービス

新入りがゴネて勝手した形にはしたくない

 ↓

運用や体制にも影響するので、ちゃんと採用技術を検討しよう

でもScalaは使いたいんや運用できるの一人とかつらいし

19 / 49

ということでロジカルな面 と エモい面 で攻める

20 / 49

ロジカル

点取り表を作成

ということでロジカルな面 と エモい面 で攻める

21 / 49

ロジカル

点取り表を作成

エモーショナル

ポエム的な文章を作成

ということでロジカルな面 と エモい面 で攻める

22 / 49

ロジカルに攻めるちゃんと説明したい

議論できる下地を整えたい

23 / 49

ロジカルに攻めるちゃんと説明したい

議論できる下地を整えたい

 ↓

点取り表を作成

24 / 49

点取り表項目を洗い出し → なるべく偏らないように

係数を調整→ Scalaが一番になるように プロジェクトに合わせて

25 / 49

係数調整

26 / 49

点取り表ロジカルに選定するための取っ掛かりになった

議論に応じて、観点を追加できた

27 / 49

ポエム数値化しづらい観点を書き出した

エモい部分をアピールした

28 / 49

会社の文化(1)ShareWisは学習体験を提供する会社

 ↓

メンバーも学習に積極的

 ↓

Scalaのパラダイムは学習する価値がある

(詳しくはBlog見て)

29 / 49

会社の文化(2)元々RoRをやってる会社

 ↓

ScalaはRubyのいいところを取り入れてる

 ↓

実はそんなに学習コスト高くないのでは?

30 / 49

おまけ: 想定問題の対策コンパイル遅い

 ↓

CI使ったらストレス軽減できるよ

Scala2.11は結構早くなってるよ

31 / 49

ポエムエモい部分を明文化した

不安材料が見えるようになった

32 / 49

ポエムエモい部分を明文化した

不安材料が見えるようになった

でも、議論のたたき台にはならなかった

 ↓

「なるほどー」で終わりがち

熱量は伝わった?

33 / 49

結果

34 / 49

結果

サーバサイドは

35 / 49

まとめShareWisにおけるScala採用のための戦略

2つのアプローチをとった点取り表を共有してロジカルに判断した

エモい理由も文章に起こして共有した

36 / 49

しかし、もうひとつの

アプローチが...

37 / 49

フロントエンド

38 / 49

フロントエンドReactNative製

39 / 49

ReactNative製

当初、僕はじめ、フロント担当以外全員難色

40 / 49

ReactNative製

当初、僕はじめ、フロント担当以外全員難色

どうやって導入したの?

41 / 49

気がついたら

リポジトリにコミットが…

42 / 49

力技じゃねーか

43 / 49

力技じゃねーか許可を求めるな謝罪しろってこと?

本人が責任持って進めてくれた

学習コスト低くて、僕も開発に参加できた

44 / 49

力技じゃねーか許可を求めるな謝罪しろってこと?

本人が責任持って進めてくれた

学習コスト低くて、僕も開発に参加できた

結果オーライだけど...

45 / 49

勢いに負けないために

46 / 49

勢いに負けないためにScala普及を進めたいので

47 / 49

勢いに負けないためにScala普及を進めたいので

A Tour of Scala 作成中

A Tour of GoのScala版

社内で長くScalaできるように道筋を作りたい

まだ目次書きかけ

言ったからには後には退けない...

48 / 49

乞うご期待ご静聴ありがとうございました

あと近日リリース予定なので、

DLよろしくお願いします

49 / 49