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

How we cook cookpad.com

How we cook cookpad.com

Yoshiori SHOJI

February 13, 2014
Tweet

More Decks by Yoshiori SHOJI

Other Decks in Technology

Transcript

  1. ςΩετ
    ԿނΫοΫύουͷαʔϏε։ൃ͸೔ʑਐԽ͍ͯ͠Δͷ͔
    Yoshiori SHOJI

    View Slide

  2. View Slide

  3. レベル:
    しょくぎょう:
    やくしょく:
    ヨシオリ
    38
    プログラマ
    ぶちょー

    View Slide

  4. レベル:
    しょくぎょう:
    やくしょく:
    ヨシオリ
    38
    プログラマ
    ぶちょー
    ▶ アカウント

    View Slide

  5. レベル:
    しょくぎょう:
    やくしょく:
    ヨシオリ
    38
    プログラマ
    ぶちょー
    ▶ アカウント
    !
    ギットハブ:
    ツイッター:
    yoshiori
    @yoshiori

    View Slide

  6. レベル:
    しょくぎょう:
    やくしょく:
    ヨシオリ
    38
    プログラマ
    ぶちょー
    ▶ アカウント
    !
    ギットハブ:
    ツイッター:
    yoshiori
    @yoshiori
    ▶ コミュニティ

    View Slide

  7. レベル:
    しょくぎょう:
    やくしょく:
    ヨシオリ
    38
    プログラマ
    ぶちょー
    ▶ アカウント
    !
    ギットハブ:
    ツイッター:
    yoshiori
    @yoshiori
    ▶ コミュニティ
    !
    java-ja:
    Asakusa.rb:
    しゅさいしゃ
    ゆうれいぶいん

    View Slide

  8. !
    $00,1"%
    ຖ೔ͷྉཧΛָ͠Έʹ

    View Slide

  9. View Slide

  10. cookpad.com
    Ruby 2.0
    Rails 3.2

    View Slide

  11. >

    View Slide

  12. > find app/models -type f |wc -l
    1136
    >

    View Slide

  13. > find app/models -type f |wc -l
    1136
    > find app/controllers -type f |wc -l
    358
    >

    View Slide

  14. > find app/models -type f |wc -l
    1136
    > find app/controllers -type f |wc -l
    358
    > find app/views -type f |wc -l
    3530
    >

    View Slide

  15. > find app/models -type f |wc -l
    1136
    > find app/controllers -type f |wc -l
    358
    > find app/views -type f |wc -l
    3530
    >
    > wc -l config/routes.rb
    2718 config/routes.rb

    View Slide

  16. > find app/models -type f |wc -l
    1136
    > find app/controllers -type f |wc -l
    358
    > find app/views -type f |wc -l
    3530
    > find app/assets -type f |wc -l
    4135
    > wc -l config/routes.rb
    2718 config/routes.rb

    View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. 約二ヶ月半で……
    + 54 models
    + 40 controllers
    + 226 view templates
    + 591 lines of routes.rb
    + 189 assets

    View Slide

  21. 16,108 examples
    IUUQXXXqJDLSDPNQIPUPTTJEFMPOH

    View Slide

  22. IUUQXXXqJDLSDPNQIPUPTVTOBWZ
    デプロイ
    約10/日

    View Slide

  23. View Slide

  24. View Slide

  25. エンジニア
    サービス開発 40人+
    インフラ部 5人
    技術部 10人+

    View Slide

  26. インフラストラクチャー部
    DevOps の Ops 側
    詳しくは……

    https://speakerdeck.com/mirakui/being-healthy-dev-and-ops-in-cookpad

    View Slide

  27. 技術部
    IUUQXXXqJDLSDPNQIPUPT!/

    View Slide

  28. ςετج൘΍σϓϩΠج൫ͳͲ
    “αʔϏε։ൃ͸଍ճΓ͕͓Ζ͔ͦʹͳΓ͕ͪ”

    View Slide

  29. ςετج൘΍σϓϩΠج൫ͳͲ
    “αʔϏε։ൃ͸଍ճΓ͕͓Ζ͔ͦʹͳΓ͕ͪ”
    サービス開発部隊が
    サービス開発に集中
    するのは悪いこと?

    View Slide

  30. ςετج൘΍σϓϩΠج൫ͳͲ
    “αʔϏε։ൃ͸଍ճΓ͕͓Ζ͔ͦʹͳΓ͕ͪ”
    サービス開発部隊が
    サービス開発に集中
    するのは悪いこと?
    理想? 現実?

    View Slide

  31. 例:
    CI10分以内

    View Slide

  32. 技術部
    他にも
    デプロイなどの開発支
    援や
    共通基盤整備なども
    詳しくは……

    https://speakerdeck.com/takai/continuous-delivery-in-cookpad

    View Slide

  33. サービス
    開発

    View Slide

  34. サービス開発
    今回は実際の開発につ
    いて話します
    ものづくりの考え方に
    ついて詳しくは……
    https://speakerdeck.com/katsuma/service-development-for-users

    View Slide

  35. Chanko
    素早く
    安全に
    新機能のプロトタイプ
    を行うためのフレーム
    ワークです。
    https://speakerdeck.com/mrkn/chanko

    View Slide

  36. View Slide

  37. View Slide

  38. View Slide

  39. View Slide

  40. マージは本人がする

    View Slide

  41. マージは本人がする
    コードレビューが通っ
    ていることが原則

    View Slide

  42. マージは本人がする
    コードレビューが通っ
    ていることが原則

    View Slide

  43. マージは本人がする
    コードレビューが通っ
    ていることが原則
    html の文言修正などは
    レビューなしでもマー
    ジ出来る

    View Slide

  44. マージは本人がする
    コードレビューが通っ
    ていることが原則
    html の文言修正などは
    レビューなしでもマー
    ジ出来る

    View Slide

  45. マージは本人がする
    コードレビューが通っ
    ていることが原則
    html の文言修正などは
    レビューなしでもマー
    ジ出来る
    レビュー依頼はチーム
    だけでなく関係者に
    送ったり識者に送った

    View Slide

  46. マージは本人がする
    コードレビューが通っ
    ていることが原則
    html の文言修正などは
    レビューなしでもマー
    ジ出来る
    レビュー依頼はチーム
    だけでなく関係者に
    送ったり識者に送った

    View Slide

  47. DB スキーマも Pull
    Requestで

    View Slide

  48. DB スキーマも Pull
    Requestで
    開発環境で試行錯誤し
    て出来たテーブルから
    自動生成

    View Slide

  49. DB スキーマも Pull
    Requestで
    開発環境で試行錯誤し
    て出来たテーブルから
    自動生成

    View Slide

  50. DB スキーマも Pull
    Requestで
    開発環境で試行錯誤し
    て出来たテーブルから
    自動生成
    スキーマ変更も PR で

    View Slide

  51. DB スキーマも Pull
    Requestで
    開発環境で試行錯誤し
    て出来たテーブルから
    自動生成
    スキーマ変更も PR で

    View Slide

  52. DB スキーマも Pull
    Requestで
    開発環境で試行錯誤し
    て出来たテーブルから
    自動生成
    スキーマ変更も PR で
    その他インフラ依頼も
    issues で

    View Slide

  53. DB スキーマも Pull
    Requestで
    開発環境で試行錯誤し
    て出来たテーブルから
    自動生成
    スキーマ変更も PR で
    その他インフラ依頼も
    issues で

    View Slide

  54. 設計も issues で

    View Slide

  55. 設計も issues で
    設計中の議論が一目瞭

    View Slide

  56. 設計も issues で
    設計中の議論が一目瞭

    View Slide

  57. 設計も issues で
    設計中の議論が一目瞭

    その為の Pull Request
    や issue からリンクで
    相互に見やすく

    View Slide

  58. 設計も issues で
    設計中の議論が一目瞭

    その為の Pull Request
    や issue からリンクで
    相互に見やすく

    View Slide

  59. 設計も issues で
    設計中の議論が一目瞭

    その為の Pull Request
    や issue からリンクで
    相互に見やすく
    github のタスク記法で
    残り作業も見やすく

    View Slide

  60. 設計も issues で
    設計中の議論が一目瞭

    その為の Pull Request
    や issue からリンクで
    相互に見やすく
    github のタスク記法で
    残り作業も見やすく

    View Slide

  61. もちろんデザイナーも

    View Slide

  62. もちろんデザイナーも

    View Slide

  63. もちろんデザイナーも
    ࡞ۀதͷCSBODIʹ1VMM3FRVFTUͯ͘͠ΕΔ

    View Slide

  64. もちろんデザイナーも
    ࡞ۀதͷCSBODIʹ1VMM3FRVFTUͯ͘͠ΕΔ
    IUNM TUZMFTIFFU͔Βը૾૊ΈࠐΈ·Ͱ

    View Slide

  65. もちろんデザイナーも
    ࡞ۀதͷCSBODIʹ1VMM3FRVFTUͯ͘͠ΕΔ
    IUNM TUZMFTIFFU͔Βը૾૊ΈࠐΈ·Ͱ
    ʮ͜ΜͳΠϝʔδԼ͍͞ʯˠʮϓϧϦΫૹ͓͖ͬͯ
    ·ͨ͠ʯ

    View Slide

  66. View Slide

  67. View Slide

  68. View Slide

  69. View Slide

  70. View Slide

  71. デプロイ

    View Slide

  72. デプロイ
    CI 通ったリビジョンのみデプロイ出来る

    View Slide

  73. デプロイ
    CI 通ったリビジョンのみデプロイ出来る
    全開発者が手元でデプロイ出来る

    View Slide

  74. デプロイ
    CI 通ったリビジョンのみデプロイ出来る
    全開発者が手元でデプロイ出来る
    時間帯は 9:30-17:00 休前日は基本無し

    View Slide

  75. デプロイ
    CI 通ったリビジョンのみデプロイ出来る
    全開発者が手元でデプロイ出来る
    時間帯は 9:30-17:00 休前日は基本無し
    ロールバック、デプロイロックも手元から

    View Slide

  76. デプロイ
    CI 通ったリビジョンのみデプロイ出来る
    全開発者が手元でデプロイ出来る
    時間帯は 9:30-17:00 休前日は基本無し
    ロールバック、デプロイロックも手元から
    デプロイロックもインフラが行うのではなくお願
    いでくる

    View Slide

  77. デプロイ
    CI 通ったリビジョンのみデプロイ出来る
    全開発者が手元でデプロイ出来る
    時間帯は 9:30-17:00 休前日は基本無し
    ロールバック、デプロイロックも手元から
    デプロイロックもインフラが行うのではなくお願
    いでくる
    デプロイロック
    お願いします

    View Slide

  78. デプロイ
    CI 通ったリビジョンのみデプロイ出来る
    全開発者が手元でデプロイ出来る
    時間帯は 9:30-17:00 休前日は基本無し
    ロールバック、デプロイロックも手元から
    デプロイロックもインフラが行うのではなくお願
    いでくる
    デプロイロック
    お願いします

    View Slide

  79. ユーザーサポートも
    Github で

    View Slide

  80. ユーザーサポートも
    Github で
    hipchat に通知

    View Slide

  81. ユーザーサポートも
    Github で
    hipchat に通知

    View Slide

  82. ユーザーサポートも
    Github で
    hipchat に通知
    エンジニアがすぐに見
    れる&分散しない

    View Slide

  83. ユーザーサポートも
    Github で
    hipchat に通知
    エンジニアがすぐに見
    れる&分散しない

    View Slide

  84. ユーザーサポートも
    Github で
    hipchat に通知
    エンジニアがすぐに見
    れる&分散しない
    プルリクエストへのリ
    ンクなど貼られるので
    サポートにも進捗が見
    れる

    View Slide

  85. ユーザーサポートも
    Github で
    hipchat に通知
    エンジニアがすぐに見
    れる&分散しない
    プルリクエストへのリ
    ンクなど貼られるので
    サポートにも進捗が見
    れる

    View Slide

  86. View Slide

  87. ΋ͱ΋ͱҧ͏νέοτ؅ཧγεςϜ࢖ͬͯͨ

    View Slide

  88. ΋ͱ΋ͱҧ͏νέοτ؅ཧγεςϜ࢖ͬͯͨ
    HJUIVCʹҠߦͨ͠

    View Slide

  89. ΋ͱ΋ͱҧ͏νέοτ؅ཧγεςϜ࢖ͬͯͨ
    HJUIVCʹҠߦͨ͠
    ΞΧ΢ϯτΛαϙʔτͷਓ਺෼औΔ࿩͚ͩͯࣗ͠෼Ͱαϙʔτ
    νʔϜʹ࢖͍ํઆ໌

    View Slide

  90. ΋ͱ΋ͱҧ͏νέοτ؅ཧγεςϜ࢖ͬͯͨ
    HJUIVCʹҠߦͨ͠
    ΞΧ΢ϯτΛαϙʔτͷਓ਺෼औΔ࿩͚ͩͯࣗ͠෼Ͱαϙʔτ
    νʔϜʹ࢖͍ํઆ໌
    ͦͷޙ
    ʮαϙʔτͷνέοτӡ༻ม͔͑ͨΒʯ
    ͬͯΞφ΢ϯε

    View Slide

  91. ΋ͱ΋ͱҧ͏νέοτ؅ཧγεςϜ࢖ͬͯͨ
    HJUIVCʹҠߦͨ͠
    ΞΧ΢ϯτΛαϙʔτͷਓ਺෼औΔ࿩͚ͩͯࣗ͠෼Ͱαϙʔτ
    νʔϜʹ࢖͍ํઆ໌
    ͦͷޙ
    ʮαϙʔτͷνέοτӡ༻ม͔͑ͨΒʯ
    ͬͯΞφ΢ϯε
    ਖ਼͍͠ͱࢥͬͨΒߦಈͰ͖Δɻࣗ෼ͰจԽΛ࡞ΕΔ

    View Slide

  92. 文化

    View Slide

  93. ɹ$*ɹɹɹɹʋɹ࿿ɹɹʘ
    ɹɹɹɹʘɹʋɹɹʋɹɹɹɹɹʋ
    ʗɹɹɹɹɹʋɹɹʘɹʋɹɹɹʋ
    ɹɹɹɹcɹʋʘɹɹσʘɹɹʋɹɹʍɹɹɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ůɹခɹɹɹɹɹɹʘɹɹϓʘɹɹɹʌ
    ɹůɹɹcɹɹcɹ࿿ʘɹϩʘɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ɹɹɹɹɹɹɹɹɹɹʘɹΠʘʗcɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ɹůɹɹɹcɹɹcɹɹɹɹʘɹɹcɹɹɹɹɹɹɹɹˢ
    ɹɹɹɹʗʘɹɹɹɹɹɹɹʘɹɹɹcɹɹɹɹɹɹɹɹʢɹɹˢ
    ɹɹɹʗɹɹɹʘɹɹɹɹɹʗɹɹɹcɹɹɹɹɹɹɹɹʣɹʢ
    ɹʗɹɹɹɹɹɹʘɹɹɹɹʉʉʉʉʉɹɹɹɹɹɹɹɹʢɹɹʣ
    ʗʊɹɹɹɹɹɹɹʘɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹʣɹʢɹɹɹɹɹɹɹ৘೤
    ʉcɹɹϓɹɹɹcʉɹɹɹɹɹɹɹϊ˶ʉ˶Ѝ˶ʉ˶ʍɹɹɹɹɹɹɹɹɹɹɹ
    ɹɹcɹϧɹɹɹcɹɹɹɹɹɹɹɹϊɹΠϯλʔωοτʍɹɹɹɹɹɹɹɹɹ
    ɹcɹɹϦɹɹɹcɹɹɹɹɹɹɹခɹɹɹɹɹɹɹɹɹɹʎɹɹɹɹɹɹʊɹ˴
    ɹcɹɹΫɹɹɹcɹɹɹɹɹɹခʗcʗcʗcʗcʘcʘcʘcʘcʘʍɹɹɹɹʘɹʗ
    ɹcɹΤɹɹɹcɹɹɹɹɹɹɹɹɹᴹɹɹɹɹɹɹɹɹɹɹɹ7
    ʕʕcɹɹεɹɹɹcʕʕʕʕʕʕʕʕʕʕʕʕʕᵳʕʕʕʕʕʕʕʕʕʕʕʕʕ
    ɹɹɹτɹɹʋɹɹቬቬቬቬቬቬቬቬݱ࣮ࣾձቬቬቬቬቬቬቬቬͬ͛͢ʔαʔϏε
    DevOps?

    View Slide

  94. ɹ$*ɹɹɹɹʋɹ࿿ɹɹʘ
    ɹɹɹɹʘɹʋɹɹʋɹɹɹɹɹʋ
    ʗɹɹɹɹɹʋɹɹʘɹʋɹɹɹʋ
    ɹɹɹɹcɹʋʘɹɹσʘɹɹʋɹɹʍɹɹɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ůɹခɹɹɹɹɹɹʘɹɹϓʘɹɹɹʌ
    ɹůɹɹcɹɹcɹ࿿ʘɹϩʘɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ɹɹɹɹɹɹɹɹɹɹʘɹΠʘʗcɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ɹůɹɹɹcɹɹcɹɹɹɹʘɹɹcɹɹɹɹɹɹɹɹˢ
    ɹɹɹɹʗʘɹɹɹɹɹɹɹʘɹɹɹcɹɹɹɹɹɹɹɹʢɹɹˢ
    ɹɹɹʗɹɹɹʘɹɹɹɹɹʗɹɹɹcɹɹɹɹɹɹɹɹʣɹʢ
    ɹʗɹɹɹɹɹɹʘɹɹɹɹʉʉʉʉʉɹɹɹɹɹɹɹɹʢɹɹʣ
    ʗʊɹɹɹɹɹɹɹʘɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹʣɹʢɹɹɹɹɹɹɹ৘೤
    ʉcɹɹϓɹɹɹcʉɹɹɹɹɹɹɹϊ˶ʉ˶Ѝ˶ʉ˶ʍɹɹɹɹɹɹɹɹɹɹɹ
    ɹɹcɹϧɹɹɹcɹɹɹɹɹɹɹɹϊɹΠϯλʔωοτʍɹɹɹɹɹɹɹɹɹ
    ɹcɹɹϦɹɹɹcɹɹɹɹɹɹɹခɹɹɹɹɹɹɹɹɹɹʎɹɹɹɹɹɹʊɹ˴
    ɹcɹɹΫɹɹɹcɹɹɹɹɹɹခʗcʗcʗcʗcʘcʘcʘcʘcʘʍɹɹɹɹʘɹʗ
    ɹcɹΤɹɹɹcɹɹɹɹɹɹɹɹɹᴹɹɹɹɹɹɹɹɹɹɹɹ7
    ʕʕcɹɹεɹɹɹcʕʕʕʕʕʕʕʕʕʕʕʕʕᵳʕʕʕʕʕʕʕʕʕʕʕʕʕ
    ɹɹɹτɹɹʋɹɹቬቬቬቬቬቬቬቬݱ࣮ࣾձቬቬቬቬቬቬቬቬͬ͛͢ʔαʔϏε
    DevOps?
    ࣾ಺Ͱ͸%FW0QTͱ͍͏ݴ༿͸΄΅ҙࣝͯ͠
    ͍ͳ͍

    View Slide

  95. ɹ$*ɹɹɹɹʋɹ࿿ɹɹʘ
    ɹɹɹɹʘɹʋɹɹʋɹɹɹɹɹʋ
    ʗɹɹɹɹɹʋɹɹʘɹʋɹɹɹʋ
    ɹɹɹɹcɹʋʘɹɹσʘɹɹʋɹɹʍɹɹɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ůɹခɹɹɹɹɹɹʘɹɹϓʘɹɹɹʌ
    ɹůɹɹcɹɹcɹ࿿ʘɹϩʘɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ɹɹɹɹɹɹɹɹɹɹʘɹΠʘʗcɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ Ϣʔβ

    ɹůɹɹɹcɹɹcɹɹɹɹʘɹɹcɹɹɹɹɹɹɹɹˢ
    ɹɹɹɹʗʘɹɹɹɹɹɹɹʘɹɹɹcɹɹɹɹɹɹɹɹʢɹɹˢ
    ɹɹɹʗɹɹɹʘɹɹɹɹɹʗɹɹɹcɹɹɹɹɹɹɹɹʣɹʢ
    ɹʗɹɹɹɹɹɹʘɹɹɹɹʉʉʉʉʉɹɹɹɹɹɹɹɹʢɹɹʣ
    ʗʊɹɹɹɹɹɹɹʘɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹʣɹʢɹɹɹɹɹɹɹ৘೤
    ʉcɹɹϓɹɹɹcʉɹɹɹɹɹɹɹϊ˶ʉ˶Ѝ˶ʉ˶ʍɹɹɹɹɹɹɹɹɹɹɹ
    ɹɹcɹϧɹɹɹcɹɹɹɹɹɹɹɹϊɹΠϯλʔωοτʍɹɹɹɹɹɹɹɹɹ
    ɹcɹɹϦɹɹɹcɹɹɹɹɹɹɹခɹɹɹɹɹɹɹɹɹɹʎɹɹɹɹɹɹʊɹ˴
    ɹcɹɹΫɹɹɹcɹɹɹɹɹɹခʗcʗcʗcʗcʘcʘcʘcʘcʘʍɹɹɹɹʘɹʗ
    ɹcɹΤɹɹɹcɹɹɹɹɹɹɹɹɹᴹɹɹɹɹɹɹɹɹɹɹɹ7
    ʕʕcɹɹεɹɹɹcʕʕʕʕʕʕʕʕʕʕʕʕʕᵳʕʕʕʕʕʕʕʕʕʕʕʕʕ
    ɹɹɹτɹɹʋɹɹቬቬቬቬቬቬቬቬݱ࣮ࣾձቬቬቬቬቬቬቬቬͬ͛͢ʔαʔϏε
    DevOps?
    ࣾ಺Ͱ͸%FW0QTͱ͍͏ݴ༿͸΄΅ҙࣝͯ͠
    ͍ͳ͍
    ΋ͱ΋ͱ΍͍ͬͯͨ͜ͱʹޙ͔Β໊લ͕͍ͭͨ
    Α͏ͳײ֮

    View Slide

  96. 社員ひとりひとりにユーザーがいる
    αʔϏεΛ࢖ͬͯ͘ΕΔํʑ

    View Slide

  97. 社員ひとりひとりにユーザーがいる
    αʔϏεΛ࢖ͬͯ͘ΕΔํʑ
    αʔϏε։ൃ Πϯϑϥ

    View Slide

  98. 社員ひとりひとりにユーザーがいる
    αʔϏεΛ࢖ͬͯ͘ΕΔํʑ
    αʔϏε։ൃ Πϯϑϥ
    ։ൃج൫

    View Slide

  99. 社員ひとりひとりにユーザーがいる
    αʔϏεΛ࢖ͬͯ͘ΕΔํʑ
    αʔϏε։ൃ Πϯϑϥ
    ։ൃج൫
    όοΫΦϑΟεܥ

    View Slide

  100. 幸せにするために常に正し
    いと思うことを積極的に

    View Slide

  101. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件

    View Slide

  102. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    ʮ͍΍͊ɺࣾ಺ͷۈଵγεςϜ͕ฅͰ͊͞ʯ

    View Slide

  103. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    ʮ͍΍͊ɺࣾ಺ͷۈଵγεςϜ͕ฅͰ͊͞ʯ
    ͋Δ͋Δ

    View Slide

  104. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    ʮ͍΍͊ɺࣾ಺ͷۈଵγεςϜ͕ฅͰ͊͞ʯ
    ͋Δ͋Δ
    Ͱ΋ɺΤϯδχΞҎ্ʹ8αʔϏε࢖͍͜ͳͯ͠
    ͍Δਓ͸ͦ͏ͦ͏ډͳ͍ΑͶʁ

    View Slide

  105. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    ʮ͍΍͊ɺࣾ಺ͷۈଵγεςϜ͕ฅͰ͊͞ʯ
    ͋Δ͋Δ
    Ͱ΋ɺΤϯδχΞҎ্ʹ8αʔϏε࢖͍͜ͳͯ͠
    ͍Δਓ͸ͦ͏ͦ͏ډͳ͍ΑͶʁ
    ͋Δҙຯ౰ͨΓલͩͦ͜͠Ͱࢭ·ͬͪΌμϝ

    View Slide

  106. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    エンジニアの文化が良
    いと思うなら積極的に
    取り入れる

    View Slide

  107. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    エンジニアの文化が良
    いと思うなら積極的に
    取り入れる
    使いこなせるかな?は
    逆に失礼では?

    View Slide

  108. 幸せにするために常に正し
    いと思うことを積極的に
    例えばさっきのサポー
    トの件
    エンジニアの文化が良
    いと思うなら積極的に
    取り入れる
    使いこなせるかな?は
    逆に失礼では?

    View Slide

  109. さっきから色々な資料リン
    クしているけど

    View Slide

  110. さっきから色々な資料リン
    クしているけど
    クックパッドのエンジ
    ニアは社外の開発者に
    も貢献することが求め
    られる

    View Slide

  111. さっきから色々な資料リン
    クしているけど
    クックパッドのエンジ
    ニアは社外の開発者に
    も貢献することが求め
    られる
    発表資料だけでなく

    勿論 OSS 活動も

    View Slide

  112. さっきから色々な資料リン
    クしているけど
    クックパッドのエンジ
    ニアは社外の開発者に
    も貢献することが求め
    られる
    発表資料だけでなく

    勿論 OSS 活動も
    許されているとかでは
    なく会社がして欲しい
    と推奨している

    View Slide

  113. 文化を作るために気をつけ
    ていること
    情報共有

    (wiki と blog の統
    合されたツール)
    なるべくルールを作ら
    ない。ルールにしな
    い。
    それが正しいと思った
    ら行動をする。

    View Slide

  114. View Slide

  115. 社内で良い行動とか
    あんまり広がらなくない?

    View Slide

  116. 社内で良い行動とか
    あんまり広がらなくない?
    みんなもっとそういうのは
    褒め合えばいいのにね

    View Slide

  117. 社内で良い行動とか
    あんまり広がらなくない?
    みんなもっとそういうのは
    褒め合えばいいのにね
    どうやったら褒め合う文化になるかなぁ

    View Slide

  118. 社内で良い行動とか
    あんまり広がらなくない?
    みんなもっとそういうのは
    褒め合えばいいのにね
    じゃぁ、良いと思った行動だしあって
    週一の MTG で発表すればいいんじゃね?
    どうやったら褒め合う文化になるかなぁ

    View Slide

  119. 社内で良い行動とか
    あんまり広がらなくない?
    みんなもっとそういうのは
    褒め合えばいいのにね
    じゃぁ、良いと思った行動だしあって
    週一の MTG で発表すればいいんじゃね?
    どうやったら褒め合う文化になるかなぁ
    じゃぁ、
    それ俺やるわ

    View Slide

  120. Q. いいだしっぺの法則
    にならない?

    View Slide

  121. Q. いいだしっぺの法則
    にならない?
    A. いいだしっぺばかりだ
    から問題ない

    View Slide

  122. 文化が共有されていれば
    それでまわる

    View Slide

  123. –Grace Hopper

    http://en.wikiquote.org/wiki/Grace_Hopper
    “It's easier to ask forgiveness than it is to get
    permission.”

    View Slide

  124. IUUQXXXqJDLSDPNQIPUPTUFDIOPTUBO
    安定

    View Slide

  125. IUUQXXXqJDLSDPNQIPUPTTNFNPO
    速度

    View Slide

  126. 文化

    View Slide

  127. –Yoshiori SHOJI
    “จԽΛڞ༗͠৴པ࣮͠ߦ”

    View Slide