$30 off During Our Annual Pro Sale. View Details »

SIer企業が Ruby で成長する自社 Web サービスをリリースするまでの失敗と成功の道のり

SIer企業が Ruby で成長する自社 Web サービスをリリースするまでの失敗と成功の道のり

2019-12-13に開催された、Ruby Business Users Conference 2019の発表資料です。

https://rubyassociation.doorkeeper.jp/events/99493

Hironori Yokoyama

December 13, 2019
Tweet

More Decks by Hironori Yokoyama

Other Decks in Programming

Transcript

  1. Ruby Business Users Conference 2019
    SIer企業が
    Rubyで成⻑するWebサービスを
    リリースするまでの失敗と成功の道のり
    株式会社システムインテグレータ
    製品企画室 横⼭ 弘典

    View Slide

  2. 横⼭ 弘典
    (@yokoyantech)
    (株)システムインテグレータ
    TOPSIC開発リーダー
    著書
    やさしいT-SQL⼊⾨
    基礎からわかる PL/SQL
    コミュニティ
    Saitama.rb
    2歳の息⼦BOT作りたい 2

    View Slide

  3. 本⽇お伝えしたいこと
    3

    View Slide

  4. 新ビジネスはRailsで。
    会社の⽂化も⼈⽣も変わります。
    4

    View Slide

  5. (株)システムインテグレータ
    さいたま市
    東証⼀部
    創業24年⽬
    事業内容
    ⾃社パッケージソフト
    企画、開発
    カスタマイズ
    WEBサービス
    開発、運営
    5

    View Slide

  6. 6

    View Slide

  7. 7

    View Slide

  8. 8

    View Slide

  9. 9

    View Slide

  10. AtCoder社による問題作成
    国内最⼤の競技プログラミングコンテンストの開催企業
    10

    View Slide

  11. 11

    View Slide

  12. 12

    View Slide

  13. 13

    View Slide

  14. 14

    View Slide

  15. 15

    View Slide

  16. 16

    View Slide

  17. 弊社の主な技術スタック
    17

    View Slide

  18. 18

    View Slide

  19. 19

    View Slide

  20. 20

    View Slide

  21. 21

    View Slide

  22. 事業部、製品で様々
    22

    View Slide

  23. Ruby採⽤のきっかけ
    23

    View Slide

  24. 社員の軽い⼀⾔
    24

    View Slide

  25. SaaS作るなら
    Railsでサクッとやったら︖
    25

    View Slide

  26. 採⽤
    26

    View Slide

  27. 27

    View Slide

  28. Ruby経験者がいない
    28

    View Slide

  29. 社内のRubyエンジニア数
    ●⼈/150⼈
    中途採⽤も試みるものの
    なかなか上⼿くいかず・・・
    29

    View Slide

  30. 当社のパートナー企業さん
    Java/C#
    新規事業であるため
    ずっと仕事をお願いすることが難しい
    (短期間の技術アドバイザーを依頼)
    30

    View Slide

  31. 社内で異動
    +
    新卒を育成
    31

    View Slide

  32. Ruby/Railsを学ぶ
    32

    View Slide

  33. 33

    View Slide

  34. 34

    View Slide

  35. 35

    View Slide

  36. 未知の⾔語Rubyでびっくりしたこと
    本当に全部オブジェクト
    演算⼦はメソッド呼び出しのシンタックスシュガー︕
    instance method Integer#+
    irb(main):001:0> 1.class
    => Integer
    # これは以下のシンタックスシュガー
    irb(main):002:0> 1 + 2
    => 3
    # 本来はこう
    irb(main):003:0> 1.+(2)
    => 3
    36

    View Slide

  37. 未知の⾔語Rubyでびっくりしたこと
    アクセサメソッドに set_ , get_ と書かないのに違和感
    セッターに = がついてる︕︕︕
    メソッド呼び出し時に()が省略できる
    Class User
    # initializeなどは省略
    def name=(val)
    @name = val
    end
    end
    user = User.new
    # 変数代入ではなく、name=メソッドの呼び出し!!!
    user.name = 'yokoyama' 37

    View Slide

  38. 未知の⾔語Rubyで困ったこと
    ⾃由
    プログラマ的には楽しい
    書き⽅が⾊々ある
    ハッシュとシンボルに慣れなかった
    # シンボルをキーにしたハッシュ
    prices = { :apple => 100, :orange => 200 }
    # Ruby1.9以降
    prices = { apple: 100, orange: 200 }
    38

    View Slide

  39. 未知の⾔語Rubyで困ったこと
    チーム内で⼒量差がある
    オブジェクト指向の秩序が乱れることも
    Java的に型で縛りたくなることもある
    型宣⾔
    interface
    abstract
    安全性は上がるが冗⻑
    ダックタイピングを理解する
    Ruby3に期待︕
    39

    View Slide

  40. Ruby/Railsの
    最善⼿法がわからない
    40

    View Slide

  41. はじめてのデプロイ
    ⼿動×サーバ数
    git pull origin master
    41

    View Slide

  42. 世の中を知るために
    コミュニティに参加
    42

    View Slide

  43. 経験不⾜はツールで補う
    43

    View Slide

  44. 44

    View Slide

  45. 開発⼿法がSIerあるある
    45

    View Slide

  46. ウォーターフォール
    体制
    少⼈数だけど分業
    管理する⼈
    設計する⼈
    コード書く⼈
    コードを全く書かない⼈
    がいるのは⾟い
    テスト
    ⼈⼒
    EXCELテスト仕様書 46

    View Slide

  47. ⼈⼿が⾜りない
    47

    View Slide

  48. 開発のやり⽅を変えた
    48

    View Slide

  49. 変えたこと
    チーム全員がコードを書く
    フルスタック
    必要最低限の管理
    要件からモノを作る
    アジャイル開発へ
    レビューはプルリクで統⼀
    アプリ以外もコード化
    仕様、ER図、インフラ
    テストはRSpecへ(挑戦中)
    49

    View Slide

  50. ⾊々変えた結果
    継続的なサービス開発が可能に
    50

    View Slide

  51. 柔軟性 & ⽣産性
    要件さえあれば作れる
    単純なModelの検索画⾯
    1⽇くらいでできる
    Javaでプロダクトを作って
    いた頃
    検索系の機能
    5⽇から10⽇
    更新系の機能
    20⽇ぐらい
    51

    View Slide

  52. ⽣産性が⾼い

    作ってて楽しい

    早く帰れる

    52

    View Slide

  53. 育児できる︕
    幸せ︕
    53

    View Slide

  54. TOPSICも 順調に成⻑中
    54

    View Slide

  55. 55

    View Slide

  56. 56

    View Slide

  57. 57

    View Slide

  58. ありがとうRuby
    58

    View Slide

  59. 本⽇お伝えしたいこと
    59

    View Slide

  60. 新ビジネスはRailsで。
    会社の⽂化も⼈⽣も変わります。
    60

    View Slide

  61. 61

    View Slide