こまぶろ

技術のこととか仕事のこととか。

『Release It!』の次に読みたい(読むとは言ってない)英語の技術書

最近、英語の勉強を改めてしていて、その一環として少しずつ読んでいた『Release It!』の2版を一周しました。

英語の本を読むのは続けていきたいと思っているのですが、日本語の本ほどのスピードではまだ全然読めないので、「これ!」という少数の本を読んでいく方針で当面は進めようと思っています(せっかくオライリーのサブスクを契約しているので、たくさんの本を拾い読みするというのもアリなのですが)。

そこで、次に読む本を考えていくにあたって、せっかくなので候補に挙がっている書籍をリストアップしておきます。

「これは翻訳の予定があるよ」というものはこっそり教えてください(無茶言うな)

Dynamic Reteaming

『チームトポロジー』でしばしば言及されていた本。

オライリーのサブスクでオーディオブックを少しずつ聴いている限りでは、事例が結構厚めな印象を持っている。固有名詞の入っているところばかり耳に残っているだけという説もありますが・・・

I. What Is Dynamic Reteaming?
1. The Evolution Of Teams
2. Understanding Teams
3. The Power Of Team Assignment
4. Reduce Risk And Encourage Sustainability
II. Dynamic Reteaming Patterns
5. One-By-One Pattern
6. Grow-And-Split Pattern
7. Isolation Pattern
8. Merging Pattern
9. Switching Pattern
10. Anti-Patterns
III. Tactics For Mastering Dynamic Reteaming
11. Adapt Your Organization For Dynamic Reteaming
12. Plan Your Dynamic Reteaming Initiative
13. After Dynamic Reteaming: Transitions And Team Calibrations
14. Reflect And Determine How To Shift
IV. Conclusion

永瀬美穂さんが翻訳してくれるのに期待している 👀

オライリーサブスクでも読める。

Dynamic Reteaming, 2nd Edition [Book]

Learning Domain-Driven Design

2021年11月に出たばかりのドメイン駆動設計に関する本。

オライリーサブスクで読める↓のレポートがよくまとまっていると評判なので、この書籍も期待できそう。目次を見た感じも良さそう。

www.oreilly.com

I. Strategic Design
1. Analyzing Business Domains
2. Discovering Domain Knowledge
3. Managing Domain Complexity
4. Integrating Bounded Contexts
II. Tactical Design
5. Implementing Simple Business Logic
6. Tackling Complex Business Logic
7. Modeling The Dimension Of Time
8. Architectural Patterns
9. Communication Patterns
III. Applying Domain-Driven Design In Practice
10. Design Heuristics
11. Evolving Design Decisions
12. EventStorming
13. Domain-Driven Design In The Real World
IV. Relationships To Other Methodologies And Patterns
14. Microservices
15. Event-Driven Architecture
16. Data Mesh

オライリーサブスクでも読める。

Learning Domain-Driven Design [Book]

Building Microservices

『マイクロサービスアーキテクチャ』の第二版。既に翻訳が進んでいそうな気がする。初版に比べてかなり分厚くなっているので大変そうですが・・・

オライリーサブスクでも読める。

Building Microservices, 2nd Edition [Book]

Software Architecture: The Hard Parts

kawasimaさんが読んでいるのを見て面白そうだなと思っている本。

1. What Happens When There Are No “Best Practices”?
I. Pulling Things Apart
2. Discerning Coupling In Software Architecture
3. Architectural Modularity
4. Architectural Decomposition
5. Component-Based Decomposition Patterns
6. Pulling Apart Operational Data
7. Service Granularity
II. Putting Things Back Together
8. Reuse Patterns
9. Data Ownership And Distributed Transactions
10. Distributed Data Access
11. Managing Distributed Workflows
12. Transactional Sagas
13. Contracts
14. Managing Analytical Data
15. Build Your Own Trade-Off Analysis

ほぼ同じ執筆陣のこちらの方を先に読んだ方が良い説もある。

Chapter 1: Introduction
Chapter 2: Architectural Thinking
Chapter 3: Modularity
Chapter 4: Architecture Characteristics Defined
Chapter 5: Identifying Architecture Characteristics
Chapter 6: Measuring and Governing Architecture Characteristics
Chapter 7: Scope of Architecture Characteristics
Chapter 8: Component-Based Thinking
Chapter 9: Architecture Styles
Chapter 10: Layered Architecture Style
Chapter 11: Pipeline Architecture
Chapter 12: Microkernel Architecture
Chapter 13: Service-Based Architecture
Chapter 14: Event-Driven Architecture Style
Chapter 15: Space-Based Architecture
Chapter 16: Orchestration-Driven Service-Oriented Architecture
Chapter 17: Microservices Architecture
Chapter 18: Choosing the Appropriate Architecture Style
Chapter 19: Architecture Decisions
Chapter 20: Analyzing Architecture Risk
Chapter 21: Diagramming and Presenting Architecture
Chapter 22: Making Teams Effective
Chapter 23: Negotiation and Leadership Skills
Chapter 24: Developing a Career Path

いずれもオライリーサブスクでも読める。

Software Architecture: The Hard Parts [Book]

Fundamentals of Software Architecture [Book]

Strategic Monoliths and Microservices

『実践ドメイン駆動設計』の Vaughn Vernon の最新刊。

イベント駆動やCQRSなど技術的な側面と、ビジネスの側面との両面にバランスよく触れられていそうな印象。

Part I: Transformational Strategic Learning through Experimentation
Chapter 1: Business Goals and Digital Transformation
Chapter 2: Essential Strategic Learning Tools
Chapter 3: Events-First Experimentation and Discovery
Part II: Driving Business Innovation
Chapter 4: Reaching Domain-Driven Results
Chapter 5: Contextual Expertise
Chapter 6: Mapping, Failing, and Succeeding—Choose Two
Chapter 7: Modeling Domain Concepts
Part III: Events-First Architecture
Chapter 8: Foundation Architecture
Chapter 9: Message- and Event-Driven Architectures
Part IV: The Two Paths for Purposeful Architecture
Chapter 10: Building Monoliths Like You Mean It
Chapter 11: Monolith to Microservices Like a Boss
Chapter 12: Require Balance, Demand Strategy

オライリーサブスクでも読める。

Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture [Book]

Modern Software Engineering: Doing What Works to Build Better Software Faster

『継続的デリバリー』の David Farley の新刊。彼の YouTube はときどき見ている。


www.youtube.com

Part I What Is Software Engineering?
1 Introduction
2 What Is Engineering?
3 Fundamentals of an Engineering Approach
Part II Optimize For Learning
4 Working Iteratively
5 Feedback
6 Incrementalism
7 Empiricism
8 Being Experimental
Part III Optimize For Managing Complexity
9 Modularity
10 Cohesion
11 Separation of Concerns
12 Information Hiding and Abstraction
13 Managing Coupling
Part IV Tools To Support Engineering In Software
14 The Tools of an Engineering Discipline
15 The Modern Software Engineer

オライリーサブスクでも読める。

Modern Software Engineering: Doing What Works to Build Better Software Faster [Book]

Building Secure and Reliable Systems

Amazonの「一緒に購入されている本」で見つけたもの。

Google の SRE本シリーズの第三弾。

目次を見た感じ、テーマが多いので個々の掘り下げはそこまでなのかな?という気がするけど、『Release It!』と近い感じで一読しておいて損はなさそう。

I. Introductory Material
1. The Intersection Of Security And Reliability
2. Understanding Adversaries
II. Designing Systems
3. Case Study: Safe Proxies
4. Design Tradeoffs
5. Design For Least Privilege
6. Design For Understandability
7. Design For A Changing Landscape
8. Design For Resilience
9. Design For Recovery
10. Mitigating Denial-Of-Service Attacks
III. Implementing Systems
11. Case Study: Designing, Implementing, And Maintaining A Publicly Trusted CA
12. Writing Code
13. Testing Code
14. Deploying Code
15. Investigating Systems
IV. Maintaining Systems
16. Disaster Planning
17. Crisis Management
18. Recovery And Aftermath
V. Organization And Culture
19. Case Study: Chrome Security Team
20. Understanding Roles And Responsibilities
21. Building A Culture Of Security And Reliability

オライリーサブスクでも読める。

Building Secure and Reliable Systems [Book]

おまけ: Brutal Refactoring

『レガシーコード改善ガイド』の Michael Feathers の幻の新刊(?)。

発売予定が示されてから発売が遅れに遅れ、今月発売予定になっているのだが、著者のTwitterなどでも全く情報が出てきておらず、本当に出るのかいまだに謎でした。

しかし、↓のインタビューの記録を読むと、これはどうも出版はされないようです。『レガシーコード改善ガイド』にはお世話になっているので楽しみだったのですが・・・

www.infoq.com

It feels like a whack-a-mole type thing because that is not a real book. I gave a workshop on that in Chicago. I forgot how many years ago, but somebody has put that up as a page on Amazon and I need to go and figure out where to go and get that taken down.