msksgm’s blog

msksgm’s blog

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

2022年7月の目標

概要

7 月の目標です。

生活習慣

ジム通います。ベンチプレス、スクワット、デッドリフト全ての重さにおいて継続です。 回数を持ち上げられるようにします。

種目 重量(今月トライする重量) 7 月時点の目標
ベンチプレス 80kg * 8 回 * 3 セット 85kg * 8 回 * 3 セット
スクワット 90kg * 8 回 * 3 セット 90kg * 8 回 * 3 セット
デッドリフト 90kg * 8 回 * 3 セット 90kg * 8 回 * 3 セット

勉強関連

以下を勉強していきます。

読書

リファクタリング第 2 版」と設計関連、組織論関連の書籍を読みます。

美術展

  • 「ブルーピリオド展」(2 回目)

技術記事の作成

余力があれば 1 記事ぐらい作成。

2022年4〜6月の振り返り

概要

1月〜3月の振り返りをします。

4~6 月の振り返り記事

4~6 月の振り返りを欠かさずにできました。

4 月の振り返り記事

msksgm.hatenablog.com

5 月の振り返り記事

msksgm.hatenablog.com

6 月の振り返り記事

msksgm.hatenablog.com

4~6 月の目標の振り返り

3 ヶ月間の目標と振り返りをします。

生活習慣

目標は以下でした。

早寝早起きとジム通いとランニングをします。 ベンチプレス 85kg、スクワット 90kg、デットリフト 90kg を目標にします。 ランニングは可能な限りやっていきます。

結果は以下でした。ベンチプレスが達成できませんでした。 自身の体重的にも簡単に持ち上げられる重量の限界にきている気がするので筋トレ目標を下方修正します。 ランニングは可能な限り 1 回 30 分走り切ることを目標に続けられています。 最近はサウナにはまりランニングを連続 3 回実践できたらサウナを 1 回通うようになりました。

種目 結果 6 月時点の目標
ベンチプレス 80kg 85kg
スクワット 90kg 90kg
デッドリフト 90kg 90kg

勉強関連

勉強関連の目標は、1 回修正をして最終的に以下になりました。 Go、セキュリティ、DDD は注力できましたが、DB と ComputerScience はできませんでした。 なので、残り半年からは目標から外します。 プログラミング言語も Kotlin のみに注力したいため、来月からは Kotlin と DDD のみを目標に掲げます。

  • プログラミング言語
    • Go
    • Kotlin
      • 「Kotlin サーバーサイドプログラミング実践開発」
    • GAS
      • 未定
  • 注力分野
    • ドメイン駆動設計
      • 「実践ドメイン駆動設計」
      • 「わかる! ドメイン駆動設計 ~もちこちゃんの大冒険~」
    • セキュリティ
      • 「雰囲気で OAuth2.0 を使っているエンジニアが OAuth2.0 を整理して、手を動かしながら学べる本」
      • 「OAuth、OAuth 認証、OpenID Connect の違いを整理して理解できる本」
      • 「OAuth・OIDC への攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)」
      • SAML 入門」
      • 「認証と認可 Keycloak 入門」
      • 情報セキュリティマネジメント試験を受験(6 月)
    • DB
      • OSS-DB Silver の勉強
      • 他未定
  • Computer Science
    • 「プログラミングの基礎」
    • 他未定

プログラミング言語

4 月は Go に注力していました。途中から興味が変わり、5 月から Next.js と Kotlin に注力し始めました。6 月からは、Kotlin がメインでした。

4 月までは、Go の学習に注力し「Learning Go」の完読と、「ドメイン駆動設計入門」を C#から Go にリプレイスで学んでいました。

「Learning Go」途中からダラダラしながら進めてしまいましたが、英語の書籍を曲がりなりにも読み切ったのは少し自身につながりました。 Go の根本的な仕組みと歴史的経緯と哲学について学ぶことができるので、Go を使用している方には積極的におすすめしています。

ドメイン駆動設計入門」を C#から Go にリプレイスした結果、戦術的 DDD の実装パターンを 7 種類実装し、記事を書きました。 実際に手を動かさないと勘所がわからないなかったので良い経験となりました。 しかし、Go は DDD とあまり相性が良くなさそうとも感じました。

「DDD をやりたい」という気持ちは「プログラミングするならオブジェクト指向の表現力が欲しい」という思考に変わりました。 なので、注力してインプットするのは一旦中止にしていました。

5 月からは、Kotlin に注力する予定でした。業務で Next.js を使う機会が生まれたので、そっちに時間を割いています。 Next.js は SSR がよくわかっていませんでしたが、「RealWorld Next.js」で理解深められました。 以前よりもフロントエンド開発の抵抗がなくなりました。しかし、やっぱり考えることが多くて難しいです。 特にテスト周りが苦手です。

6 月から Kotlin に取り組めました。 「オブジェクト指向の表現力が欲しい」という目的にマッチし、Intellij の厚いサポートが開発体験を素晴らしいです。 Java のような書き方ができますが、より表現力がある Kotlin の書き方ができるように勉強していきます。 7 月からは目標を修正して Go から Kotlin の勉強に変更します。

注力分野

ドメイン駆動設計

4 月に無事に「実践ドメイン駆動設計」を読み切りました。 14 週間かけて読み切ったことは自信につながりました。 計算したところ「実践ドメイン駆動設計」「ドメイン駆動設計入門」「ドメイン駆動設計モデリング/実践ガイド」に費やした時間は 200 時間を超えていましたでした。 結果、DDD の概念を身に着けることができたと考えています。 実務でドメインモデリングを実践しているのですが、活かしきれているとは言えず試行錯誤を繰り返しています。

5 月時点でも、業務でドメインモデリングを継続していました。 ビジネス職とエンジニア職の認識を以前よりも合わせられるようになりました。 費用対効果を意識できていないのを課題に感じたので、修正していきます。 簡単な箇所ですが、ドメインモデルをソースコードに落とし込みました。 当初の目的だった「納得感を持ってプログラミングをしたい欲」を満たすことができ満足しました。 引き続きモデリングを続けていきますが、ソースコードに落とし込むペースも増やしてイテレーションを増やします。

6 月から、モデリングで必要なものについて考えなおす機会がありました。 その結果、無理にオブジェクトの図をかくよりもシーケンス図を記述するほうがわかりやすいことに気が付き、シーケンス図も書くようになりました。 戦術的 DDD を実務でも個人の勉強でも実践する機会があります。 実務の巨大なソースコード(しかも動的型づけ言語)を DDD のアーキテクチャに落とし込むのは難しいですが、せめてオブジェクト指向っぽく記述できるようにしています。 10 月から PHP を Kotlin にリプレイスする作業が始まる予定なので知見を深められるように努力していきます。

ドメイン駆動設計に限らず、一般的な設計と組織論に興味があるので、7 月以降もさらに注力していきます。

セキュリティ

4 月時点では、特に認証認可に注力していました。 Auth 屋の書籍を 3 冊読み、「SAML 入門」も読みました。 結果、OAuth の知識の整理になったと考えています。 しかし、同じようなフローで知識が混ざりがちなので、繰り返し勉強する必要があるとも感じました。

5 月時点では「Keycloak 入門」で勉強会を実施しました。 OAuth・OIDC だけでなく、IAM 分野の単語の整理ができました。 特に、チュートリアルが素晴らしく、良い復習になりました。 徳丸本の勉強会 2 回目を開始しました。 2 回目なので、教える側のつもりで準備をしています。 7 月ぐらいに、「徳丸実務知識試験」を受験する予定です。

6 月時点では徳丸本の勉強会を実施しました。 4 章まで読み進め脆弱性の良い振り返りになり、加えて CSRF の理解が非常に深まりました。 セキュリティと資格受験の優先順位が下がったので「徳丸実務知識試験」の受験は未定ですが、来年ぐらいには受けられるようにしたいです。

優先順位が現状低いので、残り半年は目標から外します。

DB

特に注力できませんでした。 残り半年で注力する予定がないので、目標から外します。

Computer Science

5 月に「プログラミングの基礎」を読みました。簡単な関数型プログラミングについて知ることができてよかったです。 こちらも DB と同様に残り半年で注力する予定がないので、目標から外します。

英語

特に目標は定めていませんでした。 せっかく ACM 会員になったのに、オライリーのサブスクが打ち切られてしまい、悲しかったです。 ただ、オライリーのサブスクで検索すると、ググる以上に有益な情報を得られるのでこれからも継続します。

読書

ビジネス書は、以下の 3 冊を目標に掲げ、他技術書を読んでいました。

4 月時点(6 冊)。

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

5 月時点(5 冊 + 感想を書かなかった 1 冊)。

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

msksgm.hatenablog.com

6 月時点(1 冊 + 感想を書かなかった 2 冊)。

msksgm.hatenablog.com

美術展

美術館は 4 月時点では、特に目標は立てていませんでしたが、通いました。

4 月。

msksgm.hatenablog.com

5 月。

msksgm.hatenablog.com

6 月。

ブルーピリオド展にいきました。あと複数回通う予定なので、その後に感想を書きます。

技術記事の作成

週 1 回投稿を目標にやっていました。 週 1 回投稿をやめることを 6 月の最終週に決断したため、6 月だけ目標を達成できていません。 理由としては、60 記事以上継続した結果、時間を割き過ぎている、内容が薄くなっているが改善できていない、承認欲求を実感するようになったことがあげられます。 そのため、一旦やめることにしました。今後は月 1 ペースで投稿する可能性があります。

最後に今まで書いていた簡単な実装記事ではなく、Go と DDD の相性について自分の意見をまとめた記事がトレンド入りをして、過去最高の Like をもらっているのが節目として嬉しいです。 今後は、自分の意見も織り交ぜた記事を継続的に書いていければと考えています。

4 月時点(5 記事)。

zenn.dev

zenn.dev

zenn.dev

zenn.dev

zenn.dev

5 月時点(4 記事)。

zenn.dev

zenn.dev

zenn.dev

zenn.dev

6 月時点(3 記事)。

zenn.dev

zenn.dev

zenn.dev

その他

その他記事

4 月時点。

msksgm.hatenablog.com

5 月時点。

msksgm.hatenablog.com

connpass の勉強会

主に DDD と Kotlin について情報収集していました。 今後も継続する予定です。

4 月時点。

ddd-community-jp.connpass.com

modeling-how-to-learn.connpass.com

5 月時点。

ddd-community-jp.connpass.com

line.connpass.com

ddd-community-jp.connpass.com

6 月時点。

ddd-community-jp.connpass.com

server-side-kotlin-meetup.connpass.com

ddd-community-jp.connpass.com

ddd-community-jp.connpass.com

ddd-community-jp.connpass.com

振り返りまとめ

勉強分野では、プログラミング言語(Go、Next.js、kotlin)、ドメイン駆動設計(DDD)、セキュリティに対して注力していました。 4 月時点で、「実践ドメイン駆動設計」の勉強会を完了し完読に成功しました。 あきらかに、読了前と読了後で DDD の理解度が変わったと実感しています。
ドメイン駆動設計入門」を Go で書き換えるのも完了し、独学ですが Go の書き方を学びながら戦術的 DDD を実践できました。 個人的には Go の構造体と戦術的 DDD は相性が悪いという印象を持ち、Kotlin に対して興味が移りました。 Java の書き方ができるのはもちろんのこと、sealed、companion、val など言語がサポートしてくれる機能が強力で実務でも導入したいです。 5 月時点では全くの初心者でしたが、知人の助けもあり 6 月から RealWorld の実装に取り組めています。7 月中には一旦終わらせたいです。 ついでに実務で Next.js を触る機会もあったので、Next.js を 5 月に学んでいました。 雰囲気は理解できましたが、テスト周りが難解です。
セキュリティでは認証認可系の書籍を読み漁ることがでました。徳丸本も 2 回目の勉強会を実践しました。 また、勉強の一環として「情報セキュリティマネジメント試験」を受験しました。合格発表は 7 月です。 実務で触る機会はないのにも関わらず、セキュリティの知識を向上できていると実感できています。
注力したかったけどできなかった分野には、DB と CS があります。 どちらも業務の即効性とプライベートの興味関心を考えると、優先度が低いままなので、残りの半年では注力分野から外します。
セキュリティも優先順位が下がったので一旦勉強をやめます。 なので、来月からは Kotlin と DDD(&設計、組織論)に注力していきます。

読書も 4 月と 5 月は月 5 冊のペースで読めていました。 しかし、月 5 冊のペースで読んでも理解を深められる入門書はほとんど読み切ったので、6 月からペースを一気に落としました。 読書をやめて、手を動かしていると設計に強い興味があることを実感しました。 なので、残りの半年は設計の戦略的な本と戦術的な本を読んでいきます。

美術展も毎月いきました。 6 月にいった「ブルーピリオド展」は「ブルーピリオド」が最も好きな作品なので、非常に楽しめました。あと数回通おうと考えています。 それ以外では、毎月目的もなく美術展に通っていると似たような構成の展覧会に遭遇し、すぐに飽きてしまう問題がありました。 なので、毎月ペースをやめて自分の好きな分野を探そうと考えています。

仕事関連では、社会人 2 年目の最初の 3 ヶ月間が終わった状態です。 社会人 2 年目に仕事について 2 つの目標を掲げており、それらを達成するために業務中はもちろんのこと、プライベートでも注力していました。 すぐに結果がでたかと言われたら難しく、1 つ目の目標ですら節目が見えそうな状態です。 完全に個人目標のため、途中で諦めたらリターンが 0 の状態なので、結果を出せるように詰めていきます。 悪いことだけでなく良いこともあり、リファクタリング意識が変わってきています。 業務コードを大幅にリファクタリングしようとすると、チームの話になってくるので、チームの悪いところを考えるようになりました。 人に説明しようと言語化しタイミングで成長を実感できるパターンが多いので、積極的にチームに共有できるように努力していきます。
他に大きなイベントとしては、チームに新卒が加入し、メンターを務めることになりました。 チームの業務内容的に育成に時間がかかることを実感したため、同じようなことで苦しくならないように教えていきたいです。そのために、1on1 や組織論の本を直近で読もうと考えています。

最後に 3 ヶ月の振り返り自体の振り返りです。 引き続き、3 ヶ月ごとの振り返りがあると粒度的にも良いタイミングの振り返りだと実感しています。来月以降も続けます。 1 年単位で考えると半年経過したため、1 年間の目標で掲げていた内容に対して興味の変化を内心感じていましたし、記録に残すと事実もそうであることがわかりました。 具体的には、1 月時点ではプログラミング言語は Go、注力分野では、DDD、セキュリティ、DB、CS を考えていました。他にも追加していました考えていました。 しかし、7 月からは Kotlin とドメイン駆動設計(設計)にのみ絞ります。 半年間が無駄だったわけではなく、興味がある分野を知るための期間だったと考えています。事実、半年の間に勉強しておいてよかったと考えていますし、逆に半年感で見つけることができたと思いました。 結果としてイチローがいう「遠回りが一番の近道」ということを実感できました。ただ、「遠回り」もなんとなく勉強するのではなく計画を立てた上で「遠回り」なのも重要だと思いました。Kotlin とドメイン駆動設計(設計)という選択が「近道」なのか答えはでていませんが、「近道」になるように残りの半年も努力していきます。 仕事でも 1 月から実践しようとしていることが変わっていると思っています。 意見が通りやすく実践もしやすい職場なので、意見出しをしている分は結果にコミットできるように努力します。 メンターにもなったので、自分が考えている良いチームになれるようにも努力します。

今回も長くなりましたが、3 ヶ月間の振り返りでした。 残り半年も努力しつつ、アウトプットもしていきます。

2022年6月の振り返り

概要

2022 年 6 月の振り返りです。

以下を目標に掲げていました。

msksgm.hatenablog.com

目次

生活習慣

筋トレ

今月は以下で実践していました。 今月は重量を増やさずに持ち上げられる回数を増やそうという試みでした。 結果的にはあまりうまくいきませんでした。 基本的には 8 回*3 を目標にしていますが、どれもよくて 4 回ぐらいしか持ち上げられませんでした。 筋トレで 1 ヶ月かけて進捗を得られなかったのは初めての経験なので、来月は改善できるか考えます。

種目 重量(今月トライする重量) 6 月時点の目標
ベンチプレス 80kg 85kg
スクワット 90kg 90kg
デッドリフト 90kg 90kg

勉強時間

今月から勉強時間の結果です。

項目 ポモドーロ 時間換算
平日と休日の朝の勉強時間 122 約 30.5 時間
平日夕方の勉強時間 44 約 11 時間
休日の勉強時間 64 約 26.7 時間

先月と比較して、勉強時間が減っています。原因は明確で以下が挙げられます。

  • 6 月には連休がない上に、5 月には GW があった
  • 資格を受験した
  • 土日に友人とあう予定が多かった
  • 勉強会(connpass + 個人の勉強会)と RealWorld 作成のためのペアプロのため、ポモドーロを計測していない時間がある

また、夕方の勉強時間が減ったのも、OJT 担当になったことから、始業時間が遅くなり夕方に勉強する時間を取らなくなったのが挙げられます。朝の時間が途中から激増しました。

勉強会(12 + 2 + 2)と RealWorld(14)のペアプロの時間で約 32 時間となっています。 そのため、合算すると約 100.2 時間です(先月は約 121.6 時間)。 祝日がない + 休日に予定が詰まっていたことを考えると、この勉強時間が 1 ヶ月の勉強時間のベースになります。 ちょっとした修正でポモドーロタイマーを測っていなかったら 25 分以上経過したり、計測漏れがあったりしますが、祝日込みで平均 3 時間なので若干少ない印象です。 1 ヶ月の合計で計測しているので、具体的に勉強できていなかった週も計測できていないのも問題だと考えています。 来月以降はこれを超えられるようにしていくこと、1 週間ごとの勉強時間を計測します。

勉強関連

勉強関連 概要

プログラミング言語

Go

平行処理・非同期処理の勉強のために「Go 言語による平行処理」を読もうと考えていました。 しかし、Reactive プログラミングを学ぶには、「R2DBC Revealed」の方が良さそうだったので、そちらを考えていましたが結局やりませんでした。 他に特にとりくんでいないです。

Kotlin

簡単な素振り記事を 2 つまとめたあとに、知人と一緒に Kotlin + JDBC + SpringBoot で RealWorld を実践しました。 最初は、sealed クラス、object 宣言など、今まで知らなかった知識が頻出しており、ついていくのに精一杯です。 しかし、学習コスト以上に Kotlin の魅力を感じ、継続して勉強できています。 Go でも書いていた、interface を駆使したプログラミングによって、ユースケース層の影響を受けずにプレゼンテーション層のテストが書けるようになったので成長を実感しています。 DDD で学んだ、オニオンアーキテクチャを意識し、高凝集低結合なソースコードを書いているの実践しています。ただ、モデリング不足による落とし穴にはまり、DDD の難しさを軽量 DDD を素振りの段階でも実感しました。 DDD に関係ない部分では、エラー型の定義を厳密に考えるのを教わり、今までのプログラミングの価値観をひっくり返されています。 7 月中旬に完了を目指しているので、引き続き実装していきます。 Kotlin を自身の強みにしていきたいので、残りの半年を Kotlin の勉強に費やします。

Next.js

社内ツールのリプレイスに日々奮闘しています。 6 月末完了予定でしたが、遅延し 7 月末リリース目標です。 時間が取れないのも原因ですが、フロントエンドから見える API 設計の考慮不足を発見し、リファクタリングをしています。 結果、時間がかかっています。 テスト周りがほとんど記述できていないので、なんとかしたいですが現状優先順位が低いので勉強できていないです。

注力分野

ドメイン駆動設計

引き続き実務でドメインモデリング会を続けています。 バッチ処理モデリングをしながら、既存の APIリファクタリングをしています。 リファクタリング自体は検討段階ですが、モデリングをしていたおかげで、巨大なエンティティから値オブジェクトの切り出しを考えています。 ただ、API の改修の際には、PHP で DDD を実践しようとしたとき、リストにジェネリクスがないことを気がつきました。 リストの wrapper を作成したり、アサーションを追加したりして解決しようか考えましたが、PHP を用いて DDD を推進するコストに対するリターンが少ないと考え、一旦断念しました。

バッチ処理モデリングなので、モデリングらしくはありませんが、既存システムの理解がすすんでいます。 しかし、設計書を読みながら進めていますが、ソースコードとの対応がとれていなかったりして、ドキュメントの保守の難しさを実感しました。

プライベートでは DDD のキャッチアップのために、10 分 DDD に参加しています。 今月は 4 回参加しました。

また、さまざまなことを勉強していて気がついたのが、自身が設計に対して他より優先するほど興味とモチベーションを持っていたことです。 なので、今年残り半年をかけて設計分野の書籍を読み漁る気持ちができました。 とりあえず「リファクタリング第 2 版」から初めていきます。

セキュリティ

3 週間かけて徳丸本の勉強会を実施しました。 4 章まで読み切り、脆弱性について理解を深めました。 特に CSRF について理解を深めることができました。 徳丸実務試験を受けるつもりでしたが、優先順位が変わったため受験を見送りました。 残り半年は、Kotlin と設計に注力するため、セキュリティの勉強は一旦とりやめます。 読み物はたまに読む可能性があります。

DB

今月は注力しない予定だったので特になし。 来月からも外します。

Computer Science

特に無し。

読書

セキュリティ 1 冊、設計 1 冊、組織論 2 冊をつまみ食いしながら読んでいます。 先月まで感想文を頻繁に書いていましたが、今年の勉強の方向性が決まったので、あまり感想文はかかない予定です。 主に設計の戦略的な本と組織論の書籍を読んでいきます。

「体系的に学ぶ 安全な web アプリケーションの作り方 第 2 版」

勉強会の課題図書として 4 章まで読みました。 徳丸実務試験を受けるために、もうしばらく読み進める予定ですが、受験日は未定です。

リファクタリング 第 2 版」

会社の友人と読み進め始めました。 今まで意識せずにやってきたことが言語化されており、参考になります。 日本語的に冗長な部分もあるので読み飛ばしたくなりますが、その気持ちを抑えて読み進んでいます。

「ヤフーの 1on1」

msksgm.hatenablog.com

美術展

ブルーピリオド展

開催初日にいってきました。 あと複数回いくつもりなので、その後に感想記事を書きます。

技術記事の作成

2022 年になってから合計 24 記事書きました。

週 1 回の投稿(金曜日がある週を 1 週としてカウント)の目標を今月は達成しませんでした。 理由としては、今後は週 1 投稿をやめることを決断したからです。 もともと、週 1 回という投稿頻度は、短期的なスパンで計画を立てることにより、習慣づけることを目的としていました。 それなりにうまくいき Like と Preview も増えていきました。 しかし、問題点が 3 つありました。内容が薄くなっていることを実感していたこと、必要以上に記事を書くことに時間を割いていたこと、承認欲求が生まれていたことです。 技術記事投稿はアウトプットに最適でメリットを実感していましたが、現在は優先順位が変わりました。それらの学んだことを詳細に書きたくなっています。そういった点でも週に 1 回の投稿は目的に合致しなくなっています。 技術的なこと以外では、ブログ投稿や Twitter 投稿によって注目を集めることを目的にしたくなかったのもあります。 技術記事週 1 投稿をやめるだけなので、月 1 ぐらいのペースで再開する可能性があります。そのときには、今みたいな薄い内容よりも濃くなっているように意識します。

1 記事目 「Kotlin + Gradle + JDBCCRUD 処理を実行する」

zenn.dev

2 記事目 「Kotlin + Gradle + SpringWeb + JDBCCRUD 処理を実行する Web API サーバーを作成する」

zenn.dev

3 記事目 「個人的に戦術的 DDD の実装パターンと相性が悪いと思った Go の仕様と理由」

zenn.dev

その他

connpass の勉強会

今月は以下に参加しました。DDD と Kotlin 関連を主に情報収集をしています。

ddd-community-jp.connpass.com

server-side-kotlin-meetup.connpass.com

ddd-community-jp.connpass.com

ddd-community-jp.connpass.com

ddd-community-jp.connpass.com

資格

セキュリティ系に興味があるので、「情報セキュリティマネジメント試験」を受験しました。 CBT なので正答率の結果がすぐにでました。しかし、あくまで正答率なので配点次第で合格できているかは、まだわかりません。 結果発表は 7 月 27 日(水)なのでそれまで待ちます。 「徳丸実務知識試験」「OSS-DB」「応用情報技術者試験」に興味があったのですが、Kotlin と設計関連の優先順位を高くしたので試験は残り半年受けない予定です。

まとめ

今月、最も注力していたのは Kotlin だと考えています。 ほとんどわからなかった状態から、RealWorld を作成することで、Kotlin の知識をなんとか深められています。 また、戦術的 DDD を実践する機会にもなり、アウトプットとして非常に役立っています。 Kotlin のシンタックスを写経しながらなんとか理解を試みている状態なので、今後は本質を理解できるように勉強していきます。 Go はほとんど触りませんでした。おそらく残りの半年もあまりさわらないんじゃないかと考えています。 代わりに、現状リプレイスを考案している Next.js を普段は触っています。 フロントエンドを触っていると API 設計を修正したくなり修正しているので、リプレイスにおける「アキレスと亀」の状態になっています。

セキュリティは「徳丸実務知識試験」合格を目的とした徳丸本勉強会を実施していました。 今回も自身がファシリテーターを務め書籍以外の補足資料を集めることで、理解を深めていました。 特に CSRF の適切な理解をできたと実感しており、今までは理解していたつもりだったと思いました。 現状、セキュリティの優先順位が低く「徳丸実務知識試験」の受験日は未定です。 ただ、来年の 1 月以降にはなんとか受けたいと考えています。

DDD については、引き続き実務でモデリング会を実施しています。 DDD について理解を深めたことは、「モデリングの目的がなんなのか」と振り返った際に、「企画とエンジニアの共通認識を合わせるものを作る」という結論に戻りました。 そのため、現状シーケンス図を作っています。 DDD の書籍でシーケンス図を企画側に見てもらうような解説はみたことがありませんし、シーケンス図自体を用いてソースコードの直接的な改善をやることは少なさそうと考えています。 しかし、「共通認識を合わせられそう」という合意がとれているので、実践しています。 技術的な観点ではいえば PHP で記述された APIソースコードオブジェクト指向らしく改善しようとしていました。 しかし、PHP のリストにジェネリクスが存在しないため、引数として渡すことが難しく、一旦やめました。 アサーションをつければなんとかなりますが、煩雑になりコストが見合わなさそうという観点からやめています。 このような点においても PHP から Kotlin に以降したいという気持ちが高まりました。 設計が無駄だったのかと言われたらそうでもなく、API の RESTful な設計になるようにリファクタリングを実践しています。 来月も引き続きやっていきます。

DB と CS は出来ていません。 残り半年を考えた時に、これらの優先順位は非常に低いので目標から外します。

6 月が終わりました。今年の梅雨明けは早く自分が住んでいる地域も梅雨明けしました。 先月「業務において目標を色々掲げているので、社会人 2 年目の 3 ヶ月目には、何かしら目処をつけたい」と記述しました。 あまり詳細には書けませんが、掲げた 2 つの目標のうち 1 つ目は来月末にギリギリ終わりそう、2 つ目は準備段階に入れた、といった次第です。 目処が立っているかと言われたら、あまり立っていないのですが、進捗があってよかったです。来月は多少無理しても無理矢理進捗を出したいと考えています。 他には、新入社員も入り OJT 担当になりました。自身の経験も浅いですが新卒時に実感したつらかったことを改善し、よかったことを続けられるようにしたいです。その一環として 1on1 の書籍を読んでいます。 個人的に目標を掲げていたのは下方修正しました。書籍を読む量を減らし技術記事も週 1 投稿をやめました。その代わり熟読する本をきめたり、ソースコードの記述を増やしたりしています。 ちょうど半年なので、1 年間の目標を修正します。

今年も夏の季節になりました。気温が非常に高く外に出るのが億劫になりますが、出社も非推奨じゃなくなり積極的に会社の人と交流できるようにしたいです。 チームの設計意識を変えたいので、引き続き様々な施策を実践していきます。 個人的な目標が、「Go」「セキュリティ」「DB」「CS」「DDD」から「Kotlin」「DDD」に変わりました。 残りの半年で、「Kotlin と DDD をやっています」と言えるように努力します。 今月は 3 ヶ月の振り返りを行います。

ヤフーの 1on1

概要

ヤフーの 1on1」を読みました。 「前提(目的、前提知識)」「読了時間」「感想」「次に関連で勉強すること」「まとめ」を記述します。

前提

目的

会社で OJT のメンターをすることになり、勉強のため購入しました。 勤めている会社では 1on1 が制度として導入されているため、あらためて 1on1 の目的と実践方法について学ぶことが主目的でした。

前提知識

以下のような組織論の書籍を読んだことがあり、組織論から生まれる業務への効果について強い興味を持っています。

  • エンジニアリング組織論への招待
  • Team Geek
  • How Google Works
  • Engineers in VOYAGE
  • Learn or Die 死ぬ気で学べ プリファードネットワークスの挑戦

読了時間

文字が大きく、行間も広かった(物理的に)のと、主目的の部分があまりなかったので、3 時間もかからず読み終えたと考えています。

感想

全体的に、これから 1on1 を導入しようとしている企業が、簡単に 1on1 でやること、効果、1on1 を導入するに当たっての課題などを学ぶための本だと思いました。 しかし、具体的に「1on1 の最中は何を重要視して進めるのか」といった部分が薄く感じました。なので、実践していて効果を実感できないため改善したい人には学ぶことがない本だと思いました。 自身も、主目的を果たすことができませんでした。

良い点としては、会社ですでに実践されている 1on1 の主目的が簡潔にまとめられており、よい振り返りになりました。 特に、以下の第 1 章のまとめは、意識しないとすぐに忘れてしまう部分のため、この部分はなんども読み返そうと思いました。

  • 1on1 では、部下に十分に話をしてもらうことが大事である。きちんと部下と向き合って話す
  • 部下の言葉を先取りしたり、途中で遮って自分の考えを話さない。それでは部下の学ぶは深まらない
  • 1on1 は部下の成長のために行うものであり、上司が状況把握をするためのものではない
  • 否定はつねに NG ではないが、上手に否定しないと上司依存、つまり部下は上司の指示を待つようになる。それでは部下は考えなくなり、学びは深まらない
  • 次の行動=問題への対処法について、部下より先に上司が示してはならない

悪い点としては、ビジネス書でよくあることですが割と「まとめ」の部分で満足できる内容なことと、導入した会社のポジショントークが含まれているので、熟読する必要があるかと言われたら微妙でした。 また、勤めている会社がすでに 1on1 導入済みなので、「どのように導入するか」は関心事じゃなかったのも、個人的には悪かった部分です。 他には、2017 年に書かれた本なので、リモートワーク化でどのように受け止められるようになったのか気になりました。

次に組織論関連で勉強すること

以下の実践的なことが書かれた本を読もうと考えています。

  • シリコンバレー式 最強の育て方 ― 人材マネジメントの新しい常識 1 on1 ミーティング―
  • 1on1 大全

まとめ

  • 1on1 をやったことがない人には学ぶことがある本。主目的を定義できる
  • 目的も知っており既に実践しているけど効果を実感できていない人には学ぶことがない本
  • ポジショントークも多めなので、割と内容が薄くて、章のまとめで十分なところも多かった

2022年6月の目標

概要

6 月の目標です。

生活習慣

ジム通います。ベンチプレス、スクワット、デッドリフト全ての重さにおいて継続です。 あまり回数をこなせていないので、安定して持ち上げられるようにします。 6 月中にベンチプレス 85kg は無理そうです。残念ながら諦めます。

種目 重量(今月トライする重量) 6 月時点の目標
ベンチプレス 80kg 85kg
スクワット 90kg 90kg
デッドリフト 90kg 90kg

勉強関連

以下を勉強していきます。

  • プログラミング言語
    • Go
      • 特になし
      • 「Go 言語による平行処理」をやるかも
    • Kotlin
      • Kotolin 初学者なのでキャッチアップ
      • Spring MVC + JDBC で RealWorld
      • Spring WebFlux + R2DBC で RealWorld
    • Next.js
      • 業務で使うので必要なときにキャッチアップ
  • 注力分野
    • ドメイン駆動設計
      • 業務で実践
      • 「10 分 DDD」を見る
    • セキュリティ
      • 「安全な Web アプリケーションの作り方」(徳丸本)勉強会
    • DB
      • 今月は注力しない予定
  • Computer Science
    • 「Go 言語による平行処理」を読むかも

読書

以下の予定。資格関連の書籍も読む予定です。

  • 「安全な Web アプリケーションの作り方」
  • 「Go 言語による平行処理」

美術展

  • 「ブルーピリオド展」

技術記事の作成

毎週 1 記事(金曜日がある週を 1 週とカウント)投稿。 今月は 4 記事目標。