Support Engineer for Small Startup
by
akito19
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
A Support Engineer for Small Starup サポートエンジニア Night vol.3 presented by TRESURE DATA “PLAZA” Akito Kasai Sider, Inc., 2018/7/18
Slide 2
Slide 2 text
Akito Kasai (笠井 彰人) - @a_ksi19 - @akito19 - Sider, Inc - SideCI - 2016.8 ~ 2017.3 - 2017.4 ~ - Support Engineer - 2017.4 ~ Introduction
Slide 3
Slide 3 text
Agenda 1. What is Sider 2. How we support for customers 3. Support Engineer for Sider 4. Tools we’re using for support 5. There are problems for us
Slide 4
Slide 4 text
What is Sider?
Slide 5
Slide 5 text
Sider ● Automated code review service ● Supports 8 languages ● Supports 20+ linters ● 15人くらい ○ サポートは1人 ● 旧名 SideCI ○ ~ 2018-06-13
Slide 6
Slide 6 text
Sider checks ● Pull Requests(only diff) ● チーム固有のルール ○ Querly ○ Goodcheck
Slide 7
Slide 7 text
Tailor-fit Checks for Teams ● Querly ○ https://github.com/soutaro/querly ● Goodcheck ○ https://github.com/sideci/goodcheck
Slide 8
Slide 8 text
How we support for customers
Slide 9
Slide 9 text
遥か昔のサポート(~2016.12) ● 気がついた人がやる ○ だいたい CEO or VPoE ● エラーメッセージがそもそもあまり出ない ○ 長年の経験と勘によるエスパーが必要 ● 1-3 questions / week
Slide 10
Slide 10 text
以前のサポート(2017.1 ~ 2017.3) ● ラウンドロビンを導入してみる ○ 開発者が1週間ずつ持ち回り ○ 当時は4人いたのでだいたい月1で回る皮算用 ● サポート担当週に重めの開発タスクが重なるとつらい ● Admin上でトラブルシューティングできるようなる ● 担当になった人が不在の場合困る ○ 結局以前のお気持ちでやる体制に戻る ● 専任者を置こう
Slide 11
Slide 11 text
「サポートエンジニア」ロール登場
Slide 12
Slide 12 text
今のサポート(2017.4 ~) ● 自分が専任になった ○ 重めの開発とサポートの担当が重なる問題は解消 ● 現状1人 ● 自分が不在のときは誰かに手伝ってもらう ○ 今日とか ○ 誰がやるのか問題は未解決
Slide 13
Slide 13 text
やっていること ● 問い合わせに対する調査・返答 ○ Sider導入 ○ 料金・決済 ○ 解析エラー/失敗 ○ その他の不具合 ● ドキュメントのメンテナンス ○ 職務範囲というわけではない ○ 自分が行うことが多い ● 期日が特に決まっていない開発タスク
Slide 14
Slide 14 text
Support Engineer for Sider
Slide 15
Slide 15 text
Siderのサポートエンジニア ● さまざまなプログラミング言語を扱う機会がある ● さまざまな解析器を扱う機会がある ● コードに触れない日はほぼない
Slide 16
Slide 16 text
さまざまなプログラミング言語を扱える ● サポートしている言語の数だけ対応する必要がある ○ Ruby, JavaScript, PHP, Java, Python くらいの順 ○ RubyとJavaScriptで全体の半数くらい ● たぶん業務で扱える数としては多い方 ○ Siderのアプリケーションは概ねRuby ■ Ruby, JavaScript以外を書くことは多くない ○ 今は挙動の確認やテストの用にサンプルを書く程度
Slide 17
Slide 17 text
さまざまな解析器を扱える ● サポートする解析器 ○ 23個(2018年7月18日現在) ○ すべてOSS ■ 英語力 ● 1番多い問い合わせは解析結果に関するもの ○ トラブルシューティングのためにみる機会が多い ○ コード読んだり動かしたり ● あわよくばコントリビュートチャンス
Slide 18
Slide 18 text
コードに触れない日はほぼない ● 開発タスクもある程度行う環境 ○ ≒ 問い合わせ件数が少ない? ● 説明のために、Siderの動きを把握する必要がある ○ Webアプリケーション ○ ソースコードの取得・差分管理用アプリケーション ○ 解析器を動かすアプリケーション ■ 解析器(OSS) ■ 解析器をラップするアプリケーション ● 日常業務がそのままドッグフーディングになる
Slide 19
Slide 19 text
Tools we’re using
Slide 20
Slide 20 text
Tools ● Intercom ● Sider(Admin) ● Inspectlet ● Bugsnag ● Loggly ● AWS CloudWatch
Slide 21
Slide 21 text
Intercom ● チャット ● メッセージ送信 ● Email送信
Slide 22
Slide 22 text
Intercom
Slide 23
Slide 23 text
Intercom
Slide 24
Slide 24 text
Admin ● 解析結果関連 の問い合わせ
Slide 25
Slide 25 text
Admin ● 各解析ごとに9つのステータスがある ● 解析結果の問題は、Statusで原因の絞り込みが可能 ○ Siderの問題(サーバ、コンテナの実行エラー等) ○ 解析器の問題(解析器の不具合等) ○ 設定の問題(設定ファイルの文法エラー等)
Slide 26
Slide 26 text
Inspectlet ● 行動トラッキング ● UIの問い合わせ ● セキュアな情報はマ スクできるので便利
Slide 27
Slide 27 text
Bugsnag ● バグトラッキング ● エラーがスパイクし ているかの確認
Slide 28
Slide 28 text
Loggly ● ログ解析ツール ● Sider起因のトラブル シューティング ● Jobの挙動を見るとき ● 最近の利用は減った ○ Adminの拡充
Slide 29
Slide 29 text
AWS CloudWatch ● アプリケーションのモニタリング ● マイグレーション後の確認 ● 最終手段 ● サポートで利用したことはほぼない(1, 2回) ● Logsくらい ● Metricsはサポート時は使わない
Slide 30
Slide 30 text
There are problems for us
Slide 31
Slide 31 text
問い合わせ件数が増えてくる ● 前年同期間比 123.83% ○ 2018.1.1 - 7.17 / 2017.1.1 - 7.17 ○ 7.5ヶ月で291件なので、まだ当分1人でいけそう
Slide 32
Slide 32 text
指標がなにもない ● 気持ちドリブン ○ なるべく早く返す ○ 不具合の回答は、なるべく詳細や経緯を含める
Slide 33
Slide 33 text
時差 ● だいたい10-20%は国外 ○ アメリカ東海岸〜中東あたりまでのタイムゾーンからの問 い合わせはすぐ返せないことが多いので、離脱が増える ■ 労働基準法 ■ 原則翌日に返答 ■ 取締役に任せる
Slide 34
Slide 34 text
まとめ ● さまざまな技術(主にプログラミング言語・解析器)を扱う ● サポートするとき複数のサービスを組み合わせて行う ○ 推測したりお客さんの手を煩わせる回数を減らせる ● サポートを行う上での指標等はまだない ○ どれくらいの規模のときに導入するものなのか...