Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
talentio.comの裏側の改善と今後の展望〜エンジニアリングとプロダクトと〜
Search
Shinichiro OGAWA
May 08, 2018
Technology
0
1.4k
talentio.comの裏側の改善と今後の展望〜エンジニアリングとプロダクトと〜
HRTech SaaS Engineer MeetUp Vol.1
Shinichiro OGAWA
May 08, 2018
Tweet
Share
More Decks by Shinichiro OGAWA
See All by Shinichiro OGAWA
どう生きてきたか、どう生きるのか~シニアエンジニアの人生~
ogawa
0
11
talentio をなんとかしようと頑張ってきた18ヶ月の旅路
ogawa
6
5.1k
RubyとRailsの勉強のしかたとコミュニティの参加のしかた
ogawa
0
710
everyleaf.rb LT
ogawa
3
400
Git道場 技 本日の課題、 テクニックの解説
ogawa
7
7.3k
jpmobile futures
ogawa
2
230
SubversionからGitへ移行するときの問題について簡単に語る
ogawa
3
4.4k
Other Decks in Technology
See All in Technology
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
570
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
150
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
120
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
AGIについてChatGPTに聞いてみた
blueb
0
130
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
スクラムチームを立ち上げる〜チーム開発で得られたもの・得られなかったもの〜
ohnoeight
2
350
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
GitHub's CSS Performance
jonrohan
1030
460k
The Invisible Side of Design
smashingmag
298
50k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Being A Developer After 40
akosma
86
590k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Practical Orchestrator
shlominoach
186
10k
4 Signs Your Business is Dying
shpigford
180
21k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Transcript
talentio.comの裏側の改善と今後の展望 〜エンジニアリングとプロダクトと〜 HRTech SaaS Engineer MeetUp Vol.1 2018/05/08
アジェンダ Copyright © Talentio 2 • 自己紹介 • talentio.comのこれまで •
現状と未来 • プロダクト開発 • まとめ
Copyright © Talentio 3 自己紹介 株式会社タレンティオ 取締役 CTO 小川 伸一郎
• 理学(博士) • 理論物理専攻(超低温物理) • 2003年 Web制作会社 • 2008年 株式会社イオレ • 2013年 クックパッド株式会社 • 2016年 レジャリーワークス合同会社 起業 • 2017年 株式会社タレンティオ CTO GitHub: rust Twitter: conceal_rs
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)
Copyright © Talentio 5 自己紹介 • jpmobile developer • Rails
2.3.x 対応から開発を担当 • Tokyu.rb Co-Founder • 東急沿線(乗入含)に住まう Rubyist のためのコミュニティ • 日本全域をほぼ制覇 • 概要:懇親会しかしない勉強会 • TokyuRuby会議スタッフ(主に司会) • 飲み会+LT大会 • 次回 2018/07/29 に開催予定 • https://tokyurubykaigi.github.io/tokyu12/
talentio.comのこれまで Copyright © Talentio 6 • タレンティオについて
Copyright © Talentio 7 やりたいこと これまでの 人事の文化・慣習を変える 圧倒的なサービスを テクノロジーを駆使してつくりたい!
どこでも人手不足 Copyright © Talentio 8 • 人手不足による倒産が増えている ◦ 働き方改革が求められている
なぜ働き方改革が必要? Copyright © Talentio 9 • 労働人口の減少 ◦ 少子高齢化 ▪
2040年には40%が高齢者 • 労働生産性の低さ ◦ 長時間労働 ▪ 先進国で最下位 • そこでHR Tech?
HR Techの概況 Copyright © Talentio 10 https://hrtechnavi.jp/lab/hrtech-chaosmap/
HR Techでなにが変わる? Copyright © Talentio 11 • テクノロジーの力で業務を改善・効率化できる ◦ 採用管理
▪ talentio.com ◦ 労務管理 ◦ 評価、勤怠、etc… • 効率化によって生まれた時間を戦略に活かせる ◦ 戦略と戦術 • 新しい手法、価値を試せる ◦ リファラル採用 ◦ SNS情報をもとにしたスカウト ◦ etc… • タレンティオでも新しいものを提供し続けていきたい
現状と未来 Copyright © Talentio 12 • talentio.comの現状とこれから ◦ これまでどうだったか ◦
現状とこれから • 未来の展望 ◦ これから進むべき道
talentio.comのこれまで Copyright © Talentio 13
talentio.comのこれまで Copyright © Talentio 14 • インフラはAWS上に構築 ◦ オンプレからAWSへ移行 ◦
Ansibleによるプロビジョニング ◦ CloudWatchによる監視 • アプリケーションはPHP/Laravel + React/Redux ◦ SPA(Single-Page-Application) • ソースコードは GitHub で管理 ◦ frontend / backend でリポジトリ分割 • JIRA/Confluenceによる情報共有 • チャットツールは Slack を採用
talentio.comの現状とこれから Copyright © Talentio 15
インフラの現状とこれから Copyright © Talentio 16 • AWSの構成管理に Terraform 導入 ◦
一部 roadworker / miam など入っているが、 Terraform に吸収予定 • 全面的にitamaeに移行 ◦ 構造化YAMLがきつかった.... • Docker化を進行中 ◦ ECS + hako で構築 ◦ 将来的には Fargate か EKS にしたい ▪ k8sにしたいので EKS が有力? • ログの集約には fluentd を採用 ◦ Dockerでログ取得するにはほぼ必須
アプリケーションの現状とこれから Copyright © Talentio 17 • backendとfrontendのリポジトリを統一 ◦ Docker buildするのに楽なように
◦ 結局両方変更するので... • 開発環境をDocker化 ◦ Vagrand+Ansible を docker-compose 化
アプリケーションの現状 Copyright © Talentio 18 • Railsへの移行を決定 ◦ 生産性向上の為 ◦
とは言えPHPでの開発は続ける ◦ まずは社内ツールから ▪ 一人で作ってます。仲魔が欲しい... ◦ 現在10%ぐらい、まだまだ • migrationを廃止 ◦ 差分が欲しい状況がほぼない ◦ ridgepoleを採用
DevOpsの現状とこれから Copyright © Talentio 19 • Prometheus/Grafanaの導入 ◦ 監視がCloudWatchだったのでもうちょっとかっこいい やつが欲しかった
◦ Grafanaはこうイケてる監視感がある ◦ Prometheusと言う名前もいいよね! • Prometheusの監視目的でMackerelを導入
DevOpsの現状とこれから Copyright © Talentio 20 • CircleCIの導入 ◦ Dockerのbuildから •
バッチサーバの導入 ◦ kuroko2を導入 • ChatOpsを段階的に導入中 ◦ Slack → ruboty → kuroko2 → hako deploy ◦ いまはECSへのdeployぐらい ▪ もっと拡大したい
社内ツールの現状とこれから Copyright © Talentio 21 • ZendeskからIntercomへ移行 • JIRAを廃止してGitHub issuesへ移行
◦ 情報の集約化 • Confluenceからkibelaへ移行 ◦ ストック情報とフロー情報を扱いたかった ▪ 自己紹介はブログ ▪ 議事録はWiki
未来への展望 Copyright © Talentio 22 • どういう技術選択をしていくのか
インフラでの未来 Copyright © Talentio 23 • インフラを隠蔽したい ◦ コマンド一発で再構築できる ◦
全てコードで表現されている ◦ 知らなくてもなんとかなる • 効率よく監視したい ◦ mizzyさんにお手伝いいただいています! • Docker化を推し進める ◦ すべてコンテナで動くようにしたい ▪ そのうち k8s に移行
アプリケーションの未来 Copyright © Talentio 24 • Rails化 ◦ 生産性の高さとレールの心地よさ ▪
個人的嗜好もある ◦ Laravelは初期設計が重要 ▪ 自由度が高いので、初期設計に失敗し ているとかなりつらい ◦ 初期段階でコード書いていたエンジニアが 残っていない ◦ これから設計し直すのであれば、言語変え てもいいのでは感 ◦ オブジェクト指向ではないつらみ
アプリケーションの未来 Copyright © Talentio 25 • SPAをやめたい ◦ 個人的にはあまり好きではない ▪
フロントエンド側にロジックをもたせる必要がある • 二重管理のつらみ ▪ 特定部分の大きめの変更が難しい • 全体を見直す必要がある ◦ いろいろできなくはないが、あえて踏み込む重要性を 見いだせない ◦ サーバサイドエンジニアとフロントエンドエンジニアに 分かれてしまう ▪ 個人的には「サービス開発エンジニア」でありたい し、そうなって欲しい • 必要に応じてReactなりを使う方向に進みたい
エンジニア組織の未来 Copyright © Talentio 26 • ◯◯エンジニアと言う分け方はあまりしたくない ◦ 必要なことはユーザさんにサービスを提供すること •
全てサービス開発エンジニアになる ◦ != フルスタックエンジニア ▪ 必要があればインフラからフロントまでやる ◦ よくあるパターンに陥らないようにしたい ▪ C言語ぐらい→アセンブラぐらい→マシン語ぐらい →論理回路ぐらい→半導体ぐらい→量子力学ぐら い→ゲージ場ぐらい→標準模型ぐらい→??? • そのうえでどこをやるのかは人それぞれ ◦ 得意不得意というより好き嫌い
プロダクト開発方針 Copyright © Talentio 27 • プロダクト開発方針
プロダクト開発方針 Copyright © Talentio 28 • ひたすら考える ◦ 以上
何を考えるべきか Copyright © Talentio 29 • 例)機能追加 ◦ ユーザさんからの要望 ◦
自分たちが必要と思う機能 • 「どのような機能を追加すべきか」ではなく ◦ →「なぜその機能が必要なのか」を考える • 例)運用の手間を削減するのが理由? ◦ その運用は必要なことなのか? ◦ 本質的な問題は他にはないのか? ◦ みんなそれを問題だと思っているのか?
どうやるのか Copyright © Talentio 30 • どうやるのか ◦ 抽象度を極限まで上げる ▪
概念化 ▪ 抽象クラスを考えることに近い ◦ 極端な取捨選択を迫る ▪ 例)Aを実装するとBを捨てることになるが、その場 合でも運用は本質的には破綻しないかどうか ◦ 「あったら便利な機能」だけでは危険 ▪ 誰にとって便利なのか ▪ どれぐらい便利になるのか • 逆にいまどれぐらい不便なのか
考えること Copyright © Talentio 31 • 考え続けると問題が洗練されていく ◦ 本質的に解決すべき問題にフォーカスできる •
プロダクトについて考えることは詰将棋に似ている ◦ 全てのパターンを考える ▪ ユーザさんがどうしたいのか • いつ(When) • どこで(Where) • どのように(How) • なにを(What) • どのような状況で(Status) ◦ このStatusが最も重要 ◦ 多くのパターンを考えることは疲れる ▪ それでも考え続ける ◦ 安易に決めない
どのようなチームでやるか Copyright © Talentio 32 • ディレクターとエンジニアのペア ◦ 職種ではなく、役割 ▪
ディレクターの役割 • プロダクトのことを考える人 ▪ エンジニアの役割 • どのようにプロダクトに実装するかを 考える人 ◦ エンジニアがディレクターの役割でも良い ◦ 多様な価値観、考え方が重要
どのようなチームでやっているか Copyright © Talentio 33 • プロダクトマネージャーがどうやるか考えて決めている ◦ CTOはそのサポート兼アドバイザー プロダクトマネージャー
エンジニア エンジニア エンジニア CTO
将来的にどうしたいのか Copyright © Talentio 34 • プロジェクトによって様々なチームが編成され ている • プロダクトマネージャーは全体の指揮振り
◦ CTOはサポート兼アドバイザー プロダクトマネージャー エンジニア CTO ディレク ター ディレク ター エンジニア エンジニア ディレク ター ディレク ター エンジニア
まとめ Copyright © Talentio 35 • 今日お話したこと ◦ これまでの talentio.com
について ◦ 技術的な観点でこれまでとこれから、未来 像について ◦ プロダクト開発の方針について • 今日お話できなかったこと ◦ 具体的なこと、詳細について ◦ どんなプロダクトにしたいのか • 懇親会でぜひお話しましょう! ◦ 戦略と戦術についてとか ◦ 仲魔のなり方とか
まとめ Copyright © Talentio 36 Ruby/Rails/PHP DevOps エンジニア絶賛募集中 です!!