I've been really fortunate through the years to be surrounded by people who are dedicated to continuous learning and improvement. A few years ago, I put together a reading list as part of an engineering department reboot. I updated it late last year. I have rough reading/discussion times for some of it. What am I missing?
Notes
- Video time slots are roughly 80% watching, 20% discussion
- Reading time slots are roughly 66% reading, 33% discussion
- Long chapters are broken up into 2 sessions
Agile
Clean Code
- Video: Clean Code Episode 1: Clean Code - 1.25 hours
- Covers Clean Code Book Ch.1: Clean Code
- Video: Clean Code Episode 2: Names - 1 hour
- Covers Clean Code Book Ch.2: Meaningful Names
- Video: Clean Code Episode 3: Functions - 1.25 hours
- Covers Clean Code Book Ch.3: Functions
- Video: Clean Code Episode 4: Function Structure - 2 hours
- Video: Clean Code Episode 5: Form - 1.5 hours
- Video: Clean Code Episode 6: Testing part 1 - 1.25 hours
- Video: Clean Code Episode 6: Testing part 2 - 1.5 hours
-
- Video: Clean Code Episode 7: Architecture - 1.75 hours
- Video: Clean Code Episode 8: Foundations of the SOLID principles - 1.25 hours
Refactoring
- Chapter 1 - Refactoring, a First Example - 45 minutes
- Chapter 2 - Principles in Refactoring - 1.5 hours
- Chapter 3 - Bad Smells in Code - 45 minutes
Effective Java (2nd edition)
- Chapter 4 - Classes and Interfaces - 1.5 hours (est)
- Chapter 7 - Methods - 45 minutes (est)
Domain Driven Design
Microservices
- Video: The Practical Implications of Microservices - by Sam Newman, the author of “Building Microservices” - 1.25 hours
- Video: Deploying and Testing Microservices - also Sam Newman - 1.5 hours
- Building Microservices book
- Chapter 1 - Microservices - 45 minutes
- Chapter 3 - How to Model Services - 45 minutes
- Chapter 4 - Integration
- Part 1: Beginning of chapter through "Downsides to REST over HTTP" - 2 hours
- Part 2: "Implementing Asynchronous Event-Based Collaboration" through end of chapter - 2 hours
- Chapter 5 - Splitting the Monolith
- Part 1: Beginning of chapter thru "So What to Do?" - 1.5 hours
- Part 2: "Reporting" thru end of chapter - 1.5 hours
- Chapter 7 - Testing
- Part 1: Beginning of chapter through "The Metaversion" - 1.5 hours
- Part 2: "Test Journeys, Not Stories" through end of chapter - 1.5 hours
- The Twelve-Factor App - 1.5 hours
Testing
REST/API design
Event Sourcing/CQRS
Continuous Delivery
- Chapter 1 - The Problem of Delivering Software
- Chapter 2 - Configuration Management
- Chapter 7 - The Commit Stage
Working Effectively with Legacy Code
- Chapter 4 - The Seam Model
- Chapter 9 - I can't get this class into a test harness
- Chapter 13 - I need to make a change, but I don't know what tests to write
Further Reading
- Agile Software Development (If you don't have access to this book, see Uncle Bob's blog about SOLID principles)
- Chapter 7 - What is Agile Design?
- Chapter 8 - SRP: The Single-Responsibility Principle
- Chapter 9 - OCP: The Open-Close Principle
- Chapter 10 - LSP: The Liskov Substitution Principle
- Chapter 11 - DIP: The Dependency-Inversion Principle
- Chapter 12 - ISP: The Interface-Segregation Principle
- Implementing Domain Driven Design
- Ch. 4: Architecture
- Ch. 5: Entities
- Ch. 6: Value Objects
- Ch. 7: Services
- Ch. 8: Domain Events
- Ch. 9: Modules