最近何をインプットをしているんですか?と聞かれることがあるので、どういう分野のインプットをしているのか?それはなぜなのかを公開したいと思う
3ヶ月ごとにアップデートできるぐらいが理想だと思っているが、野望を抱きすぎかもしれない。
とりあえず2022年後半ぐらいでインプットしたものと、今からインプットしたいものを一気に記載したいと思う。
エンジニアリング中心のインプットのみを記載し、経営全般のインプットはここでは一旦取り上げないこととする。
- 仕事関連(ソフトウェア・エンジニアリング系)
- アーキテクチャ・設計系
- ソフトウェア(コーディングの)アーキテクチャ
- 分散サービス・マイクロサービス
- セキュリティ
- セキュリティ全般
- 認証・認可
- IdP・MDMなど
- 暗号
- ログ分析
- 運用・インシデントレスポンス
- エンジニアリング・マネジメント
- エンジニアリング
- 組織マネジメント系
- 開発手法
- 趣味関連(ソフトウェア以外)
- 低レイヤー系
- ブロックチェーン系(2023年)
- 技術系(こちらはほぼ未読)
- ビジネス・概念系
- 最後に
仕事関連(ソフトウェア・エンジニアリング系)
仕事関連は、大きく分けて、
- ① アーキテクチャ・設計系(マイクロサービス等)
- ② セキュリティ系
- ③ エンジニアリングマネジメント系
に分かれている。 それぞれ、何を考えてインプットしているのかまとめていく。
その他の細かいものも入れるともっとインプットしてはいるが、きりがないのでざっくりまとめておく
アーキテクチャ・設計系
2022年は、PharmaXの事業が2事業部体制になり、さらに2022年末には新規事業?も開始したので、プロダクト全体で少しマイクロサービスを意識せざるを得なくなってしまった。
ソフトウェア(コーディングの)アーキテクチャ
ソフトウェアをコーディングする上でのアーキテクチャは去年散々勉強したので、今年はペースを落としている。
どちらかと言えば、後述するインフラも含む、アプリケーションアーキテクチャのインプットを増やした。
- セキュア・バイ・デザイン: 安全なソフトウェア設計
- WEB+DB PRESS オブジェクト指向神話からの脱却
分散サービス・マイクロサービス
分散サービス、マイクロサービスの領域は、新しい本が出るたびぐらいには読むようにしている(出版スピードが早くてちょっと追いつかなくなってきた)。
今年末〜来年にかけては、マイクロサービスからの揺り戻しが本格化しそうで、かなり注目している。
LayerXさんの取り組みを始めとして、来年はめっちゃ面白い話を聞けそうだ。
- Go言語による分散サービス ―信頼性、拡張性、保守性の高いシステムの構築(読みたい)
- マイクロサービスパターン
- ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析
- 今年一勉強になった本の1つ
- モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド
- マイクロサービス インアクション
セキュリティ
今年の末は、PharmaXでも本格的にゼロトラストモデルのセキュリティ対策に舵を切り始めた転換期だった。
個人的には、古き良き境界防御モデルにはあんまりワクワクしない(という人が多いだろう)が、ゼロトラストモデルにはかなりワクワクする。
ゼロトラストモデルは、クラウド・AIネイティブなセキュリティモデルだと言えるだろう。
その特徴から、従来の境界防御モデルとは違って、メンバーの生産性を下げずに、セキュリティを高めることができる。
業務上使えるクラウドソフトウェアが増えることによって、オペレーションの効率化などを実現することができるはずだ。 PharmaXは、リモート薬剤師を中心とした薬局オペレーションを構築しており、ゼロトラストモデルを前提としたオペレーションを示していきたいと思う。
セキュリティ全般
- ゼロトラストネットワーク[実践] 入門
- ゼロトラストの入門としては、ほぼ完璧ではないか。読みやすいし
- ゼロトラスト大全
- ホワイトハッカー入門(年末読む)
- 情報セキュリティの敗北史(今読んでる)
認証・認可
- 雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド
- OAuth2.0についてはまずこれ
- 「Auth0」で作る!認証付きシングルページアプリケーション (技術の泉シリーズ)
- 実装方法がざっくり分かる
- SAML入門
- SAML認証については、これぐらいしかない
- 認証サービスCognito Auth0 Firebaseを比べる
- 人気の認証系サービスの全体像と現在地がざっくり分かる
- 認証と認可 Keycloak入門 OAuth/OpenID Connectに準拠したAPI認可とシングルサインオンの実現
IdP・MDMなど
- マスタリングOkta
- PharmaXでは、IdPとしてOktaではなく、AzureADを使っているが、IdPで何ができるかという勉強には十分になった
- ひと目でわかるAzure Active Directory
- 最新版の設定の仕方がまるっと分かる
- ひと目でわかるIntune
暗号
- 暗号技術入門 第3版 秘密の国のアリス
- マスタリングTCP/IP 情報セキュリティ編 (第2版)(読みたい)
ログ分析
- セキュリティのためのログ分析入門
運用・インシデントレスポンス
- 詳解 インシデントレスポンス(今読んでる)
- CISOハンドブック(年末読む)
エンジニアリング・マネジメント
エンジニアリング
- Googleのソフトウェア・エンジニアリング
- プログラミングとエンジニアリングのち外から始まって、どのようにエンジニアリングのトレードオフを判断していくのか、どのようにトレードオフを正しく判断できる組織を作るのかに焦点がある。
組織マネジメント系
- エンジニアリング・マネージャーの仕事
- ここ数年話題のEMの仕事について書かれている本。
- EMやテックリードの仕事の定義は会社によっても異なるが、この本におけるEM組織・ヒューマンマネジメントに焦点があたっている
開発手法
- 組織を芯からアジャイルにする
- ゾンビスクラムサバイバルガイド
社内ではかなり力を入れて議論していると思ったが、日本で出版されている本はすでに読んでいるものも多く、今年度の後半というと案外読んでいないことに気がついた。
振り返ってみると、他社の記事を多めに読んでいた。
この分野での、社内での議論の結果は、近々公開できると思っているので楽しみ。
趣味関連(ソフトウェア以外)
ソフトウェア以外では、大きく分けて、
- (OSなどの)低レイヤー系
- ブロックチェーン実装・技術系
に分けて認識している。
もうかれこれ7〜8年続けている統計・機械学習系の勉強は少しスローダウンして、他のことをインプットしてみたいと思っている。
低レイヤー系
個人的には、どちらかと言えば原理・原則主義者よりの人間なので、応用力をつけるためには、基礎力をつけるべきだと考えている派だ。
Railsなどのフレームワークを使って、ソフトウェアを実装しているだけでは、ネットワークやサーバーの仕組みなどの基礎力はつかない。
だが、基礎力さえあれば、その上に乗っかるアプリケーション(応用)は、ある程度のものには対応できると考えている。
このあたりは、忙しい中で焦って勉強しようとしても無理があるので、徐々に知識をつけていければいいと考えている。
読んでみてオススメする本は、例えば、
- [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】
- 定番中の定番本の改正版が今年出たので、読んでみたが、図も豊富でわかりやすくなっている!
- Goならわかるシステムプログラミング 第2版
- コンピュータシステムの理論と実装
- 名著の呼び声も高いが、これは確かに名著
- 12ステップで作る組込みOS自作入門(読みたい)
その他、自作PCを作ってみることで、PCの中身がどうなっているのかイメージが付くので、一度やってみることはオススメ(一度やれば完全に理解した状態になれる)したい。
ブロックチェーン系(2023年)
趣味でやっている勉強会 の方で、過去一年、ソフトウェア・クラウド・統計・機会学習あたりを中心に発表してきたが、一周回った感もあるので、別のことを発表しようということになった。
そこで、ずっと目をつけてきたブロックチェーン系とVR・AR系のどちらかの技術を勉強しようかと議論し、ブロックチェーン系にすることにした。
我々がやりたいのは、web3ビジネスではなく、その基礎となる技術そのもののインプット・アウトプットなので、アプリケーションでどうこうしようというわけではない。
技術系(こちらはほぼ未読)
- 詳解 ビットコイン ―ゼロから設計する過程で学ぶデジタル通貨システム
- プログラミング・ビットコイン ―ゼロからビットコインをプログラムする方法
- Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門 (KS情報科学専門書)
- SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで
- マスタリング・ライトニングネットワーク ―ビットコインの迅速な支払いを実現するセカンドレイヤーブロックチェーンプロトコル
- ビットコインとブロックチェーン:暗号通貨を支える技術
- マスタリング・イーサリアム ―スマートコントラクトとDAppの構築
- ブロックチェーン技術概論 理論と実践 (KS情報科学専門書)
ビジネス・概念系
最後に
今年最も勉強になった本ベスト3を発表するなら、
- Googleのソフトウェア・エンジニアリング
- ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析
- ゼロトラストネットワーク[実践] 入門
でしょうか。
本以外で、至るところで激推ししているのは、LayerXの松本さんがやっているpodcastの『LayerX NOW!』です。
特に最近では、#60 Enabling Teamが実現したい爆速開発とソフトウェアアーキテクチャの一歩先 が、やばいぐらい勉強になりました。
他社事例のインプットのススメについては、別記事で出したいと思います。