Slide 1

Slide 1 text

talentio.comの裏側の改善と今後の展望 〜エンジニアリングとプロダクトと〜 HRTech SaaS Engineer MeetUp Vol.1 2018/05/08

Slide 2

Slide 2 text

アジェンダ Copyright © Talentio 2 ● 自己紹介 ● talentio.comのこれまで ● 現状と未来 ● プロダクト開発 ● まとめ

Slide 3

Slide 3 text

Copyright © Talentio 3 自己紹介 株式会社タレンティオ 取締役 CTO 小川 伸一郎 • 理学(博士) • 理論物理専攻(超低温物理) • 2003年 Web制作会社 • 2008年 株式会社イオレ • 2013年 クックパッド株式会社 • 2016年 レジャリーワークス合同会社 起業 • 2017年 株式会社タレンティオ CTO GitHub: rust Twitter: conceal_rs

Slide 4

Slide 4 text

Copyright © Talentio 4 自己紹介 • Perl/PHP歴8年ぐらい • jcode.plとかの時代 • PHP 3.x とかの時代から2007年ぐらいまで • Flash歴5年くらい • Macromediaの時代 • Ruby歴10年ぐらい • Ruby on Rails 1.2.3からの世代 • Emacs歴26年ぐらい • μEmacs(x68k)→xyzzy(Win)→Emacs(Linux/macOS)

Slide 5

Slide 5 text

Copyright © Talentio 5 自己紹介 • jpmobile developer • Rails 2.3.x 対応から開発を担当 • Tokyu.rb Co-Founder • 東急沿線(乗入含)に住まう Rubyist のためのコミュニティ • 日本全域をほぼ制覇 • 概要:懇親会しかしない勉強会 • TokyuRuby会議スタッフ(主に司会) • 飲み会+LT大会 • 次回 2018/07/29 に開催予定 • https://tokyurubykaigi.github.io/tokyu12/

Slide 6

Slide 6 text

talentio.comのこれまで Copyright © Talentio 6 ● タレンティオについて

Slide 7

Slide 7 text

Copyright © Talentio 7 やりたいこと これまでの 人事の文化・慣習を変える 圧倒的なサービスを テクノロジーを駆使してつくりたい!

Slide 8

Slide 8 text

どこでも人手不足 Copyright © Talentio 8 ● 人手不足による倒産が増えている ○ 働き方改革が求められている

Slide 9

Slide 9 text

なぜ働き方改革が必要? Copyright © Talentio 9 ● 労働人口の減少 ○ 少子高齢化 ■ 2040年には40%が高齢者 ● 労働生産性の低さ ○ 長時間労働 ■ 先進国で最下位 ● そこでHR Tech?

Slide 10

Slide 10 text

HR Techの概況 Copyright © Talentio 10 https://hrtechnavi.jp/lab/hrtech-chaosmap/

Slide 11

Slide 11 text

HR Techでなにが変わる? Copyright © Talentio 11 ● テクノロジーの力で業務を改善・効率化できる ○ 採用管理 ■ talentio.com ○ 労務管理 ○ 評価、勤怠、etc… ● 効率化によって生まれた時間を戦略に活かせる ○ 戦略と戦術 ● 新しい手法、価値を試せる ○ リファラル採用 ○ SNS情報をもとにしたスカウト ○ etc… ● タレンティオでも新しいものを提供し続けていきたい

Slide 12

Slide 12 text

現状と未来 Copyright © Talentio 12 ● talentio.comの現状とこれから ○ これまでどうだったか ○ 現状とこれから ● 未来の展望 ○ これから進むべき道

Slide 13

Slide 13 text

talentio.comのこれまで Copyright © Talentio 13

Slide 14

Slide 14 text

talentio.comのこれまで Copyright © Talentio 14 ● インフラはAWS上に構築 ○ オンプレからAWSへ移行 ○ Ansibleによるプロビジョニング ○ CloudWatchによる監視 ● アプリケーションはPHP/Laravel + React/Redux ○ SPA(Single-Page-Application) ● ソースコードは GitHub で管理 ○ frontend / backend でリポジトリ分割 ● JIRA/Confluenceによる情報共有 ● チャットツールは Slack を採用

Slide 15

Slide 15 text

talentio.comの現状とこれから Copyright © Talentio 15

Slide 16

Slide 16 text

インフラの現状とこれから Copyright © Talentio 16 ● AWSの構成管理に Terraform 導入 ○ 一部 roadworker / miam など入っているが、 Terraform に吸収予定 ● 全面的にitamaeに移行 ○ 構造化YAMLがきつかった.... ● Docker化を進行中 ○ ECS + hako で構築 ○ 将来的には Fargate か EKS にしたい ■ k8sにしたいので EKS が有力? ● ログの集約には fluentd を採用 ○ Dockerでログ取得するにはほぼ必須

Slide 17

Slide 17 text

アプリケーションの現状とこれから Copyright © Talentio 17 ● backendとfrontendのリポジトリを統一 ○ Docker buildするのに楽なように ○ 結局両方変更するので... ● 開発環境をDocker化 ○ Vagrand+Ansible を docker-compose 化

Slide 18

Slide 18 text

アプリケーションの現状 Copyright © Talentio 18 ● Railsへの移行を決定 ○ 生産性向上の為 ○ とは言えPHPでの開発は続ける ○ まずは社内ツールから ■ 一人で作ってます。仲魔が欲しい... ○ 現在10%ぐらい、まだまだ ● migrationを廃止 ○ 差分が欲しい状況がほぼない ○ ridgepoleを採用

Slide 19

Slide 19 text

DevOpsの現状とこれから Copyright © Talentio 19 ● Prometheus/Grafanaの導入 ○ 監視がCloudWatchだったのでもうちょっとかっこいい やつが欲しかった ○ Grafanaはこうイケてる監視感がある ○ Prometheusと言う名前もいいよね! ● Prometheusの監視目的でMackerelを導入

Slide 20

Slide 20 text

DevOpsの現状とこれから Copyright © Talentio 20 ● CircleCIの導入 ○ Dockerのbuildから ● バッチサーバの導入 ○ kuroko2を導入 ● ChatOpsを段階的に導入中 ○ Slack → ruboty → kuroko2 → hako deploy ○ いまはECSへのdeployぐらい ■ もっと拡大したい

Slide 21

Slide 21 text

社内ツールの現状とこれから Copyright © Talentio 21 ● ZendeskからIntercomへ移行 ● JIRAを廃止してGitHub issuesへ移行 ○ 情報の集約化 ● Confluenceからkibelaへ移行 ○ ストック情報とフロー情報を扱いたかった ■ 自己紹介はブログ ■ 議事録はWiki

Slide 22

Slide 22 text

未来への展望 Copyright © Talentio 22 ● どういう技術選択をしていくのか

Slide 23

Slide 23 text

インフラでの未来 Copyright © Talentio 23 ● インフラを隠蔽したい ○ コマンド一発で再構築できる ○ 全てコードで表現されている ○ 知らなくてもなんとかなる ● 効率よく監視したい ○ mizzyさんにお手伝いいただいています! ● Docker化を推し進める ○ すべてコンテナで動くようにしたい ■ そのうち k8s に移行

Slide 24

Slide 24 text

アプリケーションの未来 Copyright © Talentio 24 ● Rails化 ○ 生産性の高さとレールの心地よさ ■ 個人的嗜好もある ○ Laravelは初期設計が重要 ■ 自由度が高いので、初期設計に失敗し ているとかなりつらい ○ 初期段階でコード書いていたエンジニアが 残っていない ○ これから設計し直すのであれば、言語変え てもいいのでは感 ○ オブジェクト指向ではないつらみ

Slide 25

Slide 25 text

アプリケーションの未来 Copyright © Talentio 25 ● SPAをやめたい ○ 個人的にはあまり好きではない ■ フロントエンド側にロジックをもたせる必要がある ● 二重管理のつらみ ■ 特定部分の大きめの変更が難しい ● 全体を見直す必要がある ○ いろいろできなくはないが、あえて踏み込む重要性を 見いだせない ○ サーバサイドエンジニアとフロントエンドエンジニアに 分かれてしまう ■ 個人的には「サービス開発エンジニア」でありたい し、そうなって欲しい ● 必要に応じてReactなりを使う方向に進みたい

Slide 26

Slide 26 text

エンジニア組織の未来 Copyright © Talentio 26 ● ◯◯エンジニアと言う分け方はあまりしたくない ○ 必要なことはユーザさんにサービスを提供すること ● 全てサービス開発エンジニアになる ○ != フルスタックエンジニア ■ 必要があればインフラからフロントまでやる ○ よくあるパターンに陥らないようにしたい ■ C言語ぐらい→アセンブラぐらい→マシン語ぐらい →論理回路ぐらい→半導体ぐらい→量子力学ぐら い→ゲージ場ぐらい→標準模型ぐらい→??? ● そのうえでどこをやるのかは人それぞれ ○ 得意不得意というより好き嫌い

Slide 27

Slide 27 text

プロダクト開発方針 Copyright © Talentio 27 ● プロダクト開発方針

Slide 28

Slide 28 text

プロダクト開発方針 Copyright © Talentio 28 ● ひたすら考える ○ 以上

Slide 29

Slide 29 text

何を考えるべきか Copyright © Talentio 29 ● 例)機能追加 ○ ユーザさんからの要望 ○ 自分たちが必要と思う機能 ● 「どのような機能を追加すべきか」ではなく ○ →「なぜその機能が必要なのか」を考える ● 例)運用の手間を削減するのが理由? ○ その運用は必要なことなのか? ○ 本質的な問題は他にはないのか? ○ みんなそれを問題だと思っているのか?

Slide 30

Slide 30 text

どうやるのか Copyright © Talentio 30 ● どうやるのか ○ 抽象度を極限まで上げる ■ 概念化 ■ 抽象クラスを考えることに近い ○ 極端な取捨選択を迫る ■ 例)Aを実装するとBを捨てることになるが、その場 合でも運用は本質的には破綻しないかどうか ○ 「あったら便利な機能」だけでは危険 ■ 誰にとって便利なのか ■ どれぐらい便利になるのか ● 逆にいまどれぐらい不便なのか

Slide 31

Slide 31 text

考えること Copyright © Talentio 31 ● 考え続けると問題が洗練されていく ○ 本質的に解決すべき問題にフォーカスできる ● プロダクトについて考えることは詰将棋に似ている ○ 全てのパターンを考える ■ ユーザさんがどうしたいのか ● いつ(When) ● どこで(Where) ● どのように(How) ● なにを(What) ● どのような状況で(Status) ○ このStatusが最も重要 ○ 多くのパターンを考えることは疲れる ■ それでも考え続ける ○ 安易に決めない

Slide 32

Slide 32 text

どのようなチームでやるか Copyright © Talentio 32 ● ディレクターとエンジニアのペア ○ 職種ではなく、役割 ■ ディレクターの役割 ● プロダクトのことを考える人 ■ エンジニアの役割 ● どのようにプロダクトに実装するかを 考える人 ○ エンジニアがディレクターの役割でも良い ○ 多様な価値観、考え方が重要

Slide 33

Slide 33 text

どのようなチームでやっているか Copyright © Talentio 33 ● プロダクトマネージャーがどうやるか考えて決めている ○ CTOはそのサポート兼アドバイザー プロダクトマネージャー エンジニア エンジニア エンジニア CTO

Slide 34

Slide 34 text

将来的にどうしたいのか Copyright © Talentio 34 ● プロジェクトによって様々なチームが編成され ている ● プロダクトマネージャーは全体の指揮振り ○ CTOはサポート兼アドバイザー プロダクトマネージャー エンジニア CTO ディレク ター ディレク ター エンジニア エンジニア ディレク ター ディレク ター エンジニア

Slide 35

Slide 35 text

まとめ Copyright © Talentio 35 ● 今日お話したこと ○ これまでの talentio.com について ○ 技術的な観点でこれまでとこれから、未来 像について ○ プロダクト開発の方針について ● 今日お話できなかったこと ○ 具体的なこと、詳細について ○ どんなプロダクトにしたいのか ● 懇親会でぜひお話しましょう! ○ 戦略と戦術についてとか ○ 仲魔のなり方とか

Slide 36

Slide 36 text

まとめ Copyright © Talentio 36 Ruby/Rails/PHP DevOps エンジニア絶賛募集中 です!!