狠狠撸

狠狠撸Share a Scribd company logo
5年しかもたない最高の
システムとの向き合い方
エンジニアの力でサービス?組織をスケール化させるには?
?Web現場MeetUP #2 ?
2017/11/08
Self-introduction
Jumpei Iwamura
RareJob, Inc.
School Innovation Team Service lead Engineer
Twitter: @iwason_jp / Github: iwason
About RareJob
サービスミッション「日本人1,000万人を英語が話せるようにす
る。」
個人向け & 法人向け & 学校向け 短期集中プログラム
海外留学プログラム
各種アプリ
はなすこと
? 最高のシステムについて
? 5年後。。。
? 学び
? 今の取り组み
はなさないこと
? 技術面の詳細の話
? 具体的な移行プロセス
最高のシステムについて
導入前の状況
? 組織面
? 技術面
導入前の状況(組織面)
? サービスは倍々成長を続けている。
? 営業組織とシステム組織の課題認識のずれがある。
? 個々のメンバーの能力を把握できていない。
? 新しい機能やサービス開発がしにくい。
サービスの成長にシステムがボトルネックに
なっている
導入前の状況(技術面)
? テストが無い
? ロードに10秒かかるトップページ
? 仕様が不明
? フルスクラッチの独自コード (クラスベースでない)
? ….その他語り尽くせないほどの闇
あたりまえが当たり前にできていない状態
5年前に導入した(最高の)システムた
ち
? LAMP
? MVCフレームワーク
? CI 環境
取り組んだモノ
? データセンター移行
? フレームワークに載せ替え
? Model再定義 & テスト
? Scrum & Agile
? CI環境を整える
? 営業、企画部門へのヒアリング
5年前に導入した(最高の)システムた
ち
? LAMP
? MVCフレームワーク
? CI 環境
最高ってより最低限じゃ…?
会社?サービスの状況によって
最高の状態が異なる
エンジニアの力で
サービス?組織をスケール化させる
為に
5年後。。。
サービス?組織は急成長
残ったもの / 残らなかったもの
残らなかったもの
? コードリーディング会
? ペアプロ
? Scrumチーム
ひとつのチームで上手く行ったものを展開でき
なかった
残ったもの
? CI環境など、欲しかった当たり前の環境
? 積極的に意見を言い合う文化
? レガシーコードと呼ばれるなにか(レジェンドコード?)
本質的に価値のあるものは必ず残る
学び
? チームの雰囲気を作る、 文化を作るという意識は超大事
? サービスは成長し拡大すれば新たな問題が発生する
? 本質的に必要なものは無駄にならない
? 人は成長する
今の取り组み
Scrumチーム(再挑戦!)
スクラムマスター、
POも1つのチームにして
改善し続けるチーム
次の最高のシステム
Rarejob Ecosystem
Common Database
Apps
Rarejob
生徒サイト
Rarejob
講師サイト
CS
管理サイト
Common Architecture
Apps
Rarejob
生徒サイト
Rarejob
講師サイト
CS
管理サイト
API Gateway
モノリシックからマイクロサービスへ
社内勉强会
リーンスタートアップ
Before
After
生徒が専用サイト上で課題を提出。
↓
担当講師@フィリピンにて
提出された課題を添削?評価し、
フィードバック。
Thank you for listening!
? 新規事業 学校教育向け Webアプリケーションエンジニア
? R&D室配属 新サービス立上げエンジニア
? iOS / Android エンジニア
? 海外子会社 CTO
? テックリードエンジニア(フィリピン勤務)
お待ちしてます! お気軽にお問い合わせくだ
さい!

More Related Content

5年しかもたない最高のシステムとの向き合い方

Editor's Notes

  1. Let me start my presentation.
  2. I’m Jumpei Iwamura From rarejob. I’m in charge for school inovation team as a service lead Engineer. という感じでオンライン英会話の会社から来ました。
  3. 簡単にレアジョブについてご紹介させてください。 レアジョブは日本人1000万人を英語が話せるようにする というミッションで今年で10年となります。 (レアジョブをご存じの方ってどのくらいいらっしゃいますかね? ありがとうございます。) アプリについては後ほど一人ですべてやっている弊社の羽田から話がありますので割愛しまーす
  4. 今日話すことですが、 最高のシステムというかなりインパクトの有る題名を付けてしまったんですが、 10年たったレアジョブの中で7年試行錯誤を繰り返したなかで培ったものを共有したいと思っています。 主に約5年前に導入したシステムについて触れていまどうなったか それで何がまなべたか、 その上で今 レアジョブがどんな取り組みをしているのかをお話させていただきたいと思います。
  5. このプレゼンでは技術面であったりとか、 実際の具体的な以降のプロセスに関しては触れないで行こうと思っています。
  6. では早速 最高のシステムについてです。
  7. 5年前に導入したので、そのシステムの導入前の状況を軽く共有しておきたいと思います。 組織面と技術面ですね。
  8. 創業3年目にして売上や会員数などが倍々で成長しており、勢いのあるザ、ベンチャー。 営業組織は当時の話を聞くと自分たちは天才だと思っていた。 どんどんサービスや機能を拡充していきたいと思ってたんですが、 システム組織はかなり課題だらけでその要求に答えられない日々でした。 サービスの成長?スケールにシステムがボトルネックになってしまっている状態でした。
  9. 技術的な面でさらっと紹介すると このようなかたちでかなり闇が深い状態で、 当たり前が当たり前に出来ていない状況でした。
  10. 実際に5年前に導入したシステム達なんですが、 こんな感じでLAMP環境で MVC YiiFramework というマイナーなフレームワークを CI 環境をJenkinsベースで導入したりしていました。
  11. そのシステムを導入するために ランニングコストが高すぎるデータセンターから移行したり、 フルスクラッチのコードをフレームワークに載せ替えたり 片っ端からモデルを当時いたすべてのメンバーで再定義とテストなどを 5?6人のチームからScrumをはじめて、約1年で移行しました。 で、みなさんもここでお気づきかと思うんですが、
  12. このシステムって最高ってより今の最低限ですよね? はい。その通りだと追います。 2017年にこれをやったってなったらネタにもなりにくいものかと思います。 実際に先程見て頂いたように、
  13. あたり前のことですが会社やサービスがたくさんあって、 その一つ一つの会社のステージや組織体制によって 最高の状態が異なります。 5年前と全く同じ会社、サービスの状況であるところはまず Webの業界ではありえない状況かと思います。 (つぎへ)
  14. それでもエンジニアの力でサービス?組織をスケール化するためには どのようにシステムと向き合っていけばいいでしょうか。
  15. レアジョブで取り組んだシステムを例に取ると おかげさまでサービスも組織も急成長し、 当時のシステムやとりくみにマッチしないものなくなってしまったものや、 それでも残ったモノなどがあります。
  16. 会社が急成長をする上で取り組みとしてなくなってしまったもの。 少人数で集まってフレームワークのソースコードを追いかけると言ったコードリーディング会や ペアプロ、Scrumチームなどですが、 事業が成長して行く過程で上手く展開できずになくなってしまったものがありました。
  17. 逆になにが5年後でも残っているかというと 今もレアジョブではWebやAPIに関してもテストが当たり前にCI環境で 走っています。 また、営業組織とエンジニアで積極的にコミュニケーションを取ったことで 企画、プランナーとの距離がとても近く、お互いに尊重しながら意見を言い合う文化が残ったりしています。 そして現在の会社の状況に合わないとしてレガシーコードと呼ばれるなにかも残っていますが 実際に今価値を生み出しているコードはレジェントコードと呼ぶと言う話を聞いたので レジェントコードが残っているとしたいと思います。 本質的に価値のあるものは必ず残ります。
  18. ざっとここから学べることは、 チームの雰囲気、文化と言うものは意識的に作っていかないとなかなか持続しませんが、 それが出来ると価値として残り続けるということ。 サービスの成長、組織の成長に伴い問題が必ず発生するということ いろんなチームの人達とコミュニケーションを取っていかなきゃいけない 本質的に必要なものは無駄にならない。 目に見えないものでもチームの一人ひとりが色んな面で成長するということです。
  19. 1つのScrumチームを用意 認定スクラムマスターの方も入社してこれから加速していきます!
  20. 今の会社の状況に合わせて、; 次の最高のシステムを設計しています。マイクロサービス化をしていくイメージです。
  21. 僕は正直に言うと社外のイベントで話すのは人生で2回めなんですが、 そういったLTなれしていないメンバーも社内勉强会で発信できるようにということで、 LTベテランのメンバーや超初心者の僕のようなメンバーが集まって、 ピザを食べながら社内勉强会のようなことをやっています。
  22. 中学校や高校向けのプロダクトとして、 プロトタイプを作り、社内で反応を見て、 先進的な取り組みを行っている学校さんと組んで、 受講してもらい、フィードバックをもらう。 ということもやっています。これは先日大阪の方の中学校と組んで 54人の中学生にWritingを受けてもらいました。
  23. 簡単ですが、以上で発表を終わります。 エンジニアとして、ユーザーとして、英語学習者としてでもなんでも構いませんので 声をかけていただけたらうれしいです。 ありがとうがございました!