2022年を振り返る

こんばんは、今回の年末年始は実家でダラダラする時間がいっぱいあったので、2022年を振り返ってみました。

読んだ書籍

何を振り返ろうかなと考えたんですが、書籍を結構な数読んでたなぁと思ったので読んだ書籍を振り返ってみました。
こう見ると全般的に分野がバラバラでしかも熟読できてないので、身についたと感じていないのが悩ましいですねーー

情報処理教科書 システムアーキテクト 2022年版

https://www.seshop.com/product/detail/24648

IPAのシステムアーキテクト試験を受検するために読みました。正直過去問での準備がメインだったのでこの書籍はあんまり参考にはなってないです、、

AWS認定ソリューションアーキテクト-プロフェッショナル ~試験特性から導き出した演習問題と詳細解説

https://www.amazon.co.jp/dp/4865942483

AWSのソリューションアーキテクトプロフェッショナルを受験するために読みました。
この本の情報量だけ覚えてもおそらく合格には達しないと思うので注意しないといけないです。この本で概要を把握した後にBlackBeltの読み込みやudemyの過去問を解いたりなどが必須になると感じています。
各サービスの概要をさらうにはとても良い本で、Route53のルーティング種類やS3のストレージ種類が網羅的にまとまっていたのが記憶に残ってます。

ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ

https://www.amazon.co.jp/ソフトウェアアーキテクチャの基礎-―エンジニアリングに基づく体系的アプローチ-Mark-Richards/dp/4873119820

ここ最近ずっとシステムのアーキテクチャに強い興味があったので、発売後すぐに買って読みました。
前半に書かれたシステムアーキテクトの定義・考え方や中盤のアーキテクチャのパターン(特にモジュールをドメインで分割するか技術で分割するかの話)が印象に残っています。これを読むとアーキテクトの仕事がより具体的に想像できるのでアーキテクトになってみたくなりますね!

LeanとDevOpsの科学(Accelerate) テクノロジーの戦略的活用が組織変革を加速する

https://www.amazon.co.jp/LeanとDevOpsの科学-Accelerate-テクノロジーの戦略的活用が組織変革を加速する-impress-gear/dp/4295004901

たまに聴いてるtexta.fmで紹介されてたので読みました。ずっとこの書籍の存在は知ってたけど目新しいことがないと思い込んでましたがめちゃくちゃよかったです。組織のパフォーマンスを上げるにはどのような要因や能力(capability)があるかをメインに書かれているんですが、調査結果に基づいて定量的にまとめられているのが本当に面白かったです。

はじめて学ぶソフトウェアのテスト技法

https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E6%8A%80%E6%B3%95-%E3%83%AA%E3%83%BC%E3%83%BB%E3%82%B3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%B3%E3%83%89/dp/4822282511

今年はDjangoを本格的に利用し始めましたが、フルスタックFWであるDjangoのテストコードを初めて書く際に、どういうことを気をつけてテストを書くべきなんだろうと改めて思ったので買って読みました。結果的にはその疑問は解決してくれませんでしたが、テストの種類や特徴がわかりやすくまとめてくれており読みやすかったです

Kotlinプログラミング

https://www.shoeisha.co.jp/book/detail/9784798160191

すでに上げた通り今年はPythonを本格的に書くことが増えたんですが、自分の望む機能がPythonにはなくてしっくりきませんでした。Kotlinならxxxxやyyyyがあるのになーと何回か思い出したのでそれをきっかけに読み始めました
3年前くらいに一度読んでいたけどそれでも新しい発見が多かった。たとえば反変共変の話など。
反変共変の話をもっと深く知りたかったけど何を読めばいいかわからずほったらかしになってることを書いていて思い出しました….
やっぱりKotlinはいいですね。interfaceがあったりスコープ関数があったりnullチェックがあったり。

圏論の道案内 ~矢印でえがく数学の世界~

https://gihyo.jp/book/2019/978-4-297-10723-9

飲み会のノリでみんなで圏論を勉強し始めました笑
この本だと数学の知識が数学3Aから止まってる僕でもある程度理解できたのでそこはこの本で良かったと感じますね。 けど結局モノイド準同型の部分で理解が止まってしまった、、、 やっぱり数学ちゃんとやっておくべきやったかな…
あと、文中の登場人物同士の会話が辛辣でツボったw、この会話は永遠と読んでいられる気がします

達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践

https://www.amazon.co.jp/%E9%81%94%E4%BA%BA%E3%81%8C%E6%95%99%E3%81%88%E3%82%8BWeb%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0-%E3%80%9CISUCON%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E8%97%A4%E5%8E%9F-%E4%BF%8A%E4%B8%80%E9%83%8E/dp/4297128462

この分野に関しては自分の知識が薄いと自覚しているのでスキルアップのために買いました。前半はパフォチューの考え方、中後半はいろんな対策例が記載されていた。
具体的にどういう手段でチューニングが行われているのかよく理解できたので満足していますが、それらを実践する場がなくて定着せず忘れてしまいそう…
あとISUCON出てみたい

セキュア・バイ・デザイン 安全なソフトウェア設計

https://www.amazon.co.jp/%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%BB%E3%83%90%E3%82%A4%E3%83%BB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-Dan-Bergh-Johnsson/dp/483997599X

fukabori.fmで値オブジェクトが議論された回があってそれをみて値オブジェクトを調べててこの本に行き着きました。
値オブジェクトにはPoEAAの値オブジェクトとDDD文脈での値オブジェクトの2種類がありますが、この本ではDDD文脈の値オブジェクトが紹介されています。また、これを発展させて著者が新しくドメインプリミティブという概念を作ってました。
セキュリティを向上させる面に注目して様々なドメイン駆動設計に沿ったテクニックが紹介されていて面白かったです。あと fluent interface がとても記憶に残ってます

良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方

https://www.amazon.co.jp/%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89-%E6%82%AA%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E5%AD%A6%E3%81%B6%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80-%E2%80%95%E4%BF%9D%E5%AE%88%E3%81%97%E3%82%84%E3%81%99%E3%81%84-%E6%88%90%E9%95%B7%E3%81%97%E7%B6%9A%E3%81%91%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9-%E4%BB%99%E5%A1%B2/dp/4297127830

Twitterで話題になってたので買って読みました
内容は(自分にとっては)設計というには少しミクロな内容に感じます。あと値オブジェクトの説明はいろいろな人から指摘されてるので注意した方が良いです。
ただ、だけど好みの問題も多いですが全体的にめちゃくちゃ頷ける内容がてんこ盛りなので読んで損しません! これを読んだ後に合わせていろんな人が書いた書評ブログを読むとより理解が深まると感じます

システム運用アンチパターン

https://www.oreilly.co.jp/books/9784873119847/

社内でも保守運用の割合が徐々に増えたり運用のトラブルがあったりと保守運用の重要性を感じてる中で誰かのブログでこの本が激推しされていたので買って読みました。 予想した通り、保守運用の中で実践できる内容が多くありましたし、オンコールやポストモーテムの話など(一部は受託開発では適用しにくいところもあったが)組織づくりにも言及している章が多くありました。
この書籍を読むと社内slackに書いたら勉強会が定期開催されてとても嬉しかったです。 特にディスカッションが有意義で一人で読み進めるのに比べて深く身についたと感じてます。
ただ、少し冗長な書き方が多く読みにくかったです、オライリー本はそういうの多いなぁ…

ハッカーと画家

https://www.amazon.co.jp/%E3%83%8F%E3%83%83%E3%82%AB%E3%83%BC%E3%81%A8%E7%94%BB%E5%AE%B6-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E6%99%82%E4%BB%A3%E3%81%AE%E5%89%B5%E9%80%A0%E8%80%85%E3%81%9F%E3%81%A1-%E3%83%9D%E3%83%BC%E3%83%AB-%E3%82%B0%E3%83%AC%E3%82%A2%E3%83%A0/dp/4274065979

プログラマのエッセイを読みたくなったので書いました。 2章と10章以降が面白かったので読みましたが、他の章はあまりnot for meだったので読んでないです。
エッセイに興味を持ったのは、チームメンバーが建築とプログラミングの関係性(デザインパターンはもともと建築の用語で〜みたいな話)について語っていて面白いと思ったからですね。大学の時ここらへん習った気がするのに何も覚えてないのが悲しい…

現場で使える Django REST Framework の教科書(第2版)

https://booth.pm/ja/items/1559869

すでに書いた通りDjangoやDjangoRestFrameworkをガッツリ利用する機会があったので買いました。 DRFは独自の考え方が必要とされているしリクエストを処理するフローが独特なので初学者にとってとっつきにくいと感じますし、即戦力が求められる状況でしたが、この本を読んだことで学習コストを圧倒的に下げることができたと思います。それでもまだまだ分からないことが多いですが、、
ちなみにDjango自体もほぼ初めてでしたが、思想や機能は他のフルスタックフレームワークと変わらないので、都度調べる方法でも全く困らなかったです

Processing クリエイティブ・コーディング入門 - コードが生み出す創造表現

https://www.amazon.co.jp/Processing-%E3%82%AF%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%83%BB%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E7%94%9F%E3%81%BF%E5%87%BA%E3%81%99%E5%89%B5%E9%80%A0%E8%A1%A8%E7%8F%BE-%E7%94%B0%E6%89%80-%E6%B7%B3/dp/4774188670

なんかのテレビ番組を見てなんかの芸術家の自己表現に憧れを抱いて、プログラマである自分にはクリエイティブコーディングがあるじゃないかと気づいたので買いました。
読んでコード書いて試せるので、時間を忘れて楽しく夢中になってました!めちゃくちゃおすすめです!(これ系の他の書籍読んだことないですけど

キャリア

前年と変わらず要件定義やったり設計やったり実装やったりしてますが、採用や役職相応の仕事は他の人が担当することになったのでキャリアとして良い方向になっていると感じました。
ただ、なんでしょうねー、技術的には満足してるんですが事業的にはあまり満足できていないなぁと感じます。自分が1ユーザーになれるサービス・ソフトウェアを何か作ってみたり大きく貢献したいなぁと切実に感じます。ただの1ユーザーというよりかは熱狂的なユーザーですかね。。
今ちょうど考えているのは、インディーゲームがとても好きなのでボランティアでもいいから何かしら貢献したい…

事業にこだわるのは受託開発の会社だと難しいのかもしれないですね

あと具体的な肩書/役職で言うと、システムアーキテクトやエンジニアリングマネージャーになりたいなぁと強く思います。前者はシステム全体を包括的にみる、後者はエンジニア全体を包括的にみる、っていう違いがあるのかなと思いますけどいずれにしてもシステムに関しては深い造詣が必要だと思います。
あとここ数年でわかってきたけど顧客折衝は得意ではないな…自分は、 何かを失う代わりにそれ以上の何かを得る提案 を交渉の場で即座に考えることができなくてひたすらなんらかを達成するために考える、みたいな考え方しかできてない。 今年はなんとかうまくなりたい…

あともうちょっとアウトプット増やしたいですね。読んだ書籍の数に比べてブログのアウトプットの数が少なすぎる…
インプット過多になると、開発規模やチームメンバーのスキルに見合わない仰々しい設計/アーキテクチャを導入してしまったり、最終的には行動が伴わない言葉だけの老害おじさんになったりするので本当に気をつけたいです

プライベート

今年は辛いことが一度ありましたが前年よりかは充実してた気がします、貧乏気質でケチなのでこれ以上QOLが高まる必要性をほとんど感じてません

あと、改めて友達や家族は大事、仕事はその次だと思いました。
あと、他人に弱みを見せられない人っているんだなと感じた。これについても何か自分が社会に貢献したいですね…

まとめ

2022年一瞬でしたね…

tech 

See also