1. London Tech Talk
  2. class SRE implements DevOps ..
2023-04-22 38:16

class SRE implements DevOps - Site Reliability Engineer (SRE) とはどういう仕事なのか?

spotify apple_podcasts

 Site Reliability Engineer (SRE) の仕事の実態について雑談しました。過去に働いた異なるチームでの経験や、求められるスキルとは何か、SRE と DevOps の違いについて紹介しました。

00:04
スピーカー 1
皆さん、こんにちは。London Tech TalkのKen Wagatsumaです。
イギリスのロンドンで、ソフトウェアエンジニアとして働いています。
このポッドキャストでは、Yosuke Asaiさんと一緒に、海外転職や最新の技術トレンドについて話していきます。
スピーカー 2
Yosuke Asaiさん、今日もよろしくお願いします。
スピーカー 1
お願いします。
今日は、Site Reliability Engineer、通称SREと呼ばれるこの職種の実態について、Yosuke Asaiさんと一緒に深掘っていこうと思います。
最近よく、「SREって何してるの?」と聞かれることがよくあります。
インフレやサポートエンジニアなど、難しい職種の方から、「どうやったらSREに職種転換できるの?」という相談も受けることも結構あって、
Yosuke Asaiさんは、僕も2人ともSREとして働いているから、
お互いの過去の勤務先を合わせるとか、
4つの異なるチームの経験が多分今日話せると思うので、
それぞれのチームとか、求められるスキルについて比較しながら、
SREと職種の実態について、リスナーの皆さんの理解が深まる助けになればいいかなと思っています。
じゃあ、まずだけど、SREになったきっかけからちょっと話そうか。
スピーカー 2
そうですね。
Yosuke Asai?
スピーカー 1
はい。
僕は最初、キャリアでいうと、モバイルエンジニアから始めて8年ぐらい前に、
フルスタックになって、バックエンドエンジニアになってなってたんですけど、
やっぱりバックエンドエンジニアとしてアプリケーションレイヤーを書いていると、
ネットワークレイヤーとか、データベースレイヤーとか、
もっとインフラ寄りに興味が出てきたんですよね。
はい。
そこで、SREっていうのは、
半分ぐらいコーディングスキルも求められるし、
インシデント対応力も求められるしっていうことで、
バックエンドエンジニアからインフラをより詳しくなるためには、SREっていうのは、
割とこう、職種転換しやすいキャリアチェンジかなと思ってて、
当時の上長とか、自分の上司とかに相談してたんですけど、
ちょうどそのときに、同じ会社の別のSREのチームのリーダーからうちに来ないっていう、
はい。
お声掛けを嬉しいことにいただいたので、
それでSREになったっていうことで、
つまり、僕がSREになりたくて周りに言っていたっていうのと、
タイミングがあって、飽きが出たから呼んでくれたっていう、
その二つが、タイミングが合わさってSREになった感じだね。
スピーカー 2
うん。
スピーカー 1
岡田さんは?
スピーカー 2
はい。
自分は、自分前職で、一応Javaエンジニア兼サポートエンジニア的なことをやってたんですけれども、
03:06
スピーカー 2
うん。
その中で、AWSをどんどん活用していこうっていう流れがあって、
自分はすごいAWSのサービスに興味があったので、かなり自主的に勉強をしていて、
それこそ、もっとAWSの仕事をしたいっていうふうに、ちょっと行ったりしていたところで、
DMSとか、AWSのDMSってサービスがあるんですけど、そのサービスのメンテナンスとかをちょっと任せてもらったりとか、
そのインフラ寄りの仕事を任させていただけるようになってきて、結構クラウドサービスを触るの楽しいなみたいなと、
心から入っていきましたね。
で、転職活動をしたときに、SREとかDevOpsっていう職種が結構、自分の今のスキルの中でやりやすい仕事というか、転職しやすいところではあったので、
それを元に転職したっていう感じがあります。
なので、社内移動を少ししたのと、転職をしてっていうので、SREになれたっていう感じですかね。
スピーカー 1
そっかそっか。明確に鞘さんの中でSREになったって瞬間はどっちですか?
社内で移動したときに、インフラとしても結構済みつつ、自分的にも対外的にもSREというジョブタイトルが付いたのは転職のタイミング?
スピーカー 2
転職後ですね。最初はやっぱり結構中途半端というか、バックエンドの開発もしつつ、ちょっとインフラも触るみたいになっちゃったんで、CICDとか。転職後になります。
スピーカー 1
そっか。じゃあお互い結構似てるね。モチベーションとかなりたいなという気持ちがあって、徐々にしかし仕事を見つけていって、それを社内転職とか転職をきっかけに変化したって感じか。
はい。
スピーカー 2
うん。
スピーカー 1
で、僕らが多分SREを経験してきたチームとか企業規模も結構違うと思うんだよね。
スピーカー 2
そうですね。
スピーカー 1
まず僕はじゃあとりあえず羅列してみると、最初にSREを始めたところが、日本の上場企業のクックパッドだったんだけど、グローバル部隊のSREでした。
うん。
で、注意点としては、日本のエンジニアリングにはSREを始めた。
はい。
で、日本のエンジニアリングにはSREがいて、ちょっと時期によって名前、呼称、呼び方が変わってたんだけど、そのことは完全に別のグローバルの方のSREだった。
僕は日本の方のクックパッドのSREは経験してなくて、で、グローバルに多分当時100人から150人くらいかな、全体の人員がいて、その中のエンジニアチームの中のSREっていうのを経験した。
スピーカー 2
うん。
スピーカー 1
開発者の数でいうと、例えば数十人とか。
スピーカー 2
はい。
06:00
スピーカー 2
100人以下って感じですかね。
スピーカー 1
そう、ちょっと正確な数字は分からないけど、150人のうちのいくつかって感じだと思う。
はい。
SREのチームは当時、5人から7人上下してたから、そのくらいの規模感でやってて。
はい。
で、先に全部羅列しちゃうと、で、その次にイギリスの現地企業のデータベースを作ってるクラウドの会社に入りまして、
はい。
全体として700人くらいいる会社で、スタートアップなんだけど、シリーズF。
スピーカー 2
はい。
スピーカー 1
なんで、もうほぼIPO直前みたいな感じの会社で。
スピーカー 2
うん。Fっていうのもあるんだっていうくらい住んでますね。
スピーカー 1
そうなんですけど、日本だとあんまり聞かないよね。A、シリーズAから始まって、Cグラウンド、A、B、C、D、E、Fだから。
スピーカー 2
うん。
スピーカー 1
Fまで行かずにIPOしちゃったりするところが多いので。
スピーカー 2
はい。
スピーカー 1
マザーズとかだと、たぶんCDくらいで行くのかな。
スピーカー 2
うん。
スピーカー 1
そう。で、そこで、エスカレーションチームとしては7人かな、やってた。
スピーカー 2
うん。はい。
スピーカー 1
で、きなこが今働いてる北米の会社で、IPOもしてる、上場してる大きな会社なんだけど、今は最近組織改変があったっていうのもあるんだけど、全タイムゾーンで30人以上。
スピーカー 2
うん。でかいですね。
スピーカー 1
でかいですね。
で、僕らの会社で持ってる1つのアプリケーションに対して30人以上で見てて、タイムゾーンが4つ分かれてる。で、過去のエピソードでも何回か話したんだけど、タイムゾーンが4つに分かれていて、僕が働いてるのはロンドンに在住してるから、イミア、ヨーロッパとかのタイムゾーンで、他にドイツとかオランダから働いてる人がいて、イミアのタイムゾーンで言うと7人。
スピーカー 2
うん。うん。
スピーカー 1
うん。
うん。
うん。
なんか、これを全てアメリカとか、APAC含めるともう30人以上って感じになってる。大規模な、大所帯のチームですね。
うん。
うん。
うん。
スピーカー 2
うん。
滑落された感じ、その2つ目の会社は人数規模に対してSREが少ない感じがしました。
うん。
スピーカー 1
うん。
うん。
そうなんだけど。あとちょっと詳しく話すんだけど、やっぱSREという職種ではあるものの。
はい。
実態としてどこまで何を求められてるかっていうのを結構、人によって違う。
うん。
スピーカー 2
はい。
スピーカー 1
うん。
うん。
うん。
うん。
ここの会社ではSRE業だけしてればいいんだけど
もうちょっと小さい会社では
プラットフォームエンジニアリング的なところとか
DevOpsも求められたりとか
というところで最初に経験したCookpad Globalと
2つ目のNeo4jっていうシリーズウェブの会社では
人数規模は一緒だったんだけど
求められたことは全然違うっていう感じですね
そこをちょっとアウトデフコントできたい
スピーカー 2
ぜひ
スピーカー 1
畑井さんのところのカルチャーとかチームサイズとか
09:00
スピーカー 2
自分は今も暗号通貨の取引所としてやっていて
社員数でいうとおそらく100人くらいだなと思ってます
SREのチームとしては4人のチームでですね
サービスとしても一応グローバルのサービスもあるんですが
基本的には
スピーカー 1
基本的には日本が今は多いので
スピーカー 2
日本に対しての責任を持つっていうところが
スピーカー 1
結構強いかなと思ってます
スピーカー 2
やっていることとしては本当にクラウド上で動かしているものの
ほぼ全てを責任を持つっていう形で
CICDであるとか
あとはデータベースとか
品種に対応とかその辺を全部やっているっていう感じになりますね
スピーカー 1
なるほど
だからお互い含めて4つの違うチームだよね
はい
SREって実際何してるのっていうところを深掘っていきたいんだけど
はい
まず先に僕の考えというか経験というか自分を話すと
SREって何って聞かれたときに答え方が2つありますと
1つはGoogleが提唱したSREの定義から話し始める
説明し始めるスタイル
SREって言うとねGoogleという会社があってみたいな
SREという職種を作ってみたいな
SREの定義はみたいな
リライビリティエンジニアリングとはっていう
話し始める方法が1つ
もう1つは実態から話し始める方法
それはSREって言っても一括りにしても
会社によって全然やってることが違うなと思ってて
SREって一種バズワードになっちゃったところもあるから
このスタートアップではぶっちゃけ
フルスタックエンジニアかけるインフラエンジニアだよね
みたいなのをSREって括ってるところもあれば
ちゃんとGoogle名にのっとったような信頼性高額のやつを
やってるところもあればっていうことで
なのでSREとは何かって答えるのは結構難しくて
SREのジョブロールに惑わされずに
その会社が本当に何をやってるかっていうのを知らないと
例えばSREに転職で職種転換する人とかだと
結構サプライズがあったり
思った通りにいかないっていうのもあったりするかなとは思ったりするね
確かに
スピーカー 2
本当に幅広いというか
スピーカー 1
話によってやっぱり全く違うなっていうのを
スピーカー 2
前回の話をしても思ったので
12:01
スピーカー 1
そうなんだよね
大まかに分けるとよくあるスコープが5つあるかなと思ってて
まず1つがインシデントマネジメント
障害が起こったときに障害の自己分析したりとか
あと障害が起こったときにオンコール対応するってやつ
2つ目がDevOpsエンジニアリング
3つ目がプラットフォームエンジニアリング
例えば分かりやすい例で言うと
Kubernetesクラスター社内ツール作ったりとか
社内ツールのための社内プラットフォームを実装して作ったりとか
例えばKubernetes使ってたらKubernetesのバージョン管理したりだとか
はい
社内のデベロッパーに向けたプラットフォームを作っていくとか
はい
4つ目がセキュリティ
5つ目がオブザーバビリティエンジニアリング
メトリクス、ログ、アラート
それを収集する一連のオブザーバビリティのツール
例えばPrometheus、Kurafanaとか
AWS使ってたらCloudWatchみたいなところの基盤を実装したりメンテナンスするっていうところ
あるかなと思ってて
僕の例で言うと最初のCookpad Globalはそれほぼ全部やってて
途中から別でセキュリティエンジニアというロールができたので
セキュリティの部分は割とゲイティエンジニアに外出ししたり
日本の方でできる人がいたから
彼らがグローバルも一緒に見てくれたっていうのもあるんだけど
割と幅広く見れた感じで
はい
それが転職すると
次のNeo4jの時にはSREチームの他にプラットフォームエンジニアリングっていうのがあったんですね
そこがプラットフォームエンジニアリングとかDevOps的なことを吸収してたから
Neo4jの時のSREは割とインシデントハンドリングと
あとはオブザーバビリティのツールの実装とかメンテナンスがメインだったっていう
そこが結構大きな違いでした
スピーカー 2
うん
人数少なくても回していたっていうのがあったんですね
そう
スピーカー 1
だからSREは7人って言ったけど
6、7人だったけど
プラットフォームチームにも7、8人くらいいたので
それを合わせると15人くらいの
中規模のサイズになってたかなって感じ
はい
それが今の働いてる北米の大きな会社になると
ほぼインシデントマネジメント専門っていう感じになって
僕らの他にセキュリティチームもいれば
オブザーバビリティエンジニアリングチームもいれば
プラットフォームエンジニアリングチームもいる
プラットフォームエンジニアリングチームの中も
REDIS専門部隊がいたりMySQL専門部隊がいたり
ハスカス専門部隊がいたりってなるので
15:01
スピーカー 1
僕らはもうインシデントハンドリングだけって感じになってるね
だからSREで僕のタイトルはずっとここで全部一緒なんですよ
サイトリライビリティエンジニアってことで一緒なんだけど
実際は全然違うっていうところが一つありますね
全然違う
スピーカー 2
かなり細分化されてるんですね
スピーカー 1
やっぱり大きい会社になると
渡井さんはどうかな
スピーカー 2
そうですね 自分のところだと
たぶんケンさんが挙げてくれた5つの例のうちの
プラットフォームエンジニアリングはそんなにやってないので
スピーカー 1
それ以外はほぼやっているのかなっていう感じも含めて
スピーカー 2
セキュリティもそうですね
セキュリティエンジニアの方が
いろいろいるんですけど
こちらでもやらなきゃいけないところがあるんで
両方やってるっていう感じです
それぞれやっているみたいな感じのところがあります
スピーカー 1
やっぱりチームとしては他にプラットフォームのチームがいるわけでもなく
スピーカー 2
ないのでクラウド上で起きる
すべてのことを対応していくって
クラウド上って言ったらわかりにくいですけども
要はコンソールに入って作業するようなこととかは
ほぼすべて自分たちのチームでやっているという感じになりますかね
データベースも見るし
リリースとかの管理もするし
あとはCICDも見るしっていう感じ
かなり幅広いんで全然手が回ってないところはあるんですけれども
そういう状態です
スピーカー 1
そうすると僕の最初のチームと近いってことですね
スピーカー 2
手広く見なきゃいけない
そうなってくると下選択とか深みを出すっていうのが難しくなってくるんで
スピーカー 1
すごい人手が欲しいなっていう感じになりますね
そこで人手が欲しいなって言ったときの人手っていうのは
例えばKubernetesに詳しい人とかデータベースに詳しい人っていう
スペシャリティをある程度持った人で構成したいっていう感じなのか
もうちょっと幅広く持ってる人を単純に頭数増やしたい
どっちかというとジェネラリスト寄りなエンジニアを増やしたいっていう感じで言うとどっちですか
スピーカー 2
でも今自分のチームで言うとKubernetesに詳しい人がそんなにいないので
スペシャリストが多いので
言ったらそれはそれですごいありがたいですね
なのでKubernetesの専門性がある人がいたらすごい嬉しいです
スピーカー 1
じゃあ構造としては明らかにKubernetesという知識を必要としている技術領域があって
18:02
スピーカー 1
そこがちょっと欠けてるっていう感じかな
そうですね
全然違うね
スピーカー 2
やっぱり同じ職種で作ってしまっていいのかっていう気がして
やっぱりプラットフォームエンジニアとか
一応そういうジョブタイトルもいますけども
そんなにメジャーではないというか
スピーカー 1
まとめてされていったりしていることも多い気がしてて
データベースとかもさ
僕はデータベース好きでデータベースの会社働いてたからわかるけど
突き詰めようと思ったらかなり深いところまで行くじゃないですか
はい
データベースの例えば採算のところだとどれぐらいのスキルを求められるの?
まず何使ってるの?
スピーカー 2
Posgre使ってて
EC2の上で動かしているのとRDSの上で動かしているのそれぞれあって
課題としてはやっぱりEC2であるやつのメンテナンスが大変なので
例えばバックアップとかを
特別なツールを使ってやったりとか
ディスクの拡張とかを見ていただきゃいけないんで
そういうのをRDSに動かしたいみたいな課題があって
そのアップグレードとか
マイグレーションのやっていくみたいなのは結構ありますね
一方でチューニングとかはそんなに知識がやっぱりないんで
できてないところはありますね
もっと詳しい人がいれば
もっと最適なデータベースの管理ができるので
スピーカー 1
コストを減らしたりとかできるのかなみたいな思いますね
そうなるよねSRAがデータベースを持つと
スピーカー 2
データベースはケンさんの会社では専門のチームが
マイスキルのチームがあるんですよね
スピーカー 1
今はね
最初のチームとかはまさにそんな感じで
優秀だったからできるんだけど
とはいえやっぱりデータベースばっかりやってるわけにはいかないから
スピーカー 2
そうですね
時間を空けないんで深く潜れないっていうのがちょっと悩みではありますね
スピーカー 1
そうなんだよね
CICPとかも本当そうで
割と会社によってはSRAが全部レスポンシビリティを持ってやってるところもあれば
割とこう
どっちかというとそのアプリケーション側の
デリバリーとか物質が上がってくるところなんで
アプリケーションの中で持ってるところもあったりして
スピーカー 2
そうですよね
確かに
スピーカー 1
そのところは知らしいと思うんだけどねSRA
スピーカー 2
開発チームがやっているところも一番
例えばテストとかをちょっとCIDメンテしてもらうとかは
やってるところはあるんですけど
21:02
スピーカー 2
それ以外の部分やっぱCDとかは特にSRA以外はやりますね
スピーカー 1
そうだよね
なんか中で
Io
スピーカー 2
ちょっと
そうですね
けんさんの
そうですね
職種というか
仕事の幅が
結構狭まったと思うんですけど
その中で何ですかね
問題なさというか
もっとこういうのやってみたいなっていうのは
感じたりするんですか
スピーカー 1
ああ
狭まったからってこと
スピーカー 2
そうですね
スピーカー 1
はい
例えばじゃあ他にデータベースチームがいるからデータベースやりたくなかったのっていう
そういう話だよね
スピーカー 2
そういうことですね
スピーカー 1
うん
あのね
結論から言うと
そのインシデントマネジメントに注力できて良かったと思ってるし
実はそれが僕が目指してた職種転換でもあるんだよね
これはあの転職の時にもう聞いてて
人によってはこういうのあんまり書かないよっていうのを聞いてて
スピーカー 2
はい
スピーカー 1
で何でかっていうと
SRAに求められるシキルって技術で区切ると今話したように
データベースもあってネットワークもあって
デバッグスキルもあってっていう話してたよね
でもう一つのソフトスキルも色々求められると思ってて
はい
ステークホルダーマネジメントとかプロジェクトマネジメントとか
あとこうインシデントってこうハイステークになりがちというか
こう割となんかみんなイライラしがちなところで
うまくこうメンバー間の連携を取りながら課題解決に向かっていくような
ファシリテーションスキルとか
はい
そういったチームをこううまく回してくれるような
こううまく回していくためのソフトスキルとかコラボレーションスキルを
身につけたいなって思ってるんだよ最近ここ2、3年ぐらい
データベースのスペシャリストになりたいっていうよりは
こうなんだろうね
仕事に求められるコラボレーションコミュニケーションスキルを
平均以上に上げていきたいっていうのがあってね
これを考えると実はその今のインシデントマネジメントに注力できるっていうのは
今のこの僕のタイミングにとって最適なSRIに
1年の職場で
確かに
そうっていうのがあるので
浅井さんの答えに関して言うと
つまりイエスだね
ソフトスキルというところでイエス
それに注力してるっていう
はい
スピーカー 2
ちなみにそのコラボレーションスキルとかコミュニケーションスキルみたいなのを
高めていきたいって思ったきっかけはありましたか
スピーカー 1
そうだね
これちょっと
話し始めると長くなっちゃいがちなのが
すごい短く頑張ってまとめるね
スピーカー 2
お願いします
スピーカー 1
何かの技術に特化する
例えばデータベースのNeo4jのエヴァンジェリストになりたいより
24:04
スピーカー 1
僕はもともと技術的に
理論的好奇心がフラフラしちゃう人間で
スピーカー 2
はい
スピーカー 1
例えば技術だけじゃなくても他いろんなことに興味が出ちゃうんですよね
スピーカー 2
はい
スピーカー 1
それをそういった自分の
品質パーソナリティを尊重した生き方になりたいなと思って
もともとはNeo4jとかのコミュニケーションスキルになりたいとか
何か特定技術の第一人種になりたいっていうのがあったんだけど
はい
いろいろ自分と対話したり考えたりキャリアを悩んでいると
そうじゃなくて自分っていろんなものに興味があるから
ジェネラリストとしてのSRBの
心を見つけていきたいなってなった時に
何か技術に特化できるよりは
いろんな人といろんな知識をこういう交流しながら
チームで成果を出せる
スペシャリストよりスーパージェネラリストになった方がいいな
自分に合うなって思って
それを目指した時にその当時の自分にかけてたのは
もう20代はもう技術しか時間かけてこなかったから
ソフトスキル
コラボレーションとかだなって気づいて
だからそっちを頑張っていきたいなって思ったっていうのが答えです
スピーカー 2
素晴らしいですね
これまでは20代のスキルをやばらしにかけて
生かしつつコミュニケーションをさらに伸ばせるっていうのが
かなりハマっててすごいいいなって思いました
スピーカー 1
そうですね
自分が40、50になった時にイメージした時に
ネオ4Jの世界第一人者になっていることより
なんかいろんなインターナショナルな
いろんなカルチャーの背景とか国籍バックグラウンドもらった人と
社会にインパクトを残せるプロダクトに関わっている方を
ような自分になりたいなと思ってます
うん
いいかな
スピーカー 2
チェック分析がすごいできてますよね
スピーカー 1
できた
スピーカー 2
チェック分析がそんくらいできたらいいなって思ってますね
スピーカー 1
できないからこそそこに今注力してる感じなんだよね
うん
そうそうそう
だからSREに求められる違いは
いろいろあるねって話をしたところで
スピーカー 2
はい
スピーカー 1
まずそもそもSREとDevOpsとの違いはっていうところで
浅井さんがね
以前に挙げてくれるところがあるんだけど
ここももうちょっと拭きたいなと思ってて
はい
スピーカー 2
いや僕も全然正直分からないっていうのがあって
SREの探求っていう本を読んだときに
著名人多分20人とか30人くらいが
SREとDevOpsの違いについてしゃべってるんですけど
27:00
スピーカー 2
それぞれ結構言ってることが違くて
面白いなと思ったんですけど
やっぱり自分がいいなと思うのは
Googleさんが提唱している
Class SRE Implements DevOpsっていう考え方が
ありますね
振りくれるのかなと思ってて
DevOpsっていうのはそもそも概念で
開発者とオペレーションチームの障壁を取り除いて
よりコラボレーションしていくみたいな考え方
より安定的なサービスを提供していこうみたいな
そうだと思うんですけれども
それを実際にエンジニアとして実装していくというか
実現していくのがSREみたいな考え方だと思っていて
それは分かりやすいなと個人的に思っています
スピーカー 1
一部のリスナーの方に補足すると
Javaで言うことで
スピーカー 2
Javaとかのゲームで言う
スピーカー 1
DevOpsっていうインターフェースがあって
一言で言うなら
JavaのClassの一行目の定義
Class SRE Implement DevOps
DevOpsっていう
スピーカー 2
確かにね
これよく聞くね
正解とか全くない気がしてるんですけど
ケンさん何かありますか?
スピーカー 1
こう思ってるみたいな
そうだね
SREのカンファレンスってよくあるじゃない
SREコンプがさ
そこ行ってて
なんかよくあるのが
どんどんどんどん話していくと
哲学的というか
SREとは何かみたいな
SLAを通してビジネスにどう価値貢献するのかみたいな
割とそういったふわっとしたところを
信頼性工学とか技術を
総動員して
明らかにしていくっていうのがSREの醍醐味なのかなと思って
今本当に浅井さんが言ってくれたように
そこの手法としてDevOpsを使うのか何なのかっていうのは
それがチームによって違うよって思ってて
だからそのクラスSREインプリメント
何かインターフェースの
インターフェースはDevOpsのこともあれば
チームによっては
ラバビリティエンジニアリングもあれば
プラットフォームエンジニアリングもあれば
そのインプリメントの後にくるインターフェースって
チームによっていろいろあるのかなと思ってて
だから自分の入ったチームで
どのインターフェースを実装していく必要があるのかっていうのが
分かる必要があるし
それがSREに求められてる
ことなのかなと思ってる
だからSREとしていろんなチームで
活躍していくっていうか
仕事を楽しんでいくために必要なのは
いい意味で自分のことを変えていける
フレキシビリティ
いろんなインターフェースを実装していける
30:01
スピーカー 1
学習に対する貪欲さとか
なのかなと思って
スピーカー 2
いやーすごいしっくりきました
スピーカー 1
なんかいいですね今の
その例でちょっとアナロジーとして使うと
例えばじゃあ僕のMySREというクラスがありますと
そのMySREクラスは僕はNeo4jで
グラフデータベースが大好きなので
MySREクラスに
I love Neo4jっていうメソッドを定義しましたとね
自分のクラスにいろいろ
自分の好きなメソッドとかプロパティを
どんどんどんどん持ってしまうと
今後新しいインターフェースが来たときに
同じメソッドがあったときに
自分のクラスがオーバーライドしてしまいますよね
自分の過去に得たスキルが
例えば過去10年かけて得た知識に
後ろ髪を引っ張られるというか
それで違うインターフェース
違う求められている要件じゃないところに
無理やり当てはめようとしてしまう
そうじゃなくて
自分が過去に得た経験とかうまくアンラン
アンランっていうのはその学習の反対だから
うまく忘れていって
新しい現場に入ったときに
その新しいインターフェースを装着しなきゃいけない
そこで求められているメソッドを正しく
実装していくことの方が
過去10年付き合った自己流のメソッドよりも
大事なんじゃないかなって思ってる
ちょっと伝わったか分からないけど
スピーカー 2
いやすごい伝わりました
なんかすごいし
やっぱり本当に技術の変化とかも早いし
それこそSREっていろんな業界でもやっていけるんで
業界の違いとかもある中で
どうやって自分が適応していくかみたいなところ
アンランっていうのが
好きになってくるんですね
スピーカー 1
これは僕が最初SREになったときに
その当時のリーダーだった人に
もらったアドバイスでもあるんだけどね
はい
それを大事にしてて
はい
スピーカー 2
インターフェースが変わっても対応できるようにって
スピーカー 1
そうそうそう
なんかそこら辺の思いをこの前ノートに
なんかジェネラリストとしてのSREローみたいなのちょっと書いて
今本当に話したところなんだけど
これもちょっと小ノートに貼ろうかなと思ってるんだけど
スピーカー 2
はい
ちょっと自分もこれ拝見したんですけど
これもすごいしっくりきましたね
自分のロールモデルなのかなっていうくらいに
なんかすごいありがたい話でした
スピーカー 1
そうそうだから好奇心がコロコロ変わるからチーム変えたり
チームが変わらなくても
会社とかビジネスの状況変わるじゃない
33:01
スピーカー 1
そうすると実はインターフェースが変わるから
新しく実装しなきゃいけないインターフェースを喜んで
今まで実装したメソッドを捨ててプロパティを捨てて
新しいインターフェースを実装していけるとか
僕みたいな好奇心の向き先がコロコロ変わる人に
ゲネラリストとしても合ってるし
スピーカー 2
はい
スピーカー 1
そういう意味で喜んで器用貧乏になろうというか
スピーカー 2
技術の世界で
スピーカー 1
そんなこと思ったかな
スピーカー 2
地域の積み上げみたいなところは結構大事なイメージありますけど
それよりもやっぱり地域をいかに育てていくかというか
新しいところにいかに対応していくかみたいなところが
大事っていうのがやっぱり面白いですね
そうですね
スピーカー 1
もちろんコンピュータサイエンスのベースの知識は必要だと思うんですよね
ソフトスキルもベースのコラボレーションスキルとか
スピーカー 2
そういうのがあった上でもちろん話をしてるんだけど
その上に乗っかってくる変わりやすい知識というか
どんどん判断していかないといけないっていうところがありそうですね
そう
スピーカー 1
かつそこから先に効率的に働いていくためには
いろんなインターフェースを実装していくと
共通部分が出てくるじゃない
スピーカー 2
はい
スピーカー 1
例えばKubernetesとかMySQLみたいな技術にあったときに
そこを一つ抽象レイヤーを上げて考えてみると
共通化できる構造ストラクチャーとかシステムっていうものがあると思うんだよね
はい
でそれを
例えばコンポーザブルな形で
別の自分流のツールボックス
別のクラスとして切り出して
そのMySREクラスが使うっていうのはアリだと思うんですよ
例えばMySQLとRedisとGraph Databaseっていうインターフェースを実装しなきゃいけないときに
それらに求められる共通の知識として
例えば分散データベースをスケーラーブルに運用していくスキルっていうのが
一つ抽象があると思うんだけど
じゃあその
Distributed Database Skillsみたいな
コンポーザブルなスキルを別のクラスとして
自分の中でツールボックスとして持って
必要に応じてそのMySREクラスから使うっていう
そうすることによって新しいインターフェースに出会ったときに
全部またゼロからフルスクラッチ実装しなきゃいけないことを避けられると思うんですよね
はい
だからそれは割と自然にやってる人は多いと思ってて
例えばその一つのプログラミング言語を学んだときに
Rubyに詳しくなった人が
新しくPythonを覚えるのって簡単じゃないですか
それは何でかっていうと
文法の違いさえ覚えればいいので
あとPythonWay
PythonicWayを覚えればいいので
Rubyを初めてプログラミング言語を学ぶときにやった
コンピュータショナルシンキング的なところとか
36:00
スピーカー 1
あとはデータ構造アルゴリズムは知ってるから
そこのベースとなる共通の知識
ツールボックスがあるから
その差分だけやればいいということで
インターフェースを全部一から
全部リソースしていく必要もなくて
共通化できるところはどんどん共通化していける
スピーカー 2
っていうのが一つあると思う
確かに
その抽象的な部分を
なんですかね
うまく考えていって
この知識はまた次に持っていけるように
ちゃんと覚えていこうとか
いう風に考えられたら
より成長も早いのかなっていう
気がしました
スピーカー 1
聞いてて
スピーカー 2
うん
なるほど
スピーカー 1
はい
いやちょっとそろそろ時間も来そうだから
こんなところにしようかなと思うけど
はい
最後に感想とかありますか
スピーカー 2
いや本当に毎回勉強になるなっていう
スピーカー 1
面白いね
スピーカー 2
はい面白い
スピーカー 1
今回のエピソードのタイトルは
スピーカー 2
じゃあクラスSRAインプリメンツDevOpsですか
スピーカー 1
これいいです
スピーカー 2
いつもタイトル考えるんだけど
確かにそうですね
いい気がします
うん
スピーカー 1
いや面白いネットを持ち込んでくれてありがとう
スピーカー 2
いえいえこちらこそありがとうございます
うん
いやでもなんかはい
ぜひSREになりたい人がいたら
本当に聞いてくれたらコメントしてくださると嬉しいですね
こういうの聞いて
違うよっていうコメントとかも欲しいですし
やっぱりそういういろんな視点からの
意見がいただけたら嬉しいですね
スピーカー 1
嬉しいよね
スピーカー 2
はい
スピーカー 1
今も今後ゲストの方が
SREの方に呼ぼうとしている人で
SREの方も何人かいらっしゃるから
スピーカー 2
おーいいですね
そういう時に
スピーカー 1
お前らのあの回帰だけど全然違うわ
スピーカー 2
みたいなこと言ってもらって
スピーカー 1
全商法的に新しいアイデアをどんどん利用していきたいね
はい
スピーカー 2
楽しみだな
スピーカー 1
ええ
はい
こんなところかな今日は
スピーカー 2
そうですね
スピーカー 1
はい
じゃあありがとうございました
スピーカー 2
ありがとうございました
38:16

コメント

スクロール