msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

2023年7月の振り返り

概要

2023 年 7 月の振り返りです。

勉強概要

今月は下表のように勉強していました。 合計、約 147 時間です。 今月は、外出する機会も多かったですが、連休を活用したり夕方に勉強する時間を確保できたりしたので、勉強時間を確保できました。 特に資格勉強は勉強教材とやることが決まっているので、夕方の勉強時間を確保しやすかったです。

項目 1 週目(7 月 1 日、7 月 2 日) 2 週目 3 週目 4 週目 5 週目
平日朝の勉強時間 0 時間 約 12.9 時間(31 ポモドーロ) 約 13.3 時間(32 ポモドーロ) 約 13.3 時間(32 ポモドーロ) 約 16.7 時間(40 ポモドーロ)
平日夕方の勉強時間 0 時間 約 1.67 時間(4 ポモドーロ) 約 1.67 時間(4 ポモドーロ) 約 2.5 時間(6 ポモドーロ) 約 2.5 時間(6 ポモドーロ)
休日の勉強時間 約 11.3 時間(27 ポモドーロ) 約 13.8 時間(33 ポモドーロ) 約 13.2 時間(28 ポモドーロ + 1.5 時間) 約 21.6 時間(47 ポモドーロ + 2 時間) 約 13.3 時間(32 ポモドーロ)
「SRE 本」勉強会 0 時間 約 2 時間 約 2 時間 約 2 時間 0 時間
そのほかの勉強会 0 時間 0 時間 約 2 時間 0 時間 約 1 時間
合計 約 11.3 時間 約 30.4 時間 約 32.2 時間 約 39.4 時間 約 33.5 時間

7 月の OKR 結果

2023 年 7 月〜9 月の目標

2023年7月〜9月の目標に記述した OKR 目標は、開発者テスト、プロダクトマネジメント、SRE・DevOps です。 具体的には下表の通りになります。

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
開発者テスト サービスで稼働されているソースコードを、単体テスト観点から評価し、改善に着手した経験がある状態 単体テストから考える設計の理想が遠い業務コードを理解し、計画を立て、一部の改善に取り組むこと
プロダクトマネジメント プロダクトマネジメントの継続的な学習をしている状態 プロダクトマネジメントの書籍を毎月 1 冊読み感想を書く
SRE・DevOps SRE の初歩的な概念の知識を獲得している。組織面と技術面の両方において実践している状態 SRE 本を読み終えている。部分的に SRE の概念や手法を業務のチームに導入し、継続的な学習と実験ができている。

2023 年 7 月の OKR 目標

7 月は下表に落とし込んでいました。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
開発者テスト 改善対象のリポジトリの理解 現状たまっている PR の消化を通して、コードの理解を深める。その過程でドメイン知識を獲得し、ドキュメントとして書き出す
プロダクトマネジメント 継続的に学習ができている状態 プロダクトマネジメントに関する書籍を 1 冊読み読書感想文を書く
SRE・DevOps SRE 本を通じて SRE の理解を深めている。業務において組織的な側面で SRE を導入し始めている。ネットワークの基本的な部分を抑えられている SRE 本の勉強会を実施。チームにポストモーテム文化を導入する。ネットワークの初心者向けの本を読み終えている。可能であれば AWS でネットワーク構築の練習をしている

2023 年 7 月の OKR 結果

注力分野 達成度(100 点満点) Key Result(行動結果)
開発者テスト 70 点 課題だったリポジトリに残っていた PR をすべて消化できた。今までの経験から適切な設計を共有し、理解が得られる段階にきたことがわかった。別案件との兼ね合いから進行するのが難しい状況になってしまった。
プロダクトマネジメント 75 点 目標だったプロダクトマネジメントの書籍を読めた。
DevOps・SRE 85 点 SRE 本の勉強会を実施し、9 回中 7 回まで終えられた。チームにポストモーテム文化を導入した。ネットワーク初心者向けの本「[改訂新版]3 分間ネットワーク基礎講座」を読んだ。AWS のネットワーク構築の練習も途中まで行った。応用情報技術者試験の勉強を始めた。チームで DORA を実践することになった

注力分野の振り返り

開発者テスト

今月の開発者テストは 70 点でした。 理由は長くなったので箇条書きにしました。

  • 良かった点
    • リファクタリングに取り組むよりも先に、対象リポジトリの PR を予定通りすべて消化できた
    • 今までの経験から適切な設計を考え共有した。勉強会や自身の取り組みから合意を得られそうなチームの状態になっていることがわかった
  • 悪かった点
    • 別案件との兼ね合いから計画を見直す必要がある

今月は、業務のリポジトリで、単体テスト改善に取り組むため、リファクタリングに関係ない残 PR の消化と計画をしました。 最初の作成された方が退職されてしまっていたため、原因不明のエラーを調査したり、動作確認方法がわからなかったりと、課題がありましたが、無事に今月中に完遂できました。

単体テストに適した設計も、「単体テストの考え方/使い方」と「ドメイン駆動設計 モデリング/実装ガイド」に準拠した考え方をシェアしました。 個人的な勉強からチームの勉強に至るまで学んだことを共有し、理解される体制を整えられたと実感しています。 来月中には具体的な計画を立てようとしていました。
しかし、2 つの課題があります。 1 つめは、単体テスト向けにリファクタリングしつつドメイン知識を学ぶことが想定以上に時間がかかりそうなことです。 自動化された統合テストの作成から手動の E2E テストまで行うには設計や手順書が整備されておらず、確実に時間を必要としていることがわかっています。 個人で完結するなら問題ありませんが、チームに共有できなければ効果が薄いです。 そういった点も含めてどのように計画を立てれば良いのか難儀しています。 2 つめは、別案件との兼ね合いにより仕様の観点からファクタリングをするのが難しい状況になっていることです。 現状 DB 周りで抜本的な変更を求められており、それらと並行して進めるのが難しい状況です。 同様に DB にリファクタリングよりも先に終わらせられれば、確実に効果を実感できるので優先順位決めをしなければなりません。 これら 2 つの問題はチームで相談し解決する必要があります。

総じて、現時点で取り組めることは行えたが、外的要因から 3 ヵ月の計画が崩れているといった感じです。 8 月以降の開発者テストについては、とりあえず計画通りに進めつつ、チームと相談して更新します。

プロダクトマネジメント

プロダクトマネジメントは 75 点でした。 とりあえず、1 冊読み継続的な学習ができているのであれば、75 点にしています。

書籍は、「PLG プロダクト・レッド・グロース」を読みました。 主に SaaS は参入障壁が下がっている分、顧客を維持するコストが高く、他社との優位性を保つためにプロダクトファーストな戦略について記述されていました。 残念ながら「All for SaaS」と同様に以下の点において、あまり自身とマッチしませんでした。 この経験から、自身のレベルでは体系的に書かれた入門書を読み倒した方が良いのではないかと思い始めました。

  • SaaS 向けの本であるが自身が SaaS を提供する側でない
  • 新規事業向けの本であるが自身が一致しない

しかし、最近は SRE の勉強をしていると、「チームトポロジー」の話をよく聞きます。 内容も組織論らしく、おもしろそうなので 9 月までには読もうと考えています。

また、詳細は後述しますが、「Lean と DevOps の科学」および DORA について、チームで学ぶことになりました。 プロダクトマネジメントというよりも DevOps の内容ですが、似たような分野だと考えているので、今までの内容をうまく活かせればと考えています。

来月も継続して書籍を 1 冊読みます。 具体的には、「INSPIRED」か「チームトポロジー」を読みます。

SRE・DevOps

SRE・DevOps は 85 点です。

理由は、SRE・DevOps の理解を深めるために、さまざまな内容を業務内外に問わず取り組めたからです。 100 点としなかった理由は、応用情報技術者試験の受験に手を出し始めたため勉強のバランスが崩れてきているからです。

SRE サイトリライアビリティエンジニアリング(SRE 本)の勉強会を引き続き継続してます。 全 9 回を予定しており、7 回まで終えることができました。 今月は内容が主に第 Ⅲ 部であり、具体的な内容があまりにも多かったため、当初読み進めるのに難儀していました。 そこで、MIRO を用いて「印象に残ったこと」「議論したいこと」「実践すること」を予習して書き出し、当日議論する形式にしました。 結果、互いに印象に残った議論したい内容を優先して取り組むことができるため、能率的に進めることができました。
勉強会を通して、障害、不具合と分散システム、データの完全性と可用性といったことを学びました。 その中でも、ポストモーテムはすぐに実践できリターンもありそうだとして、チームに導入しました。 目的や効果などは理解されましたが、今後どうやってさまざまな人から書いてもらうかが課題となっています。

関連して、「SLO サービスレベル目標」が出版されたときのイベントに 2 つ参加しました。

connpass.com

forkwell.connpass.com

どちらも翻訳者による解説と SRE の第一人者や実践者による事例を学ぶことができ、非常に有益な時間になりました。

技術面ではネットワークを学ぶ月にしていました。 「[改訂新版]3 分間ネットワーク基礎講座」を読み終え、基礎的な部分を押さえました。 そして、「Amazon Web Services 基礎からのネットワーク&サーバー構築改訂4版」の途中まで、実践しネットワーク構築を手を動かして学びました。 さらに、「[改訂新版]3 分間ネットワーク基礎講座」の、理解度チェックや知識の定着のために応用情報技術者試験の問題を解きました。 問題を解いているうちに、ネットワークスペシャリストに合格したいと考えたので、午前1の免除目的で応用情報技術者試験の受験を決めました。 これは当初の予定になかったので計画を少し修正しています。

最後にチームで DORA を実践するために、勉強会を実践することになりました。 提案したのが自分で「Lean と DevOps の科学」を読んだ人がほかにいなかったので、自分が勉強会を計画しました。 書籍は 2017 年なのと具体例が海外企業のため、読んでもそのまま落とし込むのは難しいと考えました。 そこで、texta.fm で DORA について解説された5. Accelerate by texta.fm6. 1on1 in Publicを元に学ぼうとしています。 書籍や動画で勉強会を行った経験があっても、ポッドキャストは初めてなので不安が若干あります。 準備として zenn の scrap に下記の 2 つを作成しました。引き続きうまく進められるように準備していきます。

総合して、今まで未知だった SRE に対してさまざまな側面から取り組みを実践しました。 そのため、割とうまく学べた 1 ヵ月だったのではないかと考えています。 課題は 2 点あります。 1 つめは、チームに導入した取り組みが自分以外に実践されるかという点です。 特にポストモーテムは価値について理解されたものの、SRE チームではないので必須にはしていません。 これらをどのようにし浸透させ、文化にさせるかが課題です。 2 つめは、技術的な面の勉強時間が応用情報技術者試験の勉強時間によって確保しづらくなったことです。 受験自体は自信で決断したことですが、資格だけが目的ではないので、危機感を感じています。 解決策は、先に資格の勉強時間を確保することで、なるべく早い段階で受験の勉強に区切りをつけ、技術的な勉強時間を再確保できるようにします。

8 月の OKR

今月の OKR の結果から、8 月の OKR を下記のように定めます。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
開発者テスト 既存のリポジトリ単体テストの改善計画 チームで改善計画について優先順位をつけ、いつでも手を動かせるようにする。
プロダクトマネジメント プロダクトマネジメントの継続的な学習をしている状態 INSPIRED」か「チームトポロジー」を読む
SRE・DevOps SRE について一定の理解を獲得している。業務において監視・オブザーバビリティの側面で SRE を導入し始めている。Linux の少し上級者的な部分を学ぶ SRE 本の勉強会が終了している。SLO サービスレベル目標の勉強会を計画する。業務で利用している監視・オブザーバビリティツールの使い方を学ぶ。「[試して理解]Linux のしくみ」を読む

読書

今月は以下の書籍を読みました。うち 2 冊は読み切り、読書感想文を読みました。SRE 本は引き続き読んでいます。

「[改訂新版]3 分間ネットワーク基礎講座」

msksgm.hatenablog.com

「プロダクト・レッド・グロース」

msksgm.hatenablog.com

技術記事の作成

今月は zenn に投稿した記事は特にありません。 社内で、社内向け記事を投稿するシステムがありますので、そちらに 1 つだけ投稿しました。 チームで行った取り組みをシェアするために、月 1 で投稿を考えています。

その他

今月は、以下の技術イベントに参加しました。 どちらも、「SLO サービスレベル目標」の翻訳者による講演です。 特に前者は、オフライン開催でした。 本の出版イベントにオフラインで参加するのは初めてで、雰囲気や発表者の熱量などを感じ取れました。 同様に、SRE に興味があるので、こういった書籍が出版され、SRE の第一人者である翻訳者が説明をしてくれるのはとても良い機会でした。

connpass.com

forkwell.connpass.com

7 月の振り返りまとめ

6 月までの振り返りで決定した勉強の方向性に対して、時間を確保し着実に取り組めた 1 ヵ月でした。 個人的な満足度では、SRE・DevOps、プロダクトマネジメント、開発者テストの順番です。 特に SRE・DevOps は業務内外問わず取り組めている実感があります。 計画的な行動によって取り組めたこともあれば、偶発的な要因から取り組むことになった部分もあります。 割と運が良かった部分でもあるので、業務においては取り組みが途切れないように牽引する立場であり続けようと考えています。 SRE・DevOps の課題は、個別の振り返りで記述した、チーム文化への浸透と技術的な勉強時間が資格勉強に時間を取られていることです。 それぞれの課題に対して来月以降の目標に加えつつ実践していきます。 プロダクトマネジメントについて特に不満点はありません。 3 ヵ月の目標時点で掲げたように、プロダクトマネジメントは継続的な学習が目的です。 このようにハードルを下げることで勉強の負担になっていないので、良い目標設定をしたと考えています。 当初の予定通り進められたら、10 月以降の目標には掲げないようにします。 最後に、開発者テストについては取り組めたものの課題感を実感しています。 対象のリポジトリに対して改善活動を続けられているものの、個人の範疇にとどまっています。 個人のままだと再び理解しづらいリポジトリが生まれるだけですので、このままではいけないと危機感があります。 チームで話し合って改善の方向性を決めることで来月の目標を再設定します。

それぞれの目標に対してうまくいったと感じるものの、取り組み始めだからローコストで大きなリターンを得られている節があります。 来月以降の目標設定でも、リターンを確実に得られるようにしつつ、簡単なことだけに取り組まないようにしていきます。