msksgm’s blog

msksgm’s blog

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

2024年4月の目標

概要

2024 年 4 月の目標です。

勉強関連

SRE・DevOps、Kotlin、英語を対象に OKR を実施しています。

4 月〜6 月の目標

4 月〜6 月を終えた時点での目標は下記です。

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
SRE・DevOps SRE・DevOps の文化を導入しシステム化する。SRE の技術的な要素も押さえる SRE 業務における目標設定、毎月評価する。「詳解システムパフォーマンス」を読む
Kotlin Kotlin・Java の知識を深める OSS(Arrow-kt、SpringBoot) のコードリーディング。Kotlin Fest に参加する
技術英語 英語で技術系コンテンツを学べるようになったことを定量化している ポッドキャスト・英語の技術書に毎月・毎週の進捗目標を設定し遂行する

4 月の目標

それを達成するための 3 月の目標は以下になります。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
SRE・DevOps 業務で SRE の目標設定をする。SRE の技術的知識の拡充 業務において SRE として動くのは初めてなので目標設定やすり合わせを実施する。「詳解システムパフォーマンス」の勉強会を再開したい
Kotlin OSS のコードリーディングを通じて Kotlin の知識を拡充する Arrow-kt(Either.kt) のコードリーディングし、zenn に読んだ内容をまとめる。内容によっては記事にする
英語 技術英語の習熟度を把握するための継続的かつ定量的な指標を設定する 普段の勉強記録からおおよその進捗を把握し、目標設定する

読書

OKR の本では下記の本を読みます。

2024年4月〜6月の目標

概要

2024 年 4 月〜6 月の目標です。

4 月〜6 月の目標

目標は、DevOps を技術とマネジメントの側面から実践できるエンジニアになることです。 4 月から 6 月は1月から3月に引き続き SRE・DevOps、Kotlin、英語に注力します。

それぞれ以下の理由です。

  • SRE・DevOps
    • 信頼性観点から、ソフトウェアについて考えられるようになるため。仮説検証には DevOps の考え方を理解し実践するため
  • Kotlin
    • 自身が好きな言語であり、保守性の高いコードを書けると考えているので、知識を拡充したいため
  • 英語
    • 技術書や動画といった技術コンテンツが好きだが、英語で作られたものに手を出せていないので、今年は克服したいため

勉強関連

3 ヵ月間の OKR は以下です。

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
SRE・DevOps SRE・DevOps の文化を導入しシステム化する。SRE の技術的な要素も押さえる SRE 業務における目標設定、毎月評価する。「詳解システムパフォーマンス」を読む
Kotlin Kotlin・Java の知識を深める OSS(Arrow-kt、SpringBoot) のコードリーディング。Kotlin Fest に参加する
技術英語 英語で技術系コンテンツを学べるようになったことを定量化している ポッドキャスト・英語の技術書に毎月・毎週の進捗目標を設定し遂行する

そのための 1 ヵ月ごとに OKR を具体的に以下のように定めます。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
SRE・DevOps 4 月 業務で SRE の目標設定をする。SRE の技術的知識の拡充 業務において SRE として動くのは初めてなので目標設定やすり合わせを実施する。「詳解システムパフォーマンス」の勉強会を再開したい
5 月 業務で SRE(・DevOps)に対する貢献 期待値に対して 1 ヵ月でコミットできたことを評価する
6 月 9 月に向けたロードマップを策定。SRE の技術的知識の拡充を終える 3 ヵ月の内容をもとに自身の評価やできることを把握し目標を再設定する
Kotlin 4 月 OSS のコードリーディングを通じて Kotlin の知識を拡充する Arrow-kt(Either.kt) のコードリーディングし、zenn に読んだ内容をまとめる。内容によっては記事にする
5 月 OSS のコードリーディングを通じて Kotlin の知識を拡充する Arrow-kt(Either.kt) のコードリーディングを完了させる。次の OSS のコードリーディングを決定
6 月 OSS のコードリーディングを通じて Kotlin・Java の知識を拡充する 前月の内容をもとに決定する。Kotlin Fest に参加する
英語 4 月 技術英語の習熟度を把握するための継続的かつ定量的な指標を設定する 普段の勉強記録からおおよその進捗を把握し、目標設定する
5 月 定量的な指標をもとに自身の英語力の遷移を可視化する 4 月で立てた目標設定で英語学習を実践
6 月 技術的英語コンテンツから学べるようになったか判断する 3 ヵ月分を評価し、英語学習を目標に立てるのか判断する

読書

注力分野に関連する書籍と英語の技術書を目標に 1・2 冊読んでいければと考えています。

技術記事の作成

特に目標は決めていません。 注力分野の内容について記述できればと考えています。

まとめ

3 月までの目標と比較して、具体的なものになりました。 やっていく中で目標設定するものも多いです。 最終的な目標に近付けるように設定していきます。

また現時点では組み込めていませんが、以下の資料の内容で実践できればと考えています。

speakerdeck.com

2024年1月〜3月の振り返り

概要

2024 年 1 月〜3 月の振り返りです。

1 月〜3 月の振り返り記事

2024 年 1 月〜3 月の振り返りを欠かさず実施しました。

1 月の振り返り記事

msksgm.hatenablog.com

2 月の振り返り記事

msksgm.hatenablog.com

3 月の振り返り記事

msksgm.hatenablog.com

勉強関連

「DevOps をチームと技術の側面から実践できるエンジニア」になれるように勉強しています。

勉強時間

3 ヵ月間で合計勉強時間は、時間でした。 勉強時間は毎月平均 120 時間~ 150 時間を目標にしています。 3 月は家庭の事情により、あまり時間を確保できませんでした。

1 月 2 月 3 月
118.5 時間 103.98 時間 59.3 時間

3 ヵ月間(1 月〜3 月)の OKR

1 月時点の OKR

1 月時点での OKR は以下でした。

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
SRE・DevOps SRE の考え方を学ぶのはいったん完了とする。スクラムによって仮説検証を回すプロセスを体験する 書籍ベースの SRE の学習にひと区切終える。スクラム開発を実践する。
Kotlin 自身の Kotlin の知識を把握して、新しい知識を拡充する 自身が作成した書籍の更新。公式ドキュメントを読む
英語 英語で技術系のコンテンツをなんとなく読めるようになる 基本的な英語の知識から始めて、3 月には技術系記事に対してやってみる

また、1 月時点で 1 ヵ月ごとの具体的な OKR は下記でした。

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
SRE・DevOps 1 月 書籍ベースで、SRE を学ぶ。業務でスクラムを実践してみる 「セキュアで信頼性のあるシステム構築」の勉強会をやる。
2 月 書籍ベースで、SRE を学ぶ。業務でスクラムを実践した結果を振り返る、必要な知識を拡充する 「セキュアで信頼性のあるシステム構築」の勉強会を終える。「データベースリライアビリティエンジニアリング」の勉強会を開始する。
3 月 書籍ベースで、SRE に区切りをつける。業務でスクラムを再度実践する 「データベースリライアビリティエンジニアリング」の勉強会を終える。
Kotlin 1 月 自分が持っている Kotlin の知識を更新する ハンズオンで学ぶサーバーサイド Kotlin」更新のために、SpringDoc を調査して実践する。
2 月 自分が持っている Kotlin の知識を更新する ハンズオンで学ぶサーバーサイド Kotlin」を Spring Boot 3 系に更新する。
3 月 Kotlin の知識を公式ドキュメントから抑える 公式ドキュメントを押さえていく
英語 1 月 英語学習のとっかかりをつかむ 自分にあった英語の学習方法を模索する。
2 月 英語学習を継続している 1 月に模索した勉強法を継続している
3 月 英語の技術ドキュメント・動画で学習してみる 興味がある分野に対して、とりあえず実践してみる

3 月時点の OKR 結果

3 月を終えた時点での月毎の OKR 結果は下表の通りです。

注力分野 達成度(100 点満点) Key Result(行動結果)
SRE・DevOps 1 月 75 点 「セキュアで信頼性のあるシステム構築」の勉強会を実践し、全 7 回中 6 回を終えた。 スクラムを実践している。 Docs as Code を導入してみた
2 月 70 点 予定通り「セキュアで信頼性のあるシステム構築」/「データベースリライアビリティエンジニアリング」を終えた。スクラムを業務で実践し、短期間で課題を発見し解決する経験を得ている。
3 月 30 点 「詳解システム・パフォーマンス」の勉強を一部始めた。SRE 業務に関わるようになった
Kotlin 1 月 80 点 SpringDoc を調査し、実装方法をまとめて zenn に投稿した
2 月 90 点 zenn に記事を 3 つ投稿した。「ハンズオンで学ぶサーバーサイド Kotlin」を v2 に更新した
3 月 65 点 サーバーサイド Kotlin LT 大会 vol.11で発表した。Kotlin Fest にプロポーザルを提出した。Arrow-kt のコードリーディングを開始した
英語 1 月 60 点 英語の技術書とバイリンガルニュースで英語学習を開始した
2 月 40 点 自分の勉強方針を確立した。2 週目までは継続できていたが、優先順位が下がって実践できなかった。
3 月 60 点 試行錯誤しながら英語学習を継続できている。取り組めない日もあったが 18 日取り組めた日があった。英語はまだまだ理解できていない部分が多い。

3 ヵ月間(1 月〜3 月)の OKR 結果

3 ヵ月を総括した振り返りは下記になります。

注力分野 達成度(100 点満点) Objective Key Result
SRE・DevOps 58.3 点 SRE の考え方を学ぶのはいったん完了とする。スクラムによって仮説検証を回すプロセスを体験する 「セキュアで信頼性のあるシステム構築」「データベースリライアビリティエンジニアリング」を読み終えた。スクラムも導入してみたが異動になったため道半ばになってしまった。SRE のチームに移動したが、まだ何もできていない
Kotlin 80 点 自身の Kotlin の知識を把握して、新しい知識を拡充する Kotlin の技術記事を 4 つ投稿した。パブリックな場で LT 発表した Kotlin Fest にプロポーザルを提出した
英語 53.3 点 英語で技術系のコンテンツをなんとなく読めるようになる 自身の技術英語の学習方法(ポッドキャスト、英語の技術書)を確立した。英語で技術系のコンテンツをなんとなく読めるようにはならなかった。

注力分野の振り返り

SRE・DevOps

SRE・DevOps は 58.3 点です。 理由は以下です。

  • SRE は、書籍ベースでの学びはいったん終えたものの、それ以外の方法で実践や身に付けられていない
  • DevOps は、スクラムの導入や Docs as Code の実践をした。しかし、途中で異動になってしまったため、

3 月までに、「セキュアで信頼性のあるシステム構築」「データベースリライアビリティエンジニアリング」を読み終えました。 とりあえず、日本語で出版されている SRE の書籍は、「詳解システムパフォーマンス」を除き読み終えました。 達成感はあるものの、知識不足で経験もほとんどないので、実力的にはまだまだです。

DevOps はスクラムと Docs as Code の実践をしました。 スクラムを導入してみて、改善をスプリントに組み込む方法をやってみました。しかし、継続的な改善を積み重ねることによる最終的な業務速度向上や文化的なものにできませんでした。 プロダクションコードに docusaurus を導入する方法を考案し、コードとドキュメントの一致を可能にしました。課題は既存のドキュメントを完全に移行することは難しく、負債になる可能性が高いことです。 実践してみたことは多かったのですが、想定外の異動が発生したため、途中で投げ出す結果になってしまいました。

総じて、当初の予定は達成できたものの、継続可能なものにできませんでした。 これは自身の目標から遠い状態です。 今の興味は、改善のために取り組んだことを一過性のものではなく文化にすることです。 いきなりはできませんが、個人の範囲でも取り組んだことを振り返られるようなしくみを導入します。

Kotlin

Kotln は 80 点です。 理由は以下です。

あらためて Kotlin に取り組むため、自身の知識を押さえる必要がありました。 その結果、4 つの記事を投稿できました。

それを踏まえて書籍の更新ができましたし、LT 発表もできました。 今後は OSS のコードリーディングを踏まえて知識を拡充していきます。

3 ヵ月を踏まえて、継続的な勉強に取り組めました。 今後は OSS や公式ドキュメントを踏まえて学んでいきます。

英語

英語は 53.3 点です。 理由は、英語力の向上は乏しいものの、技術的な英語コンテンツを学べるようになるための英語学習方法を自分なりにも確立したからです。

具体的には以下の 2 つの勉強法の進捗を記録に残しながら実践しています。記録に残しているので、モチベーションを維持しながら取り組めています。

課題は英語力の向上を実感できていないことです。 英語の内容を理解できていない、またはすぐに忘れてしまうため、英語学習になっていない気がします。 邦訳は参照しながら進めているので、部分的にでも意味がわかっていますが、このような状態が続くのは割けたいです。

学んだ内容を要約するなどして対策を取りたいです。

読書

感想文を記述したのは 2 冊です。英語の技術書も含めペースが落ちています。

「セキュアで信頼性のあるシステム構築」

msksgm.hatenablog.com

「データベースリライアビリティエンジニアリング」

msksgm.hatenablog.com

2024 年 4 月 ~ 6 月の OKR 目標について

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
SRE・DevOps SRE・DevOps の文化を導入しシステム化する。SRE の技術的な要素も押さえる SRE 業務における目標設定、毎月評価する。「詳解システムパフォーマンス」を読む
Kotlin Kotlin・Java の知識を深める OSS(Arrow-kt、SpringBoot) のコードリーディング
技術英語 英語で技術系コンテンツを学べるようになったことを定量化している ポッドキャスト・英語の技術書に毎月・毎週の進捗目標を設定し遂行する

まとめ

今年も 4 分の 1 が終わりました。 最初の 3 ヵ月の滑り出しとしては、Kotlin・英語については手探りの部分が多く、SRE・DevOps は今までやってきたことを継続したという感想でした。 思い通りにいっていない部が多かったですが、すべりだしとしてはまずまずでした。 3 ヵ月かけてあらたな目標設定はできませんでしたが、個人的に不足している部分であり興味関心が更新されなかったとしてとらえます。

また、個人的な環境も慌しかったです。 そのせいで、3 月の勉強時間の確保が難しかったです。 むしろ今までは自分が勉強時間を確保できていたことが恵まれていたと考え、どのようにして時間し目標を達成するのか考えていきます。

2024年3月の振り返り

概要

2024 年 3 月の振り返りです。

勉強概要

今月は下表のように勉強していました。 合計、約 59.3 時間です。 新生活を始めつつも 2 週目までは時間を確保できていたのですが、家庭の都合によりほとんど時間が確保できませんでした。

項目 1 週目(3 月 1 日〜3 月 3 日) 2 週目 3 週目 4 週目 5 週目
平日朝の勉強時間 0 時間 約 10.4 時間(25 ポモドーロ) 約 7.5 時間(18 ポモドーロ) 0 時間 約 8.33 時間
平日夕方の勉強時間 0 時間 約 0.417 時間(1 ポモドーロ) 0 時間 0 時間 0 時間
休日の勉強時間 約 7.08 時間(17 ポモドーロ) 約 2.08 時間(5 ポモドーロ) 0 時間 約 12.5 時間 約 7.5 時間
OSS コードリーディング会 0 時間 1.5 時間 0 時間 0 時間 0 時間
そのほかの勉強会 0 時間 約 2 時間 0 時間 0 時間 0 時間
合計 約 7.08 時間 約 16.4 時間 約 7.5 時間 約 12.5 時間 約 15.8 時間

12 月の OKR 結果

2024 年 1 月〜3 月の目標

2024年1月〜3月の目標に記述した OKR 目標は SRE・DevOps、Kotlin、英語です。 具体的には下表の通りになります。

注力分野 Objective(3 ヵ月経過後の目標) Key Result(必要だと考えていること)
SRE・DevOps SRE の考え方を学ぶのはいったん完了とする。スクラムによって仮説検証を回すプロセスを体験する 書籍ベースの SRE の学習にひと区切終える。スクラム開発を実践する。
Kotlin 自身の Kotlin の知識を把握して、新しい知識を拡充する 自身が作成した書籍の更新。公式ドキュメントを読む
英語 英語で技術系のコンテンツをなんとなく読めるようになる 基本的な英語の知識から始めて、3 月には技術系記事に対してやってみる

2024 年 3 月の OKR 目標

注力分野 Objective(1 ヵ月度ごとの目標) Key Result(具体的な行動予定)
SRE・DevOps 書籍ベースで、SRE に区切りをつける。業務でスクラムを再度実践する SRE 関連の業務に携わる機会があるので、現状の整理と目標設定を実施する
Kotlin LT で発表する。Arrow のコードリーディングする サーバーサイド Kotlin LT 大会 vol.11で発表する。Arrow のコードリーディングの計画を立てる
英語 英語学習を継続している 2 月に決めた勉強内容で実践する

2024 年 3 月の OKR 結果

今月は以下のようになりました。 あまり取り組めなかったため、全体的に低めの結果になりました。

注力分野 達成度(100 点満点) Key Result(行動結果)
SRE・DevOps 30 点 「詳解システム・パフォーマンス」の勉強を一部始めた。SRE 業務に関わるようになった
Kotlin 65 点 サーバーサイド Kotlin LT 大会 vol.11で発表した。Kotlin Fest にプロポーザルを提出した。Arrow-kt のコードリーディングを開始した
英語 60 点 試行錯誤しながら英語学習を継続できている。取り組めない日もあったが 18 日取り組めた日があった。英語はまだまだ理解できていない部分が多い。

注力分野の振り返り

SRE・DevOps

SRE・DevOps は 30 点です。 理由は、「詳解システム・パフォーマンス」を読み始められたものの中断した状態であること、SRE 業務を始める予定だったが取り組めていないためです。

「詳解システム・パフォーマンス」を知人と一緒に読んでいました。 今回は精読せず、読めるところから読み始めています。 内容で難解な部分が多く、ページ数も多いですが、章末の問題に絞って理解しようとすれば、比較的読みやすく学びが多いです。 2 回実施して、CPU の章まで読みました。 以前から低レイヤの部分を学びたかった気持ちが満たされつつあるのと、アプリケーションに沿った内容で学べています。

SRE 関連の業務はまだ始められていません。 異動自体も初めての体験ですので、早めに慣れるように行動に移したいです。 具体的な行動をとれていないので、前もって自分がやりたいことを整理して取り組みたいと考えています。

今月は予期しない事態に対して対応できない状況が続いた結果、時間を削減するのが SRE・DevOps の領域でした。 今までが恵まれすぎていたので、あらためて目標・やりたいこと・できることを整理して取り組みます。

Kotlin

Kotlin は 65 点でした。 理由は、パブリックな勉強会で LT 発表したことと、Arrow のコードリーディングを開始したからです。 目標に掲げていた最低限以上のことができたと考えています。

3 月 8 日(金)にサーバーサイド Kotlin LT 大会 vol.11 で LT 発表を実施しました。 初めてのパブリックな場での LT でしたので非常に緊張しましたが、とりあえずは準備が間に合って当日も時間内に発表できて良かったです。 当日の発表資料は以下です。

speakerdeck.com

また、Kotlin Fest にプロポーザルを提出しました。 リンクは以下です。プロポーザルの概要は更新します。採用されたらうれしいです。

https://fortee.jp/kotlin-fest-2024/proposal/c7b68f48-1209-4f63-a111-18d1b185e109

Arrow のコードリーディングの勉強会を実施しようと考えていましたが、家庭の都合により時間が合わなくなってしまいました。 そのため、1 人で実施しています。 記録は、Arrow の Either.kt を読むに記述しています。 限られた時間の間に我流で進めているため、効率が悪いですが、すでに学びが多いです。 毎日少しずつでも進められるように取り組んでいきます。

途中たいへんな時期はありましたが、LT 発表ができ Arrow のコードリーディングにも取り組めたと考えています。 Arrow は目的がありますが、目標設定がないので、次の 3 ヵ月で詰めていきたいと考えています。

英語

英語は 60 点です。 理由は先月決定した勉強方法をもとに、勉強の継続ができているからです。

途中時間を割けないときがありましたが、最終的に 17 日間実施しました。

ポッドキャストは以下を聞きました。

技術書は読みきれませんでしたが、以下を読んでいました。

課題は、ポッドキャストはまだまだ内容がわからないままであることと、技術書は読むスピードが遅いことです。 この勉強方法を確立したのは、1 ヵ月ぐらい前ですので効果を実感できていないです。 次の 3 ヵ月でも継続して実践します。

4 月の OKR

1 月から 3 月の振り返りで記述します。

読書

今月は、月初にデータベースリライアビリティエンジニアリングを読み切りました。 英語の技術書も含めて月 1 ペースが目標ですので、引き続き頑張っていきます。

「データベースリライアビリティエンジニアリング」

msksgm.hatenablog.com

技術記事の作成

今月の作成はありません。

その他

サーバーサイド Kotlin LT 大会 vol.11

サーバーサイド Kotlin LT 大会 vol.11に参加し、発表しました。 発表資料は以下です。

speakerdeck.com

アーカイブは以下です。

https://www.youtube.com/watch?v=cxwN2nD_yCE&ab_channel=Server-SideKotlinMeetup

3 月の振り返りまとめ

今月は勉強以外のことで予期しないことが多く慌ただしい 1 ヵ月でした。 逆に言えば今まで時間を潤沢に確保できていたのは非常に恵まれたことだったと実感しています。 ほとんど勉強時間を確保できない期間でも勉強へのモチベーションが失われることなく、どうやったら限られた時間で学べるんだろうと考えるようになりました。 そこで、t_wada さんの以下の資料を思い出しました。

speakerdeck.com

この資料では以下のアジェンダで解説がされています。

時間の確保が難しくなったからこそ、これらの姿勢を実践できるようにしようと考えました。

来月の目標も引き続き、SRE・DevOps、Kotlin、英語の予定です。 これらを実践する際に上記の資料の姿勢で実践できるように工夫します。具体的には、1~3 月の振り返りと目標で記載します。

来月からは社会人 4 年目になります。 想像以上に予期していない状況になっており、正直うまくコントロールできていません。 自身の目標に近付く為、現状に流されないように実践していきます。

「データベースリライアビリティエンジニアリング」感想

概要

データベースリライアビリティエンジニアリングを読みました。 感想を書きます。

前提

目的

本書を読んだ理由は以下です。

事前知識

業務で SRE チームや関連の領域に所属しておらず、自社開発企業のプロダクト開発エンジニアとして働いています。 SRE は業務外の範囲で知見を深めており、学んだことを業務に導入したりしています。 直近では、ポストモーテムの作成文化、SLO の考え方の導入、モニタリング・オブザーバビリティについての基礎知識の共有といったことを行いました。

SRE 関連の書籍は以下を読んでいました。

DevOps 関連で言えば以下の書籍を読んでいました。

他にもSRE NEXT 2023 に参加することで、SRE の日本企業の事例も学びました。 当時の参加感想は以下の記事にまとめました。

msksgm.hatenablog.com

読了時間

個人的に勉強会を開催し、以下の日程で読み進めていました。 ページ数が少ないので 3 週間程度でいっきに読み切りました。

No. 日付
1 2024/02/13 1 章 ~ 5 章
2 2024/02/20 6 章 ~ 9 章
3 2024/02/27 10 章 ~ 14 章

感想

タイトルから予想されるほど、SRE としての DB に関連する内容は少なく、SRE の業務としての基本的な部分が多かったです。 個人的な所感としては、DBRE を志す方が本書を読むには、少し物足りないのではないかと思いました。 そのため、ほかの DB の構成やパフォーマンスについて学べる書籍を合わせて読むことを検討した方が良いのではないかと考えました。

個人的には、中盤以降はデータベースの込み入った話があり、正直あまり理解できませんでした。 しかし、本書に出てきた単語がわかるように、DB の勉強をしようというモチベーションになりました。

次に関連で勉強すること

業務で SRE 関連のことを実施します。

また、以下の書籍も読みます。