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
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
120
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
AGIについてChatGPTに聞いてみた
blueb
0
130
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
420
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
1
300
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
強いチームと開発生産性
onk
PRO
35
11k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.3k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
BBQ
matthewcrist
85
9.3k
Fireside Chat
paigeccino
34
3k
Code Review Best Practice
trishagee
64
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
We Have a Design System, Now What?
morganepeng
50
7.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Building Applications with DynamoDB
mza
90
6.1k
It's Worth the Effort
3n
183
27k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Automating Front-end Workflow
addyosmani
1366
200k
Designing the Hi-DPI Web
ddemaree
280
34k
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 エンジニア絶賛募集中 です!!